WIX IIS версия в состоянии удаления не удается - PullRequest
0 голосов
/ 27 сентября 2011

У меня есть пользовательский элемент управления, как показано ниже.

Во время удаления условие, которое проверяет IIS_MAJOR_VERSION = "# 7" AND IIS_MINOR_VERSION = "# 5", похоже, не выполняется, хотя во время установки это условие выполняется.

Я проверил в файле удаления, что свойство для IIS_MAJOR_VERSION = "# 7" AND IIS_MINOR_VERSION = "# 5".Кто-нибудь знает, что я сделал не так?

<Property Id="IIS_MAJOR_VERSION">
  <RegistrySearch Id="CheckIISVersion"
                  Root="HKLM"
                  Key="SOFTWARE\Microsoft\InetStp"
                  Name="MajorVersion"
                  Type="raw" />
</Property>
<Property Id="IIS_MINOR_VERSION">
  <RegistrySearch Id="CheckIISMinorVersion"
                  Root="HKLM"
                  Key="SOFTWARE\Microsoft\InetStp"
                  Name="MinorVersion"
                  Type="raw" />

<Custom Action="DropDBUSerIIS75" Before="InstallFinalize">Installed AND NOT UPGRADINGPRODUCTCODE AND IIS_MAJOR_VERSION="#7" AND IIS_MINOR_VERSION="#5"</Custom>

1 Ответ

0 голосов
/ 28 сентября 2011

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

<Property Id="IIS_MAJOR_VERSION">
  <RegistrySearch Id="CheckIISVersion"
                  Root="HKLM"
                  Key="SYSTEM\CurrentControlSet\services\W3SVC\Parameters"
                  Name="MajorVersion"
                  Type="raw" />
</Property>
<Property Id="IIS_MINOR_VERSION">
  <RegistrySearch Id="CheckIISMinorVersion"
                  Root="HKLM"
                  Key="SYSTEM\CurrentControlSet\services\W3SVC\Parameters"
                  Name="MinorVersion"
                  Type="raw" />
...