2016-08-20 31 views
0

我們有一個自定義WIX引導程序安裝程序。引導程序捆綁鏈3個人應用程序msi。引導程序自定義用戶界面允許用戶選擇要安裝的應用程序,並根據選擇自定義引導程序將安裝其msi。使用更高版本的msi卸載應用程序

現在考慮這種情況。 應用程序,說A1版本1.0.0.50安裝在系統中。假設引導程序版本也是1.0.0.50

假設帶有一些更新的下一個版本的引導程序安裝程序可用,假設它的版本是1.0.0.51。 使用這個我想安裝第二個應用程序,說A2。 另外我想卸載A1。目前我們支持使用這個最新的安裝程序將A1升級到1.0.0.51版本。

但我想檢查使用最新的引導程序版本卸載A1的可能性。我如何實現它? 因爲根據我們的項目要求,最終用戶應該能夠使用任何版本的引導程序卸載A1。

我在註冊表中看到它存儲每個msi的Uninstallstring。如果我運行卸載字符串值,例如MsiExec.exe/X {90140000-0011-0000-0000-0000000FF1CE} 它是否會正確執行msi卸載所完成的操作?它會處理清理註冊表項,刪除已安裝的文件等?

回答

0

不要去這個註冊表。 MSI數據庫有一個升級表,希望能滿足您的要求(https://msdn.microsoft.com/en-us/library/windows/desktop/aa372379(v=vs.85).aspx)。添加一個包含已安裝MSI的升級代碼的條目,在VersionMin & VersionMax下提供版本邊界,根據您的要求設置屬性769或其他內容,創建一個新的公共屬性並將其添加到SecureCustomProperties。 最後,在安裝過程中,如果您遇到任何問題,請啓用Windows日誌記錄並檢查日誌以查找標準操作,如findrelatedproducts和removeexistingproducts。

+0

謝謝你的回答。你可以請一個例子詳細說明它。例如,我對設置屬性和安全cutomproperties不太瞭解。在我的MSIS – user3663551

+0

當前升級表是如下<升級編號= '$(var.ProductUpgradeCode)'> user3663551

+0

這是正確的嗎?升級到更高版本工作正常。 升級期間,它會卸載舊版本並安裝新版本。 但是,而不是升級如果我只是想卸載它不是這樣做 – user3663551

相關問題