Wixlib 中的二进制记录
Binary record in a wixlib
我的每个安装程序都使用特定的临时 exe 和 dll。在我的 WiX 项目中,我可以将它们放在二进制 table 中。由于它们在所有项目中共享,是否可以将它们放入 wixlib 中?语法是什么。
我正在使用 PropertyRef 属性对属性执行类似的操作。没有相应的 BinaryRef 属性来对 Binary table.
做同样的事情
There is no corresponding BinaryRef attribute to do the same with the
Binary table.
对于没有对应 *Ref 元素的元素,您可以使用以下解决方法:
- 在片段中创建一个空的
ComponentGroup
元素(这是有效的 WiX 代码)。
- 在要引用
Fragment
的位置插入 ComponentGroupRef
元素。这将提取 Fragment
的全部内容,而不仅仅是 ComponentGroup
.
示例:
<Fragment>
<ComponentGroup Id="MyBinaries"/>
<Binary Id="Binary1" SourceFile="Files\Binary1.xyz"/>
<Binary Id="Binary2" SourceFile="Files\Binary2.xyz"/>
</Fragment>
要从另一个 .wxs 文件引用 MyBinaries:
<Fragment>
<ComponentGroup Id="SomeComponents">
<ComponentGroupRef Id="MyBinaries"/>
</ComponentGroup>
</Fragment>
我的每个安装程序都使用特定的临时 exe 和 dll。在我的 WiX 项目中,我可以将它们放在二进制 table 中。由于它们在所有项目中共享,是否可以将它们放入 wixlib 中?语法是什么。
我正在使用 PropertyRef 属性对属性执行类似的操作。没有相应的 BinaryRef 属性来对 Binary table.
做同样的事情There is no corresponding BinaryRef attribute to do the same with the Binary table.
对于没有对应 *Ref 元素的元素,您可以使用以下解决方法:
- 在片段中创建一个空的
ComponentGroup
元素(这是有效的 WiX 代码)。 - 在要引用
Fragment
的位置插入ComponentGroupRef
元素。这将提取Fragment
的全部内容,而不仅仅是ComponentGroup
.
示例:
<Fragment>
<ComponentGroup Id="MyBinaries"/>
<Binary Id="Binary1" SourceFile="Files\Binary1.xyz"/>
<Binary Id="Binary2" SourceFile="Files\Binary2.xyz"/>
</Fragment>
要从另一个 .wxs 文件引用 MyBinaries:
<Fragment>
<ComponentGroup Id="SomeComponents">
<ComponentGroupRef Id="MyBinaries"/>
</ComponentGroup>
</Fragment>