目前,只要更新到更新的版本号,所有升级都可以正常工作,但是在降级时我会遇到奇怪的行为.它似乎将卸载现有版本,然后部分安装我正在尝试安装的版本,目标位置中不存在主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 ...> <Product ...> <Property Id="REINSTALLMODE" Value="amus" /> <MajorUpgrade AllowDowngrades="yes" />