У меня есть установщик, который настраивает 2 веб-сайта, один из которых имеет некоторые приложения под корневым сайтом. Сайт верхнего уровня настроен только для проверки подлинности Windows, как показано ниже:
<iis:WebSite Id="WebSite"
Description="Application"
Directory="WEBSITE_INSTALLLOCATION"
AutoStart="yes"
ConfigureIfExists="yes"
StartOnInstall="yes">
<iis:WebAddress Id="AllUnassigned" Port="80" />
<iis:WebApplication Id="WebApplication"
Name="Console"
WebAppPool="WebAppPool"/>
<iis:WebDirProperties Id="WebProperties"
AnonymousAccess="no"
WindowsAuthentication="yes"
AuthenticationProviders="NTLM,Negotiate"/>
</iis:WebSite>
Другие (дополнительные) компоненты в программе установки затем объявляют приложения/виртуальные каталоги следующим образом:
<iis:WebVirtualDir Id="HelpWebSite" Alias="Help" Directory="ApexHelpDir" WebSite="WebSite">
<iis:WebApplication Id="HelpApp" Name="Help" WebAppPool="WebAppPool"/>
<iis:WebDirProperties Id="HelpProps" AnonymousAccess="yes" WindowsAuthentication="no"/>
</iis:WebVirtualDir>
Поведение, которое я вижу, - это то, что я ожидал бы 9/10 раз, но с перерывами установщик установит сайт "Веб-сайт" с аутентификацией с помощью анонимной аутентификации и, а не только с помощью Приложение справки с анонимной аутентификацией. Единственное объяснение этого, о котором я могу думать, состоит в том, что действие добавления виртуального каталога/приложения под корневым сайтом иногда заставляет root наследовать параметры проверки подлинности ребенка, а также свои собственные.
Примечание. Я попытался поднять это как ошибку на сайте wixtoolset.org, но при попытке сделать это все время получал ошибку.