我使用WiX Toolset 3.10.2爲我的產品構建安裝程序。防止多次安裝
解決方案中有兩個WIX項目,一個是從編譯的二進制文件構建MSI,另一個是使用WixStandardBootstrapperApplication從MSI構建setup.exe。
如果我增加版本,它工作正常,提供升級。
如果我第二次啓動相同的安裝程序,它工作正常,打開「修改安裝程序」屏幕。
問題是,在重建安裝程序而不增加版本後,它無法檢測到以前的安裝,並且第二次安裝愉快(因此「卸載」控制面板有多個相同的項目)。
如何阻止該問題,並且只允許單個安裝的產品實例?
微星:
<?include "..\Version.wxi"?>
<Product Id="*" Name="xxx" Language="1033" Version="$(var.vvvVersion)"
Manufacturer="yyy" UpgradeCode="0d88cab0-d278-43bb-b891-607bc01c4dec" >
<MajorUpgrade DowngradeErrorMessage="A newer version of xxx is already installed." />
的EXE:
<?include "..\Version.wxi"?>
<Bundle Name="xxx" Manufacturer="yyy" Version="$(var.vvvVersion)"
UpgradeCode="eac46fb0-09d1-4c29-8fc1-984dddb35e50"
IconSourceFile="$(var.SolutionDir)applicationIcon.ico" >
即使他這樣做(目前有一個討論,以默認啓用),MSI將展示類似的問題,而不升級版本。實際上,我爲您的MSI添加了支持年份,以提取文件版本和捆綁包以提取產品版本: 您也可以更改MSI的升級表以允許相同版本的升級 - 這是測試相同版本的後續版本中的任何更改所必需的。 –
Heath