2009-12-01 74 views
1

我有一個正在從WIX腳本生成的MSI。WIX生成的MSI的自定義卸載程序

我的問題類似於這個question

我想創建一個自定義的卸載程序,而不是使用默認的MSI卸載程序。

我正在考慮添加一個自定義操作,該操作在PublishProduct之後或InstallFinalize之前執行,並且會修改指定要使用的卸載字符串的註冊表項。

我不擔心與SMS或類似產品的兼容性。

你對這種方法有什麼想法?

+1

與其替換Windows安裝程序,爲什麼不提供在卸載時運行的自定義操作?您的自定義邏輯由Windows安裝程序調用。 – Cheeso 2009-12-06 12:50:03

回答

4

並不那麼簡單。無論出於何種原因,ARP都不尊重MSI軟件包上的UninstallString。因此,要更改它,您必須設置ARPSYSTEMCOMPONENT並驗證您可能希望支持的所有各種升級和刪除路徑。希斯·斯圖爾特有一個series of blog posts與此有關,這有助於列舉可能出現的情況和與他們共同的問題。我相信這個系列是在MSI 3.x時代編寫的,因此它可能不會解決Windows Vista或更高版本中的任何新問題,並且無法利用MSI 4.5修補程序 - 卸載自定義操作標誌。