代码改变世界

SOLUTION:InstallShield安装包工程中如何判断当前是否为静默安装(Silent Mode)

2011-09-29 15:10  Kevin.Wan  阅读(1485)  评论(0编辑  收藏  举报

如果我们想在InstallShield的安装包工程中添加静默安装(Silent Mode)的处理代码,那首先需要在代码内部获取当前状态是否为静默安装。

下面是InstallShield自带的帮助文档给出的方法:

 

其中对于InstallScript和InstallScript MSI工程类型,用if ( MODE = SILENTMODE ) 可以准确获取状态。

但是对于Basic MSI工程,建议是通过MsiGetProperty获取ISSETUP_UISEQUENCE_PROCESSED的Property值,如果该Property被设置,则是静默安装,在实际的操作过程中,通过代码获取到的ISSETUP_UISEQUENCE_PROCESSED Property都为空,所以无法作为是否为静默安装的判断条件,先给出解决的方法:

我们可以通过MsiGetProperty获取UILevel Property的值,如果这个值等于2,则当前安装是静默安装。