我在<Fragment>
中定义了一个自定义表,我希望将其链接到主 .wxs 文件中。我的问题类似于this question,但我的片段没有要引用的<CustomAction>
标记,并且主文件中没有<CustomTableRef>
标记。
唯一的方法是引入没有<Fragment>
能力标签的<...Ref>
来注入可以 {/ 1}}的虚拟标签? - 例如Ref
具有“永不安装”条件,或者<Component>
从未计划运行(或执行完全良性的操作,例如将属性<CustomAction>
设置为Foo
)?
我正在寻找推荐的最佳做法。谢谢!
答案 0 :(得分:2)
在您的片段中,您可以创建如下属性:
<Property Id="IncludeMyFragment" Value="1" />
然后在源中引用该片段,如下所示:
<PropertyRef Id="IncludeMyFragment"/>
那应该提取片段的内容。
答案 1 :(得分:1)
使用引用时,将使用整个片段。您是将自定义表定义为关于MSI的文档/元数据,还是在数据驱动的自定义操作中实际使用它?通常,我会在单个片段中定义自定义操作和自定义表架构,以便当有人引用自定义操作时,他们将获得支持基础结构。然后,其他片段可以包含所述自定义表的实际数据(特定于实现)。