2013-07-22 66 views
1

我想在一個包中包含3個MSI。一個是由另外兩個(app1和app2)共享的依賴項(dep1)的應用程序。我想安裝dep1作爲安裝app1和app2中的一個或兩個的依賴關係,並且在卸載app1和app2的情況下也刪除dep1。安裝和卸載MSI作爲WiX/Burn中的依賴關係

我也希望app1和app2在程序和功能下顯示爲兩個單獨的安裝,但隱藏了dep1。例如。如果通過程序和功能卸載app1,則dep1將保留,但如果app2也被卸載,則會刪除dep1。

這可能使用刻錄?我需要做些什麼來設置這個基礎? Package Ref Counting聽起來像我需要的東西,但我對如何設置它有點失落。

看來我需要將一個Provides元素添加到dep1 MsiPackage和Requires到app1和app2的Product元素?我不確定這是否意味着當app1和app2時dep1也會被卸載。

回答

0

您不必處理依賴關係。只需一直安裝它。卸載軟件包時,它將被卸載。

刻錄不支持在程序和功能中將一個包顯示爲多個條目。

+2

我已經寫了一個wix包,它有4MSI,安裝後所有4個MSI用於在「程序和功能」中顯示。它也會有一個單獨的BUNDLE條目,當我卸載該捆綁包時,其他4個條目將會消失。 – Isaiah4110

+0

一般指導是隱藏單個軟件包 - 這是默認行爲 - 因爲需要卸載軟件包來清理緩存的軟件包。對於大多數用戶來說,安裝一件事物並在程序和功能中獲得許多條目也是令人困惑的。 –

+0

好的,謝謝。我想我需要遵循MSOffice示例,併爲多個應用程序使用單個安裝程序界面。 – DaveO