2013-07-25 139 views
1

我有一個產品在網站上發佈。每次用戶下載這個文件時,我都會用WiX再次編譯所有內容。在每個版本中,版本不會更改,但有些文件可以。刪除以前在WiX上的安裝

問題
如何強制安裝程序來卸載軟件,不管版本,它開始安裝本身之前?

編輯
我已經嘗試過這樣的:

<MajorUpgrade DowngradeErrorMessage="Erro Message." /> 
+0

你有沒有在原來安裝的提到升級代碼? – Isaiah4110

+0

@ isaiah4110我更新了帖子,看看。 –

回答

3

更改產品ID爲*,這將確保一個獨特的GUID是MSI編譯過程中產生的。

然後添加以下內容:

<Property Id="OLDVersion" Secure="yes" /> 
<Upgrade Id="YOUR_GUID">  
    <UpgradeVersion 
      Minimum="1.0.0.0" Maximum="99.0.0.0" 
      Property="OLDVersion" 
      IncludeMinimum="yes" IncludeMaximum="no" /> 
</Upgrade> 

在InstallExecuteSequence補充:

<RemoveExistingProducts Before="InstallInitialize" /> 

這應該照顧卸載以前安裝的版本。

請確保您使用的升級GUID在MSI的所有版本中都是通用的。

入住這LINK

+2

這工作正常,但舊版本屬性必須是公開的,所以名稱必須是大寫,例如'OLDVERSION'。 –

+0

我需要刪除MajorUpgrade標籤嗎? – ssal

+0

ok,MajorUpgrade標籤需要刪除。在那之後工作。但是這種設置迫使我們保持產品版本始終相同?因爲如果我更改產品版本,它不會卸載以前的版本,而是會安裝新版本。所以現在我可以看到安裝了2個版本。產品版本no有助於確定在用戶機器上安裝哪個版本。 – ssal

相關問題