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

发布于 2024-08-28 20:47:18 字数 435 浏览 9 评论 0原文

如何让 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>

Wix 就会从最终输出中忽略它。

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

有什么想法吗?

How do I get Wix to include a CustomTable with no rows in the final MSI? If I simply define the table like this

<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>

Wix omits it from the final output.

My DTF CustomAction is expecting it to be there, so that it can add rows to it during execution.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡莣 2024-09-04 20:47:19

感谢这篇博客文章中的评论(顺便说一下,其中有一个非常有用的 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"/>

Thanks to a comment in this blog post (which, by the way, has a very useful example of a DTF Custom Action) I found the Wix EnsureTable element, which makes sure a table appears in the output, even if it is empty.

So to make my example work, I need to do this:

<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"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文