在installshield basic msi的静默安装期间禁止消息框,但在可视安装期间允许它

时间:2013-06-11 22:55:54

标签: installshield messagebox installscript silent-installer basic-msi

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

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

2 个答案:

答案 0 :(得分:0)

正确的方法是使用MsiProcessMessage来显示消息,因为它可以正确显示窗口并且已经知道何时不显示消息。但是,如果您正在寻找对已有内容的最小更改,那么检查UILevel property可能会更容易实现。

答案 1 :(得分:0)

检查UILevel的另一种方法是检查模式。

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

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