2011-12-23 87 views
7

我在Visual Studio 2010下有一個Web應用程序解決方案。此解決方案的一部分是負責生成.msi安裝程序的WiX項目。使用新創建的文件自動更新WiX安裝程序

我是通過企圖的WiX的教程閱讀以瞭解如何自動收穫文件時,我遇到以下:

http://wix.tramontana.co.hu/tutorial/com-expression-syntax-miscellanea/components-of-a-different-color

在維克斯的工具,熱火用來收穫從各種數據來源(文件夾,文件,DLL,ActiveX控件,性能計數器,網站),其中條目數量可能太大而無法手動創建相應的WiX源文件。它的主要目的是運行一次,以收集稍後在源文件的常規維護中使用的數據,而不是構建環境的一部分,在該環境中,它一次又一次地在不斷變化的輸入數據集上運行。如果您仍然希望以第二種方式使用它,則必須非常小心以確保輸入中的更改不會引入不受歡迎的影響(主要是違反組件規則)。熱確實有幫助你實現這個目標的功能,但使用它們時要小心。

看起來我不想使用它的主要功能,但教程只是提示我如何做我想做的事。

嘗試自動維護由WiX安裝安裝的文件真的是一個糟糕的主意嗎?我已經厭倦了某個人編寫了新文件的破解版本,但忘記了通過引用該新文件來更新WiX安裝程序。

其他人如何處理這種情況?

謝謝。

回覆:挑逗 - 本教程指出'Heat確實具有幫助您實現此目標的功能',但我無法找到正在引用的功能。收穫一個項目後 - 下一步是什麼?熱量是否會負責創建我將最終使用的.wxs文件 - 或者我應該只是使用這個文件列表並在事後創建一個更加完整的.wxs文件?

回答

4

我在我的ASP.NET Web應用程序中使用Heat來自動收集應用程序的所有文件。

它工作得很好。有一件事是,它每次運行時都會爲這些文件生成一個新的ID,我相信這會讓升級過程變得更加困難。您可能需要執行卸載,然後進行安裝才能獲得較新的文件。

自從我研究它之後,它已經有一段時間了,而且可能已經發生了變化。

+0

我們目前使用的.wxs文件比其中的文件更多。然而,熱量會生成一個.wxs文件。我應該使用一個.wxs文件並使用它生成另一個wxs文件?安裝結構不會模仿項目中的文件結構 - 我們爲每個文件定義「源」屬性。我知道我可以通過傳遞cmd行參數來加熱一些文件的位置,但這看起來不夠。我有熱量收穫一個項目 - 但是。wxs文件與我們目前的.wxs完全不同。 – 2011-12-23 02:19:40

+0

請參閱http://stackoverflow.com/a/8598296/351614。由熱量生成的輸出僅適用於您需要的文件,您仍需要有關安裝程序的各種元數據的其他wxs文件。將熱量輸出看作是您的主要Proudct.wxs參考的類以及加熱文件的內容可以改變的類。就目錄結構而言,如果你有特定的需求,你可能會得到你的msbuild/cmd-fu,並以這樣的方式編寫腳本,以便生成你想要的目錄結構。 – 2011-12-23 02:25:26

+0

This http://www.codeproject.com/KB/install/asp_wix.aspx可能會給你一個更好的想法,它是如何工作的,並且所有的東西都在一起 – 2011-12-23 02:29:29

相關問題