【问题标题】:How do I set the MSI exit-code to 0 if product is already installed using WiX?如果产品已使用 WiX 安装,如何将 MSI 退出代码设置为 0?
【发布时间】:2011-07-03 10:19:37
【问题描述】:

我的 WiX 设置中已经有以下行来检查当前版本是否已安装:

<UpgradeVersion OnlyDetect='yes' Property='NEWPRODUCTFOUND' Minimum='$(var.ProductVersion)' IncludeMinimum='no' />

MSI 退出并显示消息和退出代码“1638”。 但是,此 MSI 是将多个 MSI 链接在一起的引导程序的一部分 - 我希望引导程序继续并安装以下 MSI。

如何告诉 WiX/MSI 以退出代码 0 退出且没有消息对话框?

我可以修改引导程序,但更愿意将退出代码设置为 0。

(确切的退出代码是:ERROR_PRODUCT_VERSION - “已安装此产品的另一个版本。无法继续安装此版本。要配置或删除此产品的现有版本,请使用控制面板上的添加/删除程序。 ")

【问题讨论】:

    标签: wix windows-installer exit-code


    【解决方案1】:

    看来WixExitEarlyWithSuccess Custom Action 是你需要的。

    【讨论】:

    • 首先你的建议不起作用——问题是如果已经安装了完全相同的版本,则 msi 正在使用缓存的安装程序——我在 WiX 中所做的更改被忽略了。但是在卸载并安装了补丁版本之后,它就可以工作了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多