Вы можете добавить несколько условий, которые ограничивают время выполнения настраиваемого действия. Чтобы запустить проверку IIS только во время установки, измените пользовательский элемент на следующий:
<Custom Action="InstallIISCA" Before="ConfigureIIs">
Not Installed
</Custom>
В вашем описании есть несколько предварительных предложений об условиях. Я думаю, вы также просите условие не выполнять установку, если IIS включен («возможно, вы имеете в виду установленный»). Для этого сначала установите свойство для этого условия (здесь, проверяя версию IIS, чтобы определить, установлена ли она)
<Property Id="IIS_MAJOR_VERSION">
<RegistrySearch Id="CheckIISVersion" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="MajorVersion" Type="raw" />
</Property>
А затем включите свойство в условие настраиваемого действия:
<Custom Action="InstallIISCA" Before="ConfigureIIs">
Not Installed AND IIS_MAJOR_VERSION
</Custom>
И предположим, что у вас уже есть какое-то условие для действия "ConfigureIIS", поэтому его не нужно запускать излишне.