簡體   English   中英

WIX安裝程序無法從以前安裝的Windows安裝程序SW升級

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM