0

我使用 InstallShield 2012 创建了一个基本的独立 msi 文件。在开始安装之前需要满足一个先决条件。为了检查这个先决条件,我创建了一个基于 InstallScript 的自定义操作并添加到序列中的第一个位置。如果检查失败,msi 应显示错误消息然后退出。因为 msi 将通过双击直接运行并通过 msiexec 静默运行,所以错误消息应该足够聪明,可以在直接安装期间启动消息框(UI 可用)并在静默安装期间抑制任何消息框(我使用“SpretfMsiLog " 将错误消息写入 msi 日志文件)。

我尝试使用“msiexec /qn”运行静默安装,但消息框仍然出现。有没有办法使用 InstallScript 代码检测安装模式,从而相应地隐藏/显示消息框?

4

2 回答 2

0

正确的方法是使用MsiProcessMessage来显示消息,因为它可以正确地作为窗口的父级并且已经知道什么时候根本不显示它。但是,如果您正在寻找对现有内容的最小更改,则检查UILevel 属性可能会更容易实现。

于 2013-06-12T12:04:21.627 回答
0

检查 UILevel 的替代方法是检查模式。

if (MODE == SILENTMODE) then 
...
endif;

说明:http ://helpnet.installshield.com/installshield18helplib/mergedProjects/installshield18langref/LangrefMODE.htm

于 2015-08-28T15:23:07.473 回答