我想创建一个只包含文件中的CustomTable的片段文件。这很容易,但我不知道如何将其链接/包含回主product.wxs文件中。
片段文件与产品文件位于同一项目中,我也尝试为文件添加包含标记但未成功,甚至将自定义表放入WiX包含文件。
有办法做到这一点吗?或者它是否必须存在于产品文件中?
答案 0 :(得分:2)
WiX工具集以与C / C ++编译器类似的方式编译和链接。链接器从“主”入口点(在您的情况下是Product元素)开始,然后跟随那里的引用,然后从那里开始引用,直到所有引用都被解析。
你的部分问题遗失了,但根据标题,我猜你想要一个CustomTable
元素。通常,CustomTable
由CustomAction
处理。有几种很好的方法可以引用CustomAction
。
我不使用包含文件。
答案 1 :(得分:0)
如果您要确保创建表是否存在数据,则可以尝试使用EnsureTable
。如果您想将自定义表的模式定义与数据分开,我相信您可以在单独的片段中定义它们,并通过打开<CustomTable Id="your table name">
并在其中定义数据行来引用数据定义片段中的模式定义它
一般来说,Wix不会将片段拉入主要作者,除非它们包含在某处引用的元素,并且由于目前没有CustomTableRef
这样的东西,您可以选择使用其他元素,例如空{您可以在主PayloadGroup
,ComponentGroup
或{{1}中引用的{1}}或PayloadGroupRef
(分别使用ComponentGroupRef
或Bundle
)视情况而定的元素。