WiX:从没有CustomAction的片段中提取CustomTable

时间:2012-04-26 18:13:12

标签: wix fragment

我在<Fragment>中定义了一个自定义表,我希望将其链接到主 .wxs 文件中。我的问题类似于this question,但我的片段没有要引用的<CustomAction>标记,并且主文件中没有<CustomTableRef>标记。

唯一的方法是引入没有<Fragment>能力标签的<...Ref>来注入可以 {/ 1}}的虚拟标签? - 例如Ref具有“永不安装”条件,或者<Component>从未计划运行(或执行完全良性的操作,例如将属性<CustomAction>设置为Foo)?

我正在寻找推荐的最佳做法。谢谢!

2 个答案:

答案 0 :(得分:2)

在您的片段中,您可以创建如下属性:

<Property Id="IncludeMyFragment" Value="1" />

然后在源中引用该片段,如下所示:

<PropertyRef Id="IncludeMyFragment"/>

那应该提取片段的内容。

答案 1 :(得分:1)

使用引用时,将使用整个片段。您是将自定义表定义为关于MSI的文档/元数据,还是在数据驱动的自定义操作中实际使用它?通常,我会在单个片段中定义自定义操作和自定义表架构,以便当有人引用自定义操作时,他们将获得支持基础结构。然后,其他片段可以包含所述自定义表的实际数据(特定于实现)。