2016-06-21 23 views
5

我正在遵循第二個答案here,以避免我的較新安裝包的「已安裝」消息。所以這是我改變的項目。一切正常,我正在正確安裝新版本。ICE61:該產品應該只刪除其自身的較舊版本

<Product Id="*" Name="Product Name" Language="1033" Version="1.9.0.0" Manufacturer="ABCD" UpgradeCode="e820aa3a-0288-45d8-a357-41bc065bbed0"> 
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 

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

然而,編譯器給了我下面的警告消息:

ICE61:本產品應該只刪除舊版本的本身。 最大版本不小於當前產品。 (1.9.0.0 1.9.0.0)

我不能忽略此消息。所以問題是如何解決這個警告?

+1

下面是如何忽視了一個ICE警告:http://stackoverflow.com/ a/7055515/600559 –

+1

我正在跳躍,可以修復而不是抑制 – Pablo

+3

您可以通過增加前3位數字中的ProductVersion來修復它。要說明這一點,您不能允許在相同版本之間進行升級,而不會在增加版本的情況下明確警告。 – PhilDW

回答

2

警告來自AllowSameVersionUpgrades=Yes。正如你在評論中寫道:「我從來不想在相同版本之間升級,總是增加第二個(甚至是第一個)」,那麼你不需要AllowSameVersionUpgrade,所以只需刪除它。

1

WiX允許您執行相同版本的安裝,但Microsoft不會推薦它,因此是警告消息。

您可以繼續爲是(與編譯器whinge住),或者改變你MajorUpgrade節這樣的:

<MajorUpgrade 
    AllowSameVersionUpgrades="no" 
    DowngradeErrorMessage="A newer version of [ProductName] is already installed. If you are sure you want to downgrade, remove the existing installation via the Control Panel" /> 
+0

你能提供關於「微軟不推薦它」的更多信息嗎?爲什麼? – juFo

+1

這裏有一個關於它的討論:https://sourceforge.net/p/wix/bugs/2405/。除了說可以做到這一點之外,他們不會提供很多信息,但不會鼓勵。 – AndyUK