У меня есть файл .wxs для установки программы. Я хочу передать часть установки в зависимости от версии IIS (например, выполнить, если версия IIS> # 10 что-то установить, а еще, если ‹= # 7 установить что-то) и продолжить установку других частей.
Wix if и else if условие внутри элемента компонента
Ответы (1)
В установщике Windows компоненты представляют собой наименьшие единицы установки/удаления. Это объекты, которые могут быть частью нескольких продуктов. Для продукта можно выбрать только функцию для установки или удаления. (Если для установленных функций продукта не требуется компонент, он удаляется. Если у продукта нет установленных функций, он удаляется.)
Компонент может быть в нескольких функциях. У функции может быть условие. (Они предназначены не только для выбора пользователем в диалоговом окне.) Функции могут быть вложенными.
Собирая это вместе, кажется, что вам нужно условно выбрать функции.
В WiX вы можете указать функции, условия и ссылки на компоненты, как в этом ответе на аналогичный вопрос.
Вы можете использовать определение версии IIS, предоставляемое WiX, в таких условиях:
<PropertyRef Id="IISMAJORVERSION" />
<PropertyRef Id="IISMINORVERSION" />
…
<Condition Level="1"><![CDATA[IISMAJORVERSION >= "#10"]]></Condition>