我如何知道(以编程方式)Installshield 安装程序何时静默 运行?
How can I tell (programmatically) when an Installshield installer is running silently?
我有 Installscript MSI 安装程序的历史记录(已被 Basic MSI 安装程序取代),当我卸载它们时,我需要知道卸载是否正在 运行 静默进行。我 运行 一些检查 .iss 文件是否存在的自定义代码(静默卸载所必需的),如果它们不存在,我会弹出一条消息,说文件不在预期的位置.问题是,当从控制面板(不是静默地)卸载程序时,此代码 运行s 并显示消息。所以我需要一个系统变量来告诉我它 运行ning 处于静默模式,所以当它不是时我可以抑制消息。
我找不到任何可以说明这一点的信息。有谁知道我可以用编程方式告诉我的方法吗?
假设您想从安装中检测静默安装,答案取决于项目类型:
- InstallScript 项目可以通过比较
MODE
system variable 和 SILENTMODE
来检查它们是否是 运行
- 基本 MSI 可以将
UILevel
property 与 2 进行比较
- InstallScript MSI 可以检查与上下文更相关的那个(使用 MsiGetProperty to retrieve
UILevel
, if necessary, but watch out in deferred custom actions; they'll need to pass it through CustomActionData)。
- 为了完整性,但不太可能与您的问题相关,套件可以参考
ISSilentInstall
property。
我有 Installscript MSI 安装程序的历史记录(已被 Basic MSI 安装程序取代),当我卸载它们时,我需要知道卸载是否正在 运行 静默进行。我 运行 一些检查 .iss 文件是否存在的自定义代码(静默卸载所必需的),如果它们不存在,我会弹出一条消息,说文件不在预期的位置.问题是,当从控制面板(不是静默地)卸载程序时,此代码 运行s 并显示消息。所以我需要一个系统变量来告诉我它 运行ning 处于静默模式,所以当它不是时我可以抑制消息。
我找不到任何可以说明这一点的信息。有谁知道我可以用编程方式告诉我的方法吗?
假设您想从安装中检测静默安装,答案取决于项目类型:
- InstallScript 项目可以通过比较
MODE
system variable 和SILENTMODE
来检查它们是否是 运行
- 基本 MSI 可以将
UILevel
property 与 2 进行比较
- InstallScript MSI 可以检查与上下文更相关的那个(使用 MsiGetProperty to retrieve
UILevel
, if necessary, but watch out in deferred custom actions; they'll need to pass it through CustomActionData)。 - 为了完整性,但不太可能与您的问题相关,套件可以参考
ISSilentInstall
property。