如果我们想在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,则当前安装是静默安装。