将InstallShiled项目添加到另一个InstallShield项目

时间:2016-07-06 14:11:42

标签: installshield installshield-2011

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

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

1)用户启动安装msi。

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

3)批处理文件终止当前的安装程序并运行第二个安装程序

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

5)现在已经安装了第二个安装程序,先决条件没有触发,您继续安装。

答案 1 :(得分:0)

你可以提出警告。如果您的两个项目都是基本MSI或InstallScript MSI,您将遇到Windows Installer一次只允许一个MSI的限制。最终的结果是你既可以通过UI序列中的操作安全地运行(如果它们以静默方式运行也会失败),你可以使用MSI Chaining(我个人不推荐),或转向其中一个MSI包进入先决条件,或者你必须找到另一种方式。

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