链式安装



考虑这样一个情况,我有一个installshield软件,它通过链式安装安装。msi。设它是Setup-1。现在我有了另一个安装setup -2,它通过链接安装安装相同的。msi。

现在,如果我卸载安装程序中的任何一个(setup -1或setup -2),它正在卸载链接的msi。所以其他设置不能使用它,这就导致了一个问题。只有当两者都被卸载时,才应该卸载它。它应该类似于共享组件。

如何避免这种情况?

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

什么是先决条件?

这是一个单独的安装包,其中包含运行应用程序所需的资源。你的主安装程序将检查它是否已安装,如果它在机器上丢失,则安装它。

当你安装Setup-2时,它应该看到包已经安装,并跳过它。

当您卸载Setup-1或2时,不应该删除先决条件。因此,您的最终用户也需要手动卸载必备的软件包。

必须这样部署公共共享组件。像vc++ Redist, SQL Server Express等…

InstallShield有一个名为Suite Installers的项目类型,它提供了用于安装多个软件包的bootstrapper/chainer。其中一个特性是共享包的概念,InstallShield将对包进行引用计数,并根据您的需要删除它。

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

相关内容

  • 没有找到相关文章

最新更新