我正在使用包含少量dll的WiX創建一個安裝程序。在原始腳本中首先調用gacutil.exe,然後爲每個dll調用regasm。將此想法轉換爲WiX時遇到問題。下面是安裝到GAC的代碼片段:對於同一個dll,WiX GAC安裝和regasm不起作用
<Component Id="GMAG.Core.Serialization.dll" Directory="_2.2.8.0" Guid="{my_guid}"> <File Id="my.dll" Source="my_src" Assembly=".net" KeyPath="yes" Checksum="yes"/> </Component>
現在的問題是維克斯將如何執行大會註冊?我的問題是:
- 我不能在同一個組件中創建另一個
<File Id="my.dll" Source="my_src" KeyPath="yes"/>
因爲只能有一個keyPath =「yes」屬性/組件。 - 我不能在組件級別放置keyPath =「yes」,因爲它會中斷組件引用計數系統。
- 如果沒有keyPath =「Yes」,我無法創建
<File Id="my.dll" Source="my_src"/>
,因爲它會生成編譯錯誤。 - 我無法創建一個獨立的組件,因爲兩個組件會嘗試安裝相同的文件。
我知道我不需要使用heat
何時調用regasm
或regsvr32
。在組件代碼中:<File Id="my.dll" Source="my_src" KeyPath="yes"/>
應該足夠用於註冊。 我使用熱量,現在我卡住了,因爲我還必須進行組裝註冊。