我有一个使用Wix的APP安装程序。 现在我需要在不卸载以前版本的情况下升级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>
在安装新版本期间,它会卸载应用程序并安装新版本。
但是当用户在早期版本的unisntal化之后立即取消向导时,整个应用程序将从PC中丢失。 新版本安装将被取消,并且将卸载prvious版本。 回滚操作未发生,之前的版本未保留。
是否有任何方法可以在此方案中保留以前的版本。
答案 0 :(得分:4)
假设没有其他问题,则RemoveExistingProducts操作必须介于InstallInitialize和InstallFinalize之间,以便事务回滚并重新安装旧产品。你没有说你的REP在哪里排序。
如果它介于这两个操作之间,则问题可能是原始产品的重新安装失败。它刚刚被卸载,现在作为其卸载的回滚重新安装,并且该场景可能不是该产品可以处理的场景。检查详细日志。