由于一些需求,要制作一个一启动就不要显示任何安装界面的安装包,更改InstallShield工程属性:
在安装工程中设置:Installation Designer-->Media-->Releases,在Setup.exe标签中找到:“setup command Line”,输入“-s”。
同时会带一个卸载的问题,造成无法卸载,因为在卸载的时候也是调用Setup.exe,这时候也变成了静默卸载,且在卸载的时候会有一个询问的提示框,是否确定卸载。但是这个框无法显示出来,一直卡在这里,造成最终卸载失败。解决办法:在创建卸载快捷方式的时候,命令行参数中加上参数:-r,这时就会自动弹出卸载界面。
对于InstallScript和InstallScript MSI工程类型,用if ( MODE = SILENTMODE ) 可以准确获取静默安装状态。
但是对于Basic MSI工程,建议是通过MsiGetProperty获取ISSETUP_UISEQUENCE_PROCESSED的Property值,如果该Property被设置,则是静默安装,在实际的操作过程中,通过代码获取到的ISSETUP_UISEQUENCE_PROCESSED Property都为空,所以无法作为是否为静默安装的判断条件,先给出解决的方法:
我们可以通过MsiGetProperty获取UILevel Property的值,如果这个值等于2,则当前安装是静默安装