Wix IIS Version не проверяет условия запуска - PullRequest
0 голосов
/ 26 сентября 2018

Здравствуйте, я пытаюсь добавить условие запуска, чтобы проверить, что установленная версия IIS больше 7. Если это не так, должно отображаться сообщение о соответствии.

 <PropertyRef Id="IISMAJORVERSION"/>
   <Condition Message="Install requires IIS 7 or higher">
    <![CDATA[IISMAJORVERSION AND (IISMAJORVERSION >= #7)]>
    </Condition>

Также пробовал IISMAJORVERSION> = "# 7" и IISMAJORVERSION> =«# 7», но он не показывает сообщение о состоянии на машинах, на которых не установлены II.Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Поскольку IISMAJORVERSION - строка, которую мы не можем выполнить больше или меньше чем.Поэтому я изменил свое состояние ниже.

<PropertyRef Id="IISMAJORVERSION"/>
 <Condition Message="Installer requires IIS 6 or 7 or higher versions installed on the machine.">
<![CDATA[(IISMAJORVERSION <> "") AND (IISMAJORVERSION <> "#1") AND (IISMAJORVERSION <> "#2") AND (IISMAJORVERSION <> "#3") AND (IISMAJORVERSION <> "#4") AND (IISMAJORVERSION <> "#5")]]>
</Condition>
0 голосов
/ 27 сентября 2018

Проверьте MSI : Откройте скомпилированный MSI в Orca ( или аналогичный инструмент - см. Внизу).Есть ли записи в таблице LaunchCondition? Я не вижу, как это условие может скомпилировать - в его текущей форме.Возможно, вы связались со старыми объектными файлами или чем-то в этом роде.Это означает, что ваша текущая сборка фактически не может создать новый файл MSI, вы используете старый, не замечая этого.

Условие : Я думаю, что у вас есть ошибкав условиях форматирования, возможно, попробуйте что-то вроде этого:

<Condition Message="Install requires IIS 7 or higher">
     <![CDATA[IISMAJORVERSION AND (IISMAJORVERSION >= "#7")]]>
</Condition>

Обратите внимание на двойные скобки в конце и символы <и> на обоих концах и кавычки вокруг # 7.Я не проверял фактическое состояние.Разве этого недостаточно со второй частью?

В качестве альтернативы используйте escape-символ, как показано здесь .

...