链式安装

发布于 2025-01-27 17:56:56 字数 193 浏览 2 评论 0原文

考虑一个我的安装罩软件的情况,该软件通过链式安装来安装.msi。假设它是设置1。 现在,我还有另一个设置设置-2通过链式安装安装相同的.msi。

现在,如果我卸载了一个设置(setup-1或setup-2),则它正在卸载链式的MSI。因此,另一个设置无法使用导致问题的情况。只有在卸载两者时,才应卸载。它应该像共享组件一样。

如何避免这种情况?

Consider a case where I have installshield software which installs a .msi through chained installation. Let's say it's Setup-1.
Now I have another setup Setup-2 which installs the same .msi through chained installation.

Now if I uninstall either of the setup (Setup-1 or Setup-2), it is uninstalling the chained msi. So the other setup cannot use it which leads to a problem. Only when both are uninstalled, it should be uninstalled. It should be something like shared components.

How to avoid this scenario?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧竹 2025-02-03 17:56:56

对于这种情况,最好使用先决条件的概念而不是链式包装。

什么是先决条件?

这是一个单独的安装软件包,其中包含您应用程序运行所需的资源。您的主安装程序将检查是否已安装,并在计算机中缺少它时将其安装。

安装Setup-2时,应该看到已安装软件包并跳过它。

当您卸载安装1或2时,不应删除先决条件。因此,您的最终用户也需要手动卸载先决条件包。

这就是必须如何部署共享的共享组件。诸如VC ++ REDIST,SQL Server Express等诸如...

For this scenario, it is better to use the concept of prerequisites instead of chained packages.

What is a prerequisite?

This is a separate installation package that contains the resources required by your application to run. Your main installer will check if this is installed and install it if it is missing from the machine.

When you install Setup-2 it should see the package is already installed and skip it.

When you uninstall Setup-1 or 2 the prerequisite should not be removed. So your end-user would need to manually uninstall the prerequisite package too.

This is how must common shared components are deployed. Things like VC++ Redist, SQL Server Express, etc...

要走就滚别墨迹 2025-02-03 17:56:56

InstallShield具有一个名为Suite Installer的项目类型,该项目类型提供用于安装多个软件包的Bootstrapper/Chainer。功能之一是共享软件包的概念,在该软件包中,installshield将参考将软件包计数并像您想要的那样删除。

https:///docs.revenera.com/installshield2helplibbibrary/sesharedpppppage >

InstallShield has a project type called Suite Installers which provides bootstrapper/chainer for installing multiple packages. One of the features is the concept of a shared package where InstallShield will reference count the package and remove it like you want.

https://docs.revenera.com/installshield22helplib/helplibrary/SteSharedPackages.htm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文