目前,只要更新到较新的版本号,所有升级都可以正常工作,但是在降级时我会遇到奇怪的行为。似乎它会卸载现有版本,然后部分安装我要安装的版本,目标位置中尚不存在主 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 安装程序对话框弹出。
最终的结果是,无论升级还是降级,都需要完全卸载当前版本,并完全安装下载的版本,所以如果有其他方法可以做到这一点,那也是一个很好的答案。