Wix if и else if условие внутри элемента компонента

У меня есть файл .wxs для установки программы. Я хочу передать часть установки в зависимости от версии IIS (например, выполнить, если версия IIS> # 10 что-то установить, а еще, если ‹= # 7 установить что-то) и продолжить установку других частей.


person Bindya    schedule 05.07.2018    source источник


Ответы (1)


В установщике Windows компоненты представляют собой наименьшие единицы установки/удаления. Это объекты, которые могут быть частью нескольких продуктов. Для продукта можно выбрать только функцию для установки или удаления. (Если для установленных функций продукта не требуется компонент, он удаляется. Если у продукта нет установленных функций, он удаляется.)

Компонент может быть в нескольких функциях. У функции может быть условие. (Они предназначены не только для выбора пользователем в диалоговом окне.) Функции могут быть вложенными.

Собирая это вместе, кажется, что вам нужно условно выбрать функции.

В WiX вы можете указать функции, условия и ссылки на компоненты, как в этом ответе на аналогичный вопрос.

Вы можете использовать определение версии IIS, предоставляемое WiX, в таких условиях:

<PropertyRef Id="IISMAJORVERSION" /> 
<PropertyRef Id="IISMINORVERSION" />
…

<Condition Level="1"><![CDATA[IISMAJORVERSION >= "#10"]]></Condition> 
person Tom Blodget    schedule 05.07.2018