【发布时间】:2010-12-05 10:10:57
【问题描述】:
目前,只要更新到较新的版本号,所有升级都可以正常工作,但是在降级时我会遇到奇怪的行为。似乎它会卸载现有版本,然后部分安装我要安装的版本,目标位置中尚不存在主 exe,但创建了宣传的快捷方式。当宣传的快捷方式打开时,它会完成安装(大概是进行修复),然后它会运行良好。
有人知道为什么会这样吗?
我的升级块如下所示:
<UpgradeVersion Minimum="0.0.0.0" Maximum="99.0.0.0" Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="yes" />
(IgnoreRemoveFailure 试图解决这个问题,但它似乎没有做任何事情)
在我的 InstallExecuteSequence 我有<RemoveExistingProducts After="InstallValidate" />
我还有Product Id="*" 和Package Id="*"
之所以需要降级是因为客户端应用程序需要运行与服务器相同的版本以确保兼容性,并且整个过程需要自动化,因此如果客户端/服务器版本在登录时不匹配用户只需单击“是”即可下载、安装和启动正确的版本。到目前为止,这适用于升级,但对于降级,需要一个额外的不直观的步骤,即手动重新启动应用程序,然后在启动之前看到一个 Windows 安装程序对话框。
最终的结果是,无论升级还是降级,都需要完全卸载当前版本,并完全安装下载的版本,所以如果有其他方法可以做到这一点,那也是一个很好的答案。
【问题讨论】:
-
即使在今天,我也有无穷无尽的问题。 WiX 添加了一个新的“MajorUpgrade”元素,它应该让事情更难出错。我们现在正在使用它,但即便如此,降级也存在与以前相同的问题。现在的不同之处在于它消除了几个罪魁祸首:(1) InstallExecuteSequence (2) UpgradeVersion 元素。
标签: wix windows-installer wix3 downgrade