2011-05-27 33 views
5

我正在使用heat.exe來生成WiX文件碎片。heat.exe自動生成文件碎片 - 每個構建?

我已經通過在Visual Studio中向我的網站項目添加了構建後步驟來完成此任務,這樣每次構建完成後,Web項目中的任何新文件都將被拾取並創建新的wxs文件碎片。這些文件片段直接複製到wix安裝項目中,以便在安裝項目生成時,它將所有新添加的內容文件包含到msi中。

我上次注意到,每次heat.exe重新生成wxs文件片段時,它都會創建新的GUID(但顯然不是新的組件ID)。不管怎麼說,我對WiX /熱量都很陌生,所以問題是 - 我應該每次自動生成wxs文件,例如,當新版本的網站發佈並安裝/卸載時,這會如何影響生產?有什麼理由不應該自動生成,並在每個構建中包含這些文件碎片?

回答

2

在這種場景中有兩條主線:你遵循哪一個取決於哪個風險更令你感到厭煩。你是否擔心你可能沒有包含一些在將來變得必要的更改,因爲沒有人告訴你,你沒有更新你的一代,或者你更擔心由自動生成結果創建的兩個.msi文件不會升級不錯,不讓你知道重要文件是否丟失?

我個人傾向於認爲自動發電會導致難以解決的問題,所以我建議只有當您知道某些事情發生了變化時才生成這些問題,然後驗證您所期望的差異。

+0

這是我所想的。但是我真的可以對自動生成的確切問題使用更具體的細節。到目前爲止,我剛剛看到一些人評論說它可能會影響升級等事情,但沒有人確切地說明技術問題是什麼 - 它是否與指導有關?此外,大概如果你完全卸載舊msi,然後安裝新的,那麼你沒有升級問題? – jimasp 2011-05-31 09:36:43

+1

如果您執行卸載並全新安裝新組件,則可避免很多錯誤,特別是如果您的組件都不是*共享*。一般來說,您必須擔心組件規則http://msdn.microsoft.com/zh-cn/library/aa372795(v=vs.85).aspx - 通常情況下,您看到的情況是整個組件正在被添加或在文件消失時更改或組件內的註冊表信息發生更改。兩者都可能是輕微升級後的毀滅性後果(卸載時留下的文件或密鑰,或未安裝的新版本)。搜索*組件規則*或*小升級*獲取更多信息。 – 2011-05-31 12:56:02

+0

謝謝,那個鏈接指向了我正確的方向。 – jimasp 2011-06-15 10:30:53