2011-05-03 206 views
5

我有一個msi安裝程序文件,它是針對windows安裝程序創建的。現在我想用Wix工具集創建這個安裝程序的新版本。問題是,安裝程序檢測到以前安裝的(明智的)版本,但無法升級它。我收到以下錯誤消息:無法使用wix安裝程序更新明智的安裝程序包

「此產品的其他版本已安裝,此版本的安裝無法繼續。要配置或刪除此產品的現有版本,請使用控制面板上的添加/刪除程序」

我在兩個安裝程序中設置了相同的升級代碼,並在wix項目中查找了產品代碼和軟件包代碼。我設置的升級信息如下:

<!-- Upgrade information --> 
<Upgrade Id="$(var.UpgradeCode)"> 
    <UpgradeVersion Property="NEWPRODUCTFOUND" 
        IncludeMinimum="no" 
        Minimum="$(var.ProductVersion)" 
        OnlyDetect="yes"/> 

    <UpgradeVersion Property="OLDPRODUCTFOUND" 
        IncludeMinimum="yes" 
        Minimum="0.5.0" 
        IncludeMaximum="no" 
        Maximum="$(var.ProductVersion)"/> 

    <UpgradeVersion Property="NEWERVERSIONINSTALLED" 
        IncludeMinimum="yes" 
        Minimum="$(var.ProductVersion)" 
        OnlyDetect="yes" /> 
</Upgrade> 

我也試圖確保通過設置InstallScope該產品將安裝爲所有用戶「perMachine」

<Package InstallerVersion="200" 
     InstallScope="perMachine" 
     Compressed="yes" /> 

我有其他所有版本都是使用wix創建的安裝程序項目,對於他們來說升級正常。

回答

1

確保您增加產品版本。只有較新的產品版本才能自動升級原始軟件包。

此外,請注意Windows安裝程序會忽略第四個版本字段(以防您正在使用它)。

+0

是的我增加了產品版本。我還嘗試了幾個場景,甚至增加了第一個版本字段,以確保這不會成爲問題。 – Emu 2011-05-03 10:59:42

+0

什麼是舊版本的產品?另外,你是否在一臺乾淨的機器上測試了這個?也許你的當前機器上安裝了一個破損的軟件包版本。 – 2011-05-03 11:28:00

+0

舊的產品版本是2.1.0.66,新的產品版本是2.2.0.67。我也試過3.2.0.67。 – Emu 2011-05-03 11:44:28