0

我有两个 installshield 项目,我想问是否有可能将现有的 ism 项目包装在包装器 ism 项目中?!所需的功能是:当我使用自定义安装并选择安装嵌套项目时,它的行为就像我使用它的本机安装程序一样。我正在使用 installshield 2011 专业版。

感谢您的帮助。

4

2 回答 2

1

我遇到了同样的问题。我想要一个 installshield 项目来运行另一个 installshield 项目(它是一个更新程序),以便在安装第一个安装程序之前使软件保持最新。

我通过创建一个批处理文件解决了这个问题。

1) 用户启动安装 msi。

2)安装程序先决条件通过检查注册表检测到“必须安装以前的版本”并运行批处理文件

3)批处理文件杀死当前安装程序进程并运行第二个安装程序

4) 一旦第二个安装程序完成,批处理文件将重新运行第一个安装程序(通过使用批处理命令 START /WAIT,等待进程完成)

5) 现在安装了第二个安装程序,先决条件不会触发,您可以继续安装。

于 2016-07-14T13:27:37.790 回答
0

你可以,但要注意。如果您的两个项目都是 Basic MSI 或 InstallScript MSI,您将遇到 Windows Installer 一次只允许一个 MSI 的限制。最终结果是您可以通过 UI 序列中的操作安全地运行两者(如果它们以静默方式运行则失败),您可能可以使用 MSI 链接(我个人不推荐),或者打开其中之一将 MSI 打包成一个先决条件,否则您必须另谋出路。

一种选择是添加第三个项目,一个纯 InstallScript 项目,作为包装器。如果您走这条路,则必须考虑安装、维护和卸载所需的用户体验,包括决定程序和功能中显示的内容。请注意,在更高版本的 InstallShield 中,套件或套件/高级 UI 项目类型是为此而设计的,但仅限于 Premier 版。(专业版的高级 UI 项目类型只允许一个主包,你已经有两个了。)

于 2016-07-07T12:06:12.127 回答