WiX (Windows Installer Xml), создание универсальных переменных - PullRequest
0 голосов
/ 21 мая 2018

Я изучал WiX в течение нескольких дней в онлайн-учебнике.Я видел три случая, чтобы создать некоторые переменные

  1. <? define Variable = "value" ?> и затем использовать значение как $(var.Variable)
  2. Создать файл локализации.Введите содержимое как <String Id="Variable">Value</String>, а затем используйте значение как !(loc.Variable)
  3. Создайте включаемый файл.Введите содержимое как <Property Id="VARIABLE" Value="value" />, а затем включите файл, используйте свойство в Fragment как [VARIABLE]

Я знаю, что файл локализации в основном используется для разных локалей.Но я не знаю, когда мы должны использовать каждый случай.Кто-нибудь может помочь объяснить?

1 Ответ

0 голосов
/ 21 мая 2018

Я не так много использовал эти конструкции.Тем не менее, я думаю, Боб Арнсон (разработчик WiX) довольно хорошо объясняет это в этой записи блога о локализации (объяснение хорошее, но я все еще могу сбить с толкуя - углеродная ошибка).

По существу :

  • Препроцессор переменные -$(var.Variable) - разрешаются препроцессором WiX - это происходит перед компиляцией (Candle.exe).
  • Переменные локализации - !(loc.LanguageLcid) - разрешаются во время ссылки (Light.exe).Процесс связывания может выплевывать несколько файлов MSI на разных языках.Следовательно, локализация - это процесс времени соединения.
    • См. ссылка 3 ниже для примера локализации.Как только вы локализуетесь, вы локализуете большинство или все поля.В приведенном ниже примере я не локализую version и upgrade code - они остаются одинаковыми для всех выходных файлов MSI.
    • В каждом случае необходимо определить, что следует локализовать.Имя Manufacturer должно быть локализовано?Возможно, если вам нужны азиатские символы для азиатских настроек и эквивалентное латинское имя символа в противном случае?
  • Включаемые файлы просто включаются в источник WiX перед компиляцией.Это как включить заголовочный файл в C ++.Это делает его конструкцией препроцессора.См. ссылка 2 ниже для обсуждения использования включаемых файлов.
  • ОБНОВЛЕНИЕ : Есть также Переменные механизма записи - если вы делаете setup.exe пусковые установки с WiX.

Я уверен, что есть и другие технические причины. Робу или Бобу нужно будет загореться.Могут также быть различия в WiX 4, чем то, к чему я привык в WiX 3 - и могут быть запланированные изменения, о которых я не знаю.


Некоторые ссылки :

  1. Можно ли передать переменную в файл локализации WIX? (для удобства поиска)
  2. Wix Installer: Настройкасвойство условия компонента при установке администратора MSIEXEC из командной строки (длинное описание конструкций препроцессора по сравнению с другими полезными конструкциями для создания разновидностей настроек)
  3. Многоязычная проблема лицензионного соглашения набора инструментов Wix (с использованием локализации)
  4. Строка Wix с символами, недоступными в кодовой странице базы данных, хотя кодовая страница установлена ​​
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...