2014-02-14 118 views
0

我一直在懷疑在卸載過程中,如何控制removefiles的順序和Windows通過WIX刪除註冊表項。WIX removefiles和Windows刪除註冊表項

我的一個程序的註冊表

HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows \ CurrentVersion \ Installer程序\的UserData \ S-1-5-18 \產品\ GUID \來變換

被刪除在刪除文件之前。如果刪除文件失敗,卸載過程將中止。但註冊表已被刪除,這將是一場災難。

回答

0

我建議添加一個新的自定義操作,它將在卸載過程中計劃在removefiles之後運行,並且會根據需要清理註冊表。同時,您將需要另一個自定義操作,該操作將安排在安裝過程中運行,並將創建註冊表項。因此,您必須從WiX XML中移除註冊表定義。

我相信自定義操作可以被編寫爲shell命令。否則編寫C#自定義操作也是一個不錯的選擇。

創建條件時,請不要忘記何時作爲次要/主要升級和修復運行案例的自定義操作。擺弄合適的條件可能會很乏味。但是,所有這些都取決於您的安裝方案。

+0

非常感謝您的建議。但我認爲我上面提到的註冊表被Windows自動刪除,我無法控制。我相信我能夠控制的只有在什麼時候讓它發生,我是對的嗎? – eminemlhp