[英]WIX installer Can't upgrade from previously installed Windows installer SW
我正在為我們的軟件創建一個WIX安裝程序,現在從以前的Windows Installer打包軟件升級時遇到了一些問題。
在問題出現之前,從一個WIX打包的SW升級到另一個WIX打包的SW實際上工作正常,我可以卸載舊版本並安裝新版本。 當舊版本打包Windows Installer(這是我們當前的解決方案)並且較新版本是WIX打包時,會出現真正的問題。 基本上我的WIX安裝程序無法找到已安裝舊版本的版本,因此將安裝較新版本而不卸載舊版本。
如何在WIX安裝程序和Windows安裝程序之間建立連接:我將WIX的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服務,我不確定這是否重要。 謝謝你的幫助!
擁有相同的升級代碼是不夠的。 您還必須檢查這兩個軟件包是否具有相同的安裝類型,即它們是按用戶還是按機器安裝的。 如果安裝類型不同,Windows Installer將跳過刪除舊版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.