自定义操作中的第三方exe - installshield

时间:2014-04-09 15:06:24

标签: installer install windows-installer installshield

我正在使用InstallShield创建一个msi安装包。

我有自定义操作来安装第三方exe。这个exe有一个UI,它会提示用户点击"是"或"否"。如果用户单击“否”,则不会安装该exe,但会继续安装msi。我想在用户中断第三方exe的安装后立即结束msi安装。

在任何一种情况下(无论用户是单击是还是否),返回值为1.所以我被卡住了。

你能帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

如果这是依赖项,请不要使用自定义操作进行安装。这就是seup.exe类型的bootstrapper的用途。他们安装必需的先决条件(如.NET框架和C ++运行时),然后启动MSI安装。

不使用自定义操作的另一个原因是放置自定义以安装此第三方exe的位置。如果你把它放在你的UI序列中,那么就不能对你的MSI进行静默安装(因为UI序列被抑制了),如果你把它放在执行序列中,如果基于MSI就会失败,因为你不能有递归的MSI安装(你的另一个)。

答案 1 :(得分:0)

EXE是否接受任何命令行参数才能使其静音?一般来说这是一件坏事,因为:

1)EXE可能会失败并给您的安装程序失败的印象。

2)可能会失败并吞下错误。

3)不记录到您的MSI日志,可能根本不记录。

4)MSI不知道EXE所做的更改,因此不支持Rollback,Resilency,Uninstall

这个清单一直在继续。

答案 2 :(得分:0)

安装第三方exe作为先决条件。 InstallShield允许您定义自己的先决条件,InstallShield的引导程序可以使用先决条件。