WIX安装程序。如何回滚/降级

问题描述 投票:0回答:1

我有一个使用标准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 msiexec advanced-installer wix3.11
1个回答
0
投票

首先,添加对WiXFailWhenDeferred Custom Action的引用。这使您可以轻松导致发生回滚以启用测试。

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

IMO,设计几乎永不失败并且仅使用默认行为并接受某人可能必须重新安装原始版本的安装更为安全。如果您仍然想要所需的行为,请确保遵循组件规则。在测试中使用MSIENFORCEUPGRADECOMPONENTRULES property可帮助您警惕违反组件规则的情况。请确保测试新安装的网络和升级安装,并比较文件集,以确保一切都按您期望的方式运行。

© www.soinside.com 2019 - 2024. All rights reserved.