2014-11-04 35 views
2

我正在嘗試配置我的Wix Toolkit安裝程序以處理我的Visual Studio應用程序的升級。Wix MajorUpgrade不會檢測產品版本的最後位置

<?xml version="1.0" encoding="UTF-8"?> 
<?define ProductVersion = "5.0.0.115"?> 
<?define ProductUpgradeCode = "9880b0b8-b3b1-4fa6-b65e-d4ecff430248"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> 
<Product Id="*" Name="My Software" Language="1033" Version="$(var.ProductVersion)" Manufacturer="My Company" UpgradeCode="$(var.ProductUpgradeCode)"> 
    <Package Id="*" InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Comments="My Software version 5 installer" /> 

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 
    <MediaTemplate EmbedCab="yes" /> 

問題是0.115實際上與MajorUpgrade檢測。因此,例如安裝5.0.0.110版本,然後運行5.0.0.115安裝程序,在添加/刪除程序中它將列出5.0.0.110和5.0.0.115。如果我將版本更改爲5.0.115.0,則一切正常。

這是程序應該如何工作還是這是一個錯誤?

回答

5

不是WiX的問題。

這是在Windows Installer中設計的。 Windows安裝程序將只看:

major.minor.build 

而任何第四個字段被忽略。有關更多詳細信息,請參閱ProductVersion property文檔。