如何在用户取消时保留以前版本的应用程序 - Wix 安装程序升级

How to retain the previous version of app on user cancel - Wix Installer Upgrade

我有一个使用 Wix 的应用程序安装程序。 现在我需要在不卸载旧版本的情况下升级APP。所以我一直在用下面的方法升级我的APP,不用卸载。

<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<Upgrade Id="7c4d0532-0ee4-49e8-92f4-77792293fcab">
  <UpgradeVersion
     Minimum="1.0.0.0" Maximum="99.0.0.0"
     Property="PREVIOUSVERSIONSINSTALLED"
     IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>

并且在安装新版本的过程中,它会卸载应用程序并安装新版本。

但是当用户在卸载早期版本后立即取消向导时,整个应用程序将从 PC 丢失。 新版本安装被取消,旧版本被卸载。 没有回滚操作,不保留之前的版本

有什么方法可以在这种情况下保留以前的版本。

假设没有其他问题,RemoveExistingProducts 操作必须在 InstallInitialize 和 InstallFinalize 之间进行,以便事务回滚并重新安装旧产品。你没有说你的 REP 在哪里排序。

如果介于这两个操作之间,则问题可能是原始产品的重新安装失败。它刚刚被卸载,现在作为卸载的回滚正在重新安装,这种情况可能不是产品可以处理的。检查详细日志。