Как добавить данные, содержащие вкладку в пользовательскую таблицу
При наличии вкладок в данных пользовательских таблиц возникает ошибка компиляции, как если бы компилятор думал, что вкладка пытается создать другой столбец.
Я пробовал реальную вкладку, xml escape-tab (& # x9;) и msi, экранирующий tab ([{tab}], где {tab} - фактическая вкладка)
Пример: Тестирование 1,2,3 Data>
Между "Тестированием" и "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. Если поле может быть двоичным, вы можете импортировать содержимое файла, которое может быть любым.