在Wix中创建自定义操作以用于静默安装

时间:2011-02-17 10:18:33

标签: wix windows-installer silent

我们使用Wix来创建我们的MSI安装程序。我们有一些自定义操作在通常使用GUI时使用安装程序时效果很好,但是当使用静默安装(使用“msiexec / qb / i”)时,自定义操作将不会运行。

如何让它们通过Wix工作?

3 个答案:

答案 0 :(得分:6)

我建议你阅读(如果需要,可以多次......起初我花了一些时间):

Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer

在撰写问题时需要考虑很多事情,详细信息请参见写得很好的文章。基本上,听起来你只是将自定义动作放在UI序列中,而不是执行序列,但除此之外还有其他一些事项,你应该确保你做得正确。

答案 1 :(得分:0)

他们根本不跑或失败?情况可能是它们不能以安静模式运行(参见UILevel属性)。如果它们失败,它们可能缺少来自完全UI模式的用户的一些输入信息(属性)。

无论如何,详细日志应该会为您提供更多信息。

答案 2 :(得分:0)

您可以在ExeCommand中设置“[UILevel]”并通过参数访问它。

 <CustomAction Id="customActionId" BinaryKey="InstallerProgram" ExeCommand="[UILevel]" Execute="deferred" Return="check" />


    static void Main(string[] args)
    {
     var uiLevel = args[0]; //==> [Here is the UILevel][1]
    }