IISMAJORVERSION и IISMINORVERSION установлены несмотря на удаление IIS
Я создаю установщик, который зависит от устанавливаемого IIS. Для тестирования я использую виртуальную машину под управлением Windows Server 2008 R2, на которой установлена роль веб-сервера.
Мой установщик проверяет, установлен ли 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, зайдя в консоль диспетчера сервера и удалив роль веб-сервера (полностью).
Когда я перезапускаю свой установщик и захожу в файл журнала установщика, 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.