我正在使用包含少量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"/>
应该足够用于注册。 我使用热量,现在我卡住了,因为我还必须进行组装注册。