【问题标题】:WIX installer. How to rollback/downgradeWIX 安装程序。如何回滚/降级
【发布时间】:2020-03-18 16:53:18
【问题描述】:

我有一个使用标准 MajourUpgrade 逻辑的 WIX 安装程序:

<MajorUpgrade Schedule="afterInstallInitialize" AllowDowngrades="no" DowngradeErrorMessage="!(loc.DowngradeErrorMessage)" AllowSameVersionUpgrades="yes" />

安装程序会收集一些文件并且还有一些自定义操作。我想知道是否可以自动回滚。例如:

如果我先安装 1.0.0.0 版,然后再安装 1.0.1.0 版。如何在不引入补丁的情况下将 1.0.1.0 的安装回滚到 1.0.0.0。我不想卸载然后重新安装旧版本。

先谢谢你了。

【问题讨论】:

    标签: wix windows-installer wix3.11


    【解决方案1】:

    首先,添加对WiXFailWhenDeferred Custom Action 的引用。这使您可以轻松地进行回滚以启用您的测试。

    其次,阅读Major Upgrade documentation。查看 afterInstallExecute 的描述并阅读链接的博客文章。

    IMO 设计一个几乎永远不会失败的安装并且只使用默认行为并接受有人可能必须重新安装原始版本是更安全的。如果您仍然想要您想要的行为,请确保您遵循组件规则。在您的测试中使用MSIENFORCEUPGRADECOMPONENTRULES property 来帮助提防组件规则违规。请务必测试全新安装和升级安装并比较文件集,以确保一切按您预期的方式运行。

    【讨论】:

    • 感谢您的回答。我决定现在不走这条路。它比它的价值更令人头疼。更容易接受用户有时可能需要重新安装。
    猜你喜欢
    • 1970-01-01
    • 2014-11-20
    • 2010-09-11
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多