Существует ли способ установить переменную препроцессора на значение свойства?

Я сделал, чтобы WiX включал файл со следующим кодом

<Fragment Id="PropertyFragment">
  <Property Id="DynamicLanguageCode" Value="[SystemLanguageID]" />
  <?define productLanguage = [DynamicLanguageCode]?>
</Fragment>

Теперь в моем Тэге продукта в моем сценарии WiX я хотел бы установить атрибут Языка на значение productLanguage, поскольку это только берет локализуемые целые числа. Существует ли способ, которым я могу заставить свою переменную быть присвоенной значение свойства?

Спасибо

8
задан Ray Dey 29 January 2010 в 14:44
поделиться

1 ответ

В вашем уме похоже, что разница между вариантами переменных и свойствами установщика Windows.

А вариабельная вариация может быть упомянуто как $ (var.foo) . Такая переменная может быть определена путем прохождения -D аргументов командной строки Candle.exe . Это также может быть определено Синтаксис. Переменная Wix - это концепция, которая существует только при создании вашей настройки. Это то, что он заполнен препроцессором Wix, прежде чем что-то еще происходит, очень похоже на #define заявления в C ++.

А свойство установщика Windows - это то, что заполняется во время установки. Один из способов определить свойства - поставить их в таблицу свойств файла MSI. Это то, что делает элемент свойства Wix. Некоторые (но не все) Типы данных , используемые в базе данных установщика Windows, позволяют ссылаться на такое свойство с помощью синтаксиса . Одним из примеров типа данных, который поддерживает это, является типом данных тип данных, используемый атрибутом атрибутом ярлыка Wix элемента. Язык DataType не Поддержка этого!

25
ответ дан 5 December 2019 в 06:09
поделиться