如何在自定义表中添加包含选项卡的数据

时间:2011-07-20 21:41:56

标签: wix wix3.5

当自定义表数据中有选项卡时,会发生编译错误,就好像编译器认为选项卡正在尝试创建另一列一样。

我尝试了一个实际的标签,xml转义标签(	)和msi转义标签([{tab}],其中{tab}是实际标签)

实施例:     < Data Column =“”> Testing 1,2,3< / Data>

在'Testing'和'1,2,3'之间是一个标签。

错误是: 自定义表格列“1,2,3”未知。

2 个答案:

答案 0 :(得分:2)

您不能 - 通过制表符分隔的文件将数据导入.msi包。请参阅MSI SDK中的“存档文件格式”。如果字段可以是二进制,则可以导入文件的内容,可以是任何内容。

答案 1 :(得分:0)

在查看“归档文件格式”后,我用orca进行了更多实验 在MSI SDK中,看到了tab的转换为char 16(DLE)。

从挖掘到源代码,似乎编译器使用制表符分隔的中间格式将自定义表行传递给链接器,但它不会以任何方式转义数据中的实际制表符。

这就是选项卡后的数据看起来像列名的原因。

Wix已经正确翻译了回车符,17(DC1)和换行符,25(EM),控制字符在SDK中提供的字符。

从源代码编码也可以正确翻译标签,但由于前面提到的中间格式,标签永远不会出现在数据中。

Wix应该能够使用永远不会出现在xml而不是tab中的字符。

我下载了源代码并更改了编译器和链接器以使用null,\ x0,而不是tab,\ t,它解决了确认我之前的怀疑者的问题。我会把它打开作为一个bug。