2009-03-04 60 views
0

我正在嘗試爲我創建的網站編寫安裝程序。在WiX教程中,它說:「同樣,一個組件應該只包含那些屬於一起的項目,以至於它們總是需要一起安裝或刪除。」我相信整個網站都符合這個描述。我有兩個關於組件的問題。首先,很明顯,我的網站有很多目錄,我無法弄清楚如何將所有目錄/文件轉換爲1個組件(這甚至可能?),如果我從程序生成組件,我的GUID幾乎肯定必須在每個版本上有所不同,在每個版本中強制進行主版本更改?有什麼我失蹤?在構建和組件問題中生成WiX XML文件

回答

0

我必須承認,在我看來,我對WIX的經驗非常有限。但是,我的印象是一個組件映射到一個單一的可安裝的東西,如文件或DLL。這些被安排到組件組中,然後被添加到功能中。這些功能是以單元形式安裝的,例如:核心,文檔和示例。在這種情況下,您總是需要Core組件,但是Documentation和Examples功能可以省略。

我不認爲更改組件的GUID會強制您更改主版本號。

因爲學習曲線可能非常陡峭,所以我很難與WIX一起工作。我希望這有幫助。

+0

據我所知,簡單地添加或刪除文件被認爲是「主要升級」。幾乎每個發佈的Web應用程序都會添加和刪除文件,但這對我來說不是主要升級。 – Greg 2009-03-04 18:36:57

2

組件的文件不能跨越目錄。 Windows安裝程序的限制。獲得穩定組件ID是一個棘手的問題,但是WiX v3中有一些新的技巧可以爲您處理。 Component/@ Guid =「*」是個訣竅。新的(像上週)heat.exe會爲你生成看起來滿足你需求的碎片。

0

已經通過這個,這是我的建議是:

  1. 每個文件都應該有它自己的組件。
  2. 如果按照步驟1中的羅布說,每個組件都可以有屬性GUID="*"
  3. ComponentGroup是你的朋友:)
  4. 如果您設置產品代碼爲*和離開的UpgradeCode作爲一個固定的GUID,你不必爲每次升級編寫新的升級安裝程序,因爲您的MSI既是新安裝安裝程序,也是升級安裝程序。爲了幫助控制這個you need to understand升級和UpgradeVersion元素。

更多tricks here