2013-07-19 73 views
0

我的要求:如何使用WiX MBA卸載MSI而不是Bundle本身?

我有幾個MSI文件需要安裝。用戶可以選擇他想要安裝/卸載哪一個。爲此,我使用了WiX引導程序,我使用WPF UI列出了所有MSI和幾個按鈕,以便安裝/升級/卸載

到目前爲止,我能夠使用InstallCondition安裝選定的MSI,但無法管理卸載。 如果我卸載了任何MSI,Bundle也將被卸載。因此它不會顯示在添加/刪除程序中。

所以我想知道是否有任何方法可以卸載單個MSI而不是Bundle本身?

回答

1

我猜你的包正在卸載,因爲你正在使用Engine.Plan(LaunchAction.Uninstall)。如果您使用不同的動作,如InstallModify,則不應將其刪除。

要控制各個MSI軟件包的安裝狀態,我認爲您可以在回調PlanPackageBegin中設置它。

+0

我建議通過更改軟件包'InstallContition'的值來控制軟件包安裝狀態,但我不再認爲這是一個合適的做法,所以我更新了我的答案以刪除它。 –