我有一個.NET 4.0程序集,需要在安裝過程中使其可見。我使用的是WiX(版本3.5),因此用熱量生成WiX碎片是合乎邏輯的選擇。這工作正常,除了無論我如何旋轉熱旋鈕,CodeBase RegistryValues默認爲「file:/// C:/Windows/Microsoft.Net/assembly/GAC_32/...」,而程序集肯定不是安裝在該目錄中。控制熱生成的WiX碎片中的代碼庫註冊表項
因此,在安裝過程中正確添加了註冊表項,但指向了不存在的程序集。不開心的一天。即使在最簡單的用例(「heat asm.dll -out asm.wxs」)中也有這個問題。
到目前爲止的選項似乎是:
手柄安裝在WiX的項目在其他地方組裝的,然後將它傳遞給維克斯其它工具的前手動修改片段代碼庫聲明。
手動添加一個Assembly = 「淨」 屬性到該文件標籤 (http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/net-COM-registration-with-heat-td3606182.html)
變換的片段用XSLT(http://blog.accentient.com/2010/06/03/AddingHEATOutputToTheGAC.aspx)
無這些選項是特別吸引人的。是否有一種自動化的方式來執行此操作,而不涉及XSLT的擺弄?
在產生WXS從熱指示值將被擴展到文件安裝到目標機器上的路徑的基本代碼註冊表值。默認情況下,生成的wxs文件還將包含正在採集的文件的Directory元素。生成的wxs文件是什麼樣的?您也可以在安裝過程中發佈指向msi日誌文件的鏈接嗎? – 2011-06-22 09:37:14