2014-11-05 48 views
0

在我的ExecuteProgress回調中,如果用戶取消安裝,它將等待用戶通過消息框確認調用(使用AutoResetEvent),並在確認它將e.Result設置爲Result.Cancel,要求Burn引擎取消安裝。WiX Burn自定義引導程序:用戶取消安裝後,連續觸發ExecuteProgress事件

之後ExecutePackageComplete回調被調用,這是正確的。但是,之後ExecutePackageBegin回調被再次調用相同的MSI包,我請求刻錄引擎停止安裝。然後ExecuteProgress回調被再次調用相同的MSI並等待用戶確認。 (這次沒有消息框供用戶確認。)我該如何解決這個問題?

+0

請提供在用戶臨時目錄中找到的相關部分的刻錄日誌,以獲取類似問題。我敢打賭,Burn只是在做回滾,這是你的BA需要注意的事情。 – 2014-11-05 02:29:17

+0

@SeanHall謝謝。日誌文件顯示刻錄正在執行回滾。我通過區分兩種狀態來解決我的問題:一種是用戶取消但尚未確認的狀態(等待用戶確認),另一種狀態是用戶確認取消。我改變了'ExecuteProgress'回調,以便它只在以前的狀態下等待用戶確認。 – sky 2014-11-05 04:10:17

回答

1

如果您要求確認,請不要從回叫中退回。你的BA需要知道回滾 - 它可能應該在回滾時做不同的事情。

相關問題