IISMAJORVERSION и IISMINORVERSION установлены несмотря на удаление IIS

Я создаю установщик, который зависит от устанавливаемого IIS. Для тестирования я использую виртуальную машину под управлением Windows Server 2008 R2, на которой установлена ​​роль веб-сервера.

Перед удалением IIS

Мой установщик проверяет, установлен ли IIS, используя это условие;

<PropertyRef Id="IISMAJORVERSION" />
<PropertyRef Id="IISMINORVERSION" />
<Condition Message="Install requires IIS version 7.5 or later">
  <![CDATA[Installed OR (IISMAJORVERSION AND ((IISMAJORVERSION = "#7" AND IISMINORVERSION >= "#5") OR IISMAJORVERSION > "#7"))]]>
</Condition>

Установщик работает, как и ожидалось, однако я также хотел проверить условие, удалив IIS и убедившись, что установщик отобразил сообщение об условии.

Я удалил IIS, зайдя в консоль диспетчера сервера и удалив роль веб-сервера (полностью).

После удаления IIS

Когда я перезапускаю свой установщик и захожу в файл журнала установщика, IISMAJORVERSION и IISMINORVERSION все еще устанавливаются со значениями #7 и #5 соответственно, несмотря на то, что IIS больше не устанавливается.

AppSearch: Property: IISMAJORVERSION, Signature: IIsMajorVersionSearch
MSI (c) (88:F4) [14:25:16:687]: Note: 1: 2262 2: Signature 3: -2147287038 
MSI (c) (88:F4) [14:25:16:687]: PROPERTY CHANGE: Adding IISMAJORVERSION property. Its value is '#7'.
AppSearch: Property: IISMINORVERSION, Signature: IIsMinorVersionSearch
MSI (c) (88:F4) [14:25:16:703]: Note: 1: 2262 2: Signature 3: -2147287038 
MSI (c) (88:F4) [14:25:16:703]: PROPERTY CHANGE: Adding IISMINORVERSION property. Its value is '#5'.

Установщик был построен с использованием WIX v3.10.3.3007.

Является ли удаление IIS не удаляет записи реестра, как это должно быть, или это проблема WIX?


Обновление 1

Свойства WIX IISMAJORVERSION и IISMINORVERSION заполняются на основе значений записей реестра MajorVersion и MinorVersion в папке HKLM\SOFTWARE\Microsoft\InetStp. При удалении роли веб-сервера только две записи реестра из этой папки были фактически удалены (MetabaseSetMajorVersion и MetabaseSetMinorVersion). Остальные остались, в том числе и те, что использовались WIX.

Другие записи реестра в HKLM \ SOFTWARE \ Microsoft \ InetStp были удалены только после удаления службы активации процессов Windows.

Имея это в виду, я не уверен, что использование IISMAJORVERSION и IISMINORVERSION всегда надежно, так как можно получить значения обратно, когда нет установки Vlaid IIS.

0 ответов

Другие вопросы по тегам