【问题标题】:In WiX, How can I author a custom table in a fragment?在 WiX 中,如何在片段中创建自定义表?
【发布时间】:2014-03-30 20:10:56
【问题描述】:

我正在使用 Visual Studio 'Votive' 集成开发 WiX 安装程序。

我正在使用<CustomTable> 创作一个简单的自定义表,我想将它放在<Fragment> 内的单独文件中。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
      <CustomTable Id="CustomActionData">
        <Column Id="Id" Category="Identifier" PrimaryKey="yes" Type="int" Width="4" />
        <Column Id="AssemblyFile" Category="Text" Type="string" PrimaryKey="no" />
        <Column Id="TypeName" Category="Text" Type="string" PrimaryKey="no" />
        <Row>
          <Data Column="Id">1</Data>
          <Data Column="AssemblyFile">MyAssembly.dll</Data>
          <Data Column="TypeName">MyAssembly.TypeName</Data>
        </Row>
      </CustomTable>
    </Fragment>
</Wix>

问题在于,WiX/Votive 不包含该片段,因为没有任何引用它。没有&lt;CustomTableRef&gt; 这样的东西。但是,&lt;Fragment&gt;&lt;CustomTable&gt; 的有效父级,因此必须有办法让 WiX 包含它。

有什么建议吗?如何在片段中引用自定义表格?

【问题讨论】:

    标签: build wix votive


    【解决方案1】:

    理想情况下会有一个 CustomTableRef 但它不存在。 (请随时提出建议。)所以您需要另一个 Element/ElementRef 对。请尝试使用 Property/PropertyRef。

    与 WiX 自定义操作一起使用的方式是编译器扩展直接写入自定义表行,因此不需要链接到创作。

    【讨论】:

    • 我有这个工作,谢谢。我必须给属性一个 Value= 属性,否则 wix 也会忽略它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    • 2019-08-22
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多