我创建了我们的软件安装程序维克斯,现在我从以前的Windows安装程序打包SW升级时有一定的问题。
问题之前有一两件事,从一个WIX包装SW另一个维克斯包装SW升级实际上是工作的罚款,我能够卸载旧版本并安装新版本。 当旧版本的Windows Installer封装(这是我们目前的解决方案)和较新的版本是维克斯包装真正的问题发生。 基本上我的WIX安装程序无法找出一个旧版本已经安装,所以较新的版本将在不卸载旧版本进行安装。
如何使维克斯安装程序和Windows安装之间的连接:我设置维克斯的作为的UpgradeCode相同的Windows安装一个。 我也查了一些在线的例子,他们建议我目前的解决办法应该工作。 这里是我的升级部分.wxs文件的一部分:
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion OnlyDetect="yes" Minimum="$(var.VersionNumber)" Property="NEWPRODUCTFOUND" IncludeMinimum="no" />
<UpgradeVersion OnlyDetect="no" Maximum="$(var.VersionNumber)" Property="UPGRADEFOUND" IncludeMaximum="no" />
</Upgrade>
<CustomAction Id="PreventDowngrading" Error="A software with newer version number is found on this machine" />
<InstallUISequence>
<Custom Action="PreventDowngrading"
After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
</InstallUISequence>
<InstallExecuteSequence>
<Custom Action="PreventDowngrading"
After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
<RemoveExistingProducts After="InstallFinalize" />
</InstallExecuteSequence>
有一件事可能是值得一提的是我们的SW实际上是一个Windows服务,我不知道这是否重要。 谢谢你的帮助!