2013-12-20 59 views
0

我有使用Visual Studio 2012中的Wix工具構建的msi安裝程序。 我已經使用Version =「(bind.FileVersion.File)設置了setup.exe版本」 。 它看起來不錯,意味着我在控制 Panel中獲得了與安裝後綁定到的dll版本相同的版本。 但問題是,當我看到setup.exe文件的屬性,它顯示我 不同。 不知道爲什麼會發生這種情況? 任何幫助將不勝感激 說明我是個64位機安裝文件和控制面板屬性中顯示的不同版本

回答

3

使用64位Windows 7正如你所提到的,而不是MSI我猜你是捆綁您的MSI爲引導程序包的EXE。

要將您的exe版本綁定到您的msi,請按here所述使用bind.packageVersion.PackageID

這裏有一個如何使用它的一個例子:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Bundle Name="Bootstrapper1" 
      Version="!(bind.PackageVersion.master)" 
      Manufacturer="Test" 
      UpgradeCode="$(var.UpgradeCode)"> 
     <BootstrapperApplicationRef 
      Id="WixStandardBootstrapperApplication.RtfLicense" /> 
     <Chain> 
      <MsiPackage Id="master" SourceFile="MyInstaller.msi" /> 
     </Chain> 
    </Bundle> 
</Wix> 

要將MSI綁定到你所選擇的組件執行以下操作:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"> 

    <Product Id="*" 
      Name="MyProduct" 
      Language="1033" 
      Version="!(bind.fileVersion.My.dll)" 
      Manufacturer="Test" 
      UpgradeCode="$(var.UpgradeCode)"> 

這應該確保以下綁定順序:

setup.exe -> install.msi -> assembly.dll 
+0

我已經使用這個版本=「!(bind.fileVersion.My.dll)」,並且這在控制面板中顯示正確的版本號,現在wh我實際上想要做的是讓(.msi和application.exe)具有相同的版本號(當使用右鍵單擊 - >屬性 - >詳細信息進行檢查時)如application.exe在控制面板中顯示的那樣。 –

+0

超級技巧大衛 –

相關問題