2009-03-03 119 views
2

我使用WIX開發一個應用套件的安裝程序,且結構 如下:
應用核心
        | _ _ Flavor1
        | _ _ Flavor2
        | _ _ Flavor3
WIX安裝與添加多個條目/刪除程序

應用程序核心是像Visual Studio一樣的產品,Flavors 1,2,3是其下的子產品。

這是我的問題,
- 在添加刪除程序應該有4個條目應用程序核心,Flavor1,Flavor2和,Flavor3。
- 我應該能夠重新啓動安裝程序來添加/刪除Flavor1,Flavor2和Flavor3。

+0

你可能想澄清你的意思是「結構」。您繪製依賴關係的線是?目錄佈局?還有別的嗎? – 2009-03-03 14:44:59

回答

5

更新:注意的是,雖然辦公室出現安裝單獨的功能,而不是單獨的產品 - 它實際上安裝許多獨立的產品,不會在ARP中顯示。添加單獨的ARP條目以啓動引導程序安裝程序,然後保持添加,刪除和更新在ARP中無法看到的現有產品。

這些應該是功能,而不是單獨的產品。例如,以Microsoft Office套件爲例,如果您安裝套件,那麼在「添加/刪除程序」中只有一個條目,而Word,Excel,Powerpoint等等都只是微軟Office的「功能」,您可以通過這種方式更新它們。

但是,您可以使用其自己的安裝程序單獨購買這些應用程序中的一部分,並且在這些情況下,每個安裝程序都包含「應用程序核心」,使用共享組件,以便文件不需要安裝兩次並且每個應用程序可以相互獨立地安裝/卸載。

下面是從Components and Features Windows安裝程序文檔有點摘錄(你也可以喜歡讀Organizing Applications into Components)共享同一 組件ID

兩個部件被視爲多個相同的組件 的 實例不管他們的實際內容。 只有用戶的 計算機上安裝了任何 組件的單個實例。因此,幾個功能或應用程序可能會共享某些組件。

2

通常這是通過安裝一個產品來完成的,因此您可以在添加/刪除程序中修改一個條目(選擇產品,單擊修改按鈕)。然後將您帶到功能樹,您可以在其中添加或刪除功能。

如果單獨的條目是一個硬性要求,您應該創建多個MSI。但你可以在你的榜樣卸載「應用核心」,保持其他安裝,從而導致問題的口味

0

它聽起來像你想要的功能,所以桑德得到我的+1。

但有時您可能需要安裝不同的相同產品,例如安裝在同一臺服務器上的培訓和測試版本。在這些情況下,您需要找到不同的方法,我想出了here's one(請參閱回答Create Live,...)。注意關於爲每個文件創建組件和通配符的編輯,因爲這簡化了該過程,即不需要BeforeBuild/AfterBuild技巧。