【问题标题】:Determine if MsiExec run with /passive parameter确定 MsiExec 是否使用 /passive 参数运行
【发布时间】:2012-10-15 16:05:43
【问题描述】:

我有一个我继承的安装项目,它使用 ProjectInstaller AfterInstall 方法显示自定义表单,提示用户输入配置选项,然后将其保存在 app.config 文件中

有没有办法确定传递给 MSIExec 的标志,以便我们可以在使用 /passive 时禁止这种形式?

然后我们会在安装后将自定义 app.config 文件推送到服务器。

【问题讨论】:

  • 用户输入应该出现在 InstallUISequence 中,而不是在 InstallExecuteSequence 中的自定义操作中。

标签: c# windows-installer setup-deployment


【解决方案1】:

使用 UILevel 属性来确定安装程序在哪个 UI 级别运行。

摘自Determining UI Level from a Custom Action

具有对话框的自定义操作应仅在用户界面级别为 Full UI 或 Reduced UI 时显示对话框,如果用户界面级别为 Basic UI 或 None,则不应显示对话框。您应该使用UILevel 属性来确定当前的用户界面级别。

来自/passive option的描述:

等效的 Windows Installer Command-Line Option/qb!-,在命令行上设置了 REBOOTPROMPT=S

这意味着安装程序使用Basic UI 运行,没有显示模式对话框 (-),隐藏了取消按钮 (!)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 2012-02-03
    • 2014-05-27
    • 1970-01-01
    相关资源
    最近更新 更多