捕获Installshield 2014 Suite中的msi错误

时间:2018-01-29 18:59:31

标签: windows-installer installer installshield basic-msi

我正在编写一个Suite安装程序,可以为不同的功能集安装多个基本的msi。我遇到一些问题,其中一个msi安装失败,因为某些dism函数没有正确安装并且它回滚整个Suite安装。

我想要做的是如果其中一个msi组件无法安装,我想抓住失败并让客户选择继续安装(没有发生故障的组件)或停止/回滚安装到目前为止。我无法弄清楚如何从Suite项目中的msi中捕获错误代码。

1 个答案:

答案 0 :(得分:0)

您没有说明您使用的是什么版本的InstallShield Premium。 InstallShield在引入项目类型后添加了许多功能。

添加MSI包时,应设置成功安装的检测过程。安装软件包后,Suite安装程序会测试此情况。如果是,则安装成功,否则失败。它不会从MSI收集错误代码。

如果你真正试图找出的是如何处理失败的DISM安装,那将取决于失败的原因。例如,存在一个已知问题,即由于DISM调用失败而导致返回值,.NET Framework 3.5将无法在Windows 10 Creators更新上安装。如果您有自己的Powershell调用或对DISM的托管代码调用,那么一种方法是编写自定义操作以设置套件属性值,并将其用作安装包,显示消息等的测试。