Как добавить данные, содержащие вкладку в пользовательскую таблицу

При наличии вкладок в данных пользовательских таблиц возникает ошибка компиляции, как если бы компилятор думал, что вкладка пытается создать другой столбец.

Я пробовал реальную вкладку, xml escape-tab (& # x9;) и msi, экранирующий tab ([{tab}], где {tab} - фактическая вкладка)

Пример: Тестирование 1,2,3

Между "Тестированием" и "1,2,3" находится вкладка.

Ошибка: Пользовательский столбец таблицы '1,2,3' неизвестен.

2 ответа

Решение

Я немного поэкспериментировал с orca, посмотрев на "Формат файла архива" в MSI SDK, и увидел перевод вкладок в символ 16(DLE).

При копании в исходном коде, похоже, что компилятор использует промежуточный формат с разделителями табуляции для передачи пользовательских строк таблицы компоновщику, однако он никак не скрывает фактические вкладки в данных.

Вот почему данные после вкладок выглядят как имена столбцов.

Wix уже правильно переводит возврат каретки 17(DC1) и перевод строки 25(EM), управляющие символы, упомянутые на вкладке в SDK.

Из исходного кода он также кодируется для правильного перевода вкладок, но вкладка никогда не появится в данных из-за ранее упомянутого промежуточного формата.

Wix должен иметь возможность использовать символ, который никогда не появится в xml вместо tab.

Я загрузил исходный код и изменил компилятор и компоновщик, чтобы использовать null, \x0 вместо tab, \t, и это решило проблему, подтверждающую моего более раннего подозреваемого. Я открою это как ошибку.

Вы не можете - данные импортируются в пакет.msi через файл с разделителями табуляции. См. "Формат файла архива" в MSI SDK. Если поле может быть двоичным, вы можете импортировать содержимое файла, которое может быть любым.

Другие вопросы по тегам