我使用WiX的捆綁安裝微星的鏈條,當我試圖升級舊版本安裝最新版本不卸載如何卸載以前的版本,並與維克斯捆綁
請幫我做以下任一情形的
- 如何卸載以前版本之前安裝最新版本的
- 隨時升級到最新版本,在我的情況下,它可能是主要版本或次要版本或補丁發佈
我使用WiX的捆綁安裝微星的鏈條,當我試圖升級舊版本安裝最新版本不卸載如何卸載以前的版本,並與維克斯捆綁
請幫我做以下任一情形的
還有更多,然後只是卸載。首先讓我們看看你的版本。捆綁包本身有版本,每個msis都有自己的版本。我希望當有升級時間時,您必須升級整個軟件包而不單獨檢查每個軟件包,這可能會使其更容易一些。所以現在,每個MSI應該有Product > Upgrade
屬性集並且有Upgrade
節點。值應該是相同的。包應該有屬性UpgradeCode
。這應該足以讓您卸載以前的版本並安裝新的版本。
現在,如果您想在UI中顯示某些內容,則可以轉到自舉程序並訂閱各種Detect
事件。有一些與升級有關。
下面是支持更新的MSI:
<Product Id="*" Name="$(var.ProductName)" Language="1033" Version="1.0.0.5" Manufacturer="$(var.Manufacturer)" Upgrade="GUID_HERE">
<Package InstallerVersion="450" Compressed="yes" InstallScope="perMachine" />
<Upgrade Id="SAME_GUID_HERE"/>
和刻錄:
<Bundle Name="$(var.ProductName)"
Version="1.0.0.5"
Manufacturer="$(var.Manufacturer)"
UpgradeCode="ANOTHER_GUID"
所以一旦你裏面的GUID安裝軟件包,下一版本將檢測(使用GUID),該產品安裝已經並將進行升級。
謝謝您,我使用捆綁軟件以及msi的版本。不是一個問題,我可以改變我的代碼,只檢查捆綁版本。我不想在用戶界面上顯示任何內容,用戶只需點擊安裝,即可通過刪除舊版本來升級包。你可以提供我的MSI的示例代碼和燃燒? –
查看我的更新, –
謝謝安德烈,我可以檢查並讓你知道你能澄清一件事,我需要在msi中添加主要升級元素嗎? –
如果您在捆綁的msi中實施windows installer主要升級,則在安裝新版本之前不必卸載它們。另外值得注意的是,wix引導程序將正確地升級僅在bundle版本的第四部分中有所不同的版本。要使wix包正常升級,它們的版本必須不同,並且它們必須共享相同的UpgradeCode –