次の Wix コードを使用して、IIS で WebApplication を作成し、それを特定のアプリケーション プールに割り当てます。
<iis:WebAppPool Id="AppPool_Wcf" Name="$(var.WCF_APP_POOL)" />
<iis:WebSite Id="Web_site" Description="$(var.WEB_SITE_DESCRIPTION)" SiteId="[SITEID]">
<iis:WebAddress Id="Web_Address" Port="*"/>
</iis:WebSite>
<DirectoryRef Id="TARGETDIR">
<Directory Id="SITEPATH">
<Directory Id="WCF_VIRT_DIR" Name="$(var.WCF_VIRT_DIR)">
<Component Id="IIS_Wcf" Guid="$(var.deploy.wcf.guid)" KeyPath="yes">
<iis:WebVirtualDir Id="Wcf_VirtualDir" Alias="$(var.WCF_VIRT_DIR)" WebSite="Web_site" Directory="WCF_VIRT_DIR">
<iis:WebApplication Id="Wcf_Application" Name="$(var.WCF_VIRT_DIR)" WebAppPool="AppPool_Wcf" />
</iis:WebVirtualDir>
</Component>
</Directory>
</Directory>
</DirectoryRef>
アプリケーション プールは他のアプリケーションと共有されているため、既に存在している必要があります。
存在しない場合は、セットアップが成功し、Web アプリケーションが神秘的なものに割り当て<Invalid Application Pool>
られます (Web アプリのプロパティで確認できます)。アプリケーションも機能します!
アプリケーション プールが見つからない場合、インストールを失敗させるにはどうすればよいですか?