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

标签 wix dtf custom-action

如何让 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 期望它在那里,以便它可以在执行期间向其中添加行。

有什么想法吗?

最佳答案

感谢此 blog post 中的评论(顺便说一下,它有一个非常有用的 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"/>

关于wix - 如何在 Wix 中创建空的自定义表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2639376/

相关文章:

visual-studio-2010 - Wix 和 Visual Studio 安装程序之间的区别

c# - WiX 3.5.2030.0 CreateDatabase 使用 DTF 外部 UI 处理程序失败并显示 1603,在没有外部 UI 处理程序的情况下工作

installation - 如何在具有提升权限的 WiX 中创建的 MSI 中运行自定义操作?

wix - 自定义操作中的条件

wix - Wix安装程序中的“文件浏览”对话框

wix - 在 Wix 中使用 DTF 编写的有趣的自定义操作

c# - 在 WiX 中安装期间创建临时文件夹

database - VisualStudio 安装项目 : Deploy a Project with Database through a CustomAction BadImageFormatException

仅使用 .Net Core 的 Wix MSI Bootstrapper