【问题标题】:How can I tell (programmatically) when an Installshield installer is running silently?我如何(以编程方式)知道 Installshield 安装程序何时静默运行?
【发布时间】:2021-01-16 00:05:24
【问题描述】:

我有 Installscript MSI 安装程序(已被基本 MSI 安装程序取代)的历史记录,当我卸载它们时,我需要知道卸载是否正在静默运行。我运行一些自定义代码来检查 .iss 文件是否存在(静默卸载所必需的),如果它们不存在,我会弹出一条消息,指出文件不在预期的位置。问题是,当程序从控制面板(不是静默)卸载时,此代码运行并显示消息。所以我需要一个系统变量来告诉我它在静默模式下运行,所以当它不是时我可以抑制消息。

我找不到任何能告诉我这一点的东西。有谁知道我可以通过编程方式告诉我的方法吗?

【问题讨论】:

    标签: installshield installscript-msi


    【解决方案1】:

    假设您想从安装中检测静默安装,答案取决于项目类型:

    • InstallScript 项目可以通过比较MODE system variableSILENTMODE 来检查它们是否在静默运行
    • 基本 MSI 可以将 UILevel property 与 2 进行比较
    • InstallScript MSI 可以检查与上下文更相关的那个(如有必要,使用MsiGetProperty 检索UILevel,但要注意延迟的自定义操作;他们需要通过CustomActionData 传递它)。
    • 为了完整起见,但不太可能与您的问题相关,Suites 可以参考ISSilentInstall property

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多