如何在Wix中创建一个空的自定义表?

Sam*_*ack 3 custom-action wix dtf

如何让Wix在最终的MSI中包含一个没有行的CustomTable?如果我只是像这样定义表

<CustomTable Id="MyTable">
  <Column Id="Id" Type="string" Category="Identifier" PrimaryKey="yes"/>
  <Column Id="Root" Type="string"/>
  <Column Id="Key" Type="string"/>
  <Column Id="Name" Type="string"/>
</CustomTable>
Run Code Online (Sandbox Code Playgroud)

Wix在最终输出中省略了它.

我的DTF CustomAction期望它在那里,以便它可以在执行期间向它添加行.

有任何想法吗?

Sam*_*ack 7

感谢这篇博文中的评论(顺便提一下,它有一个非常有用的DTF自定义动作示例),我找到了Wix EnsureTable元素,它确保输出中出现一个表,即使它是空的.

所以为了让我的例子有用,我需要这样做:

<CustomTable Id="MyTable">
  <Column Id="Id" Type="string" Category="Identifier" PrimaryKey="yes"/>
  <Column Id="Root" Type="string"/>
  <Column Id="Key" Type="string"/>
  <Column Id="Name" Type="string"/>
</CustomTable>

<EnsureTable Id="MyTable"/>
Run Code Online (Sandbox Code Playgroud)