我想为我正在安装的网站设置应用程序池,但没有虚拟目录或Web应用程序。该网站直接包含在IIS的website
条目中,我希望wix为该网站设置应用程序池。
这可能吗?
答案 0 :(得分:8)
你看过WebAppPool Element吗?
这篇文章' creating a web application installer ...'可能会为您提供一些有用的信息,例如
<!-- Define App Pool - identity if not set defaults to: ApplicationPoolIdentity -->
<iis:WebAppPool Id="AppPool" Name="[VD][WEBSITE_ID]" ManagedRuntimeVersion="v4.0"
IdleTimeout="0" RecycleMinutes="0" ManagedPipelineMode="integrated">
</iis:WebAppPool>
<iis:WebVirtualDir Id="VDir" Alias="[VD]"
Directory="INSTALLLOCATION"
WebSite="SelectedWebSite">
<iis:MimeMap Id="SilverlightMimeType" Extension=".xap"
Type="application/x-silverlight-app" />
<iis:WebApplication Id="MyWebAppApplication" WebAppPool="AppPool"
Name="[VD][WEBSITE_ID]" />
<iis:WebDirProperties Id="MyWebSite_Properties" AnonymousAccess="yes"
WindowsAuthentication="no" DefaultDocuments="Default.aspx" />
</iis:WebVirtualDir>
连接它们iis:WebApplication/@WebAppPool
条目用于引用AppPool iis:WebAppPool/@Id
另一个建议是像这样更新WebSite的WebApplication。
<Component Id="WebSite" Guid="PUT-YOUR-GUID-HERE">
<CreateFolder/>
<iis:WebSite Id="WebSite" Directory="WebSiteRoot" Description="[WEBSITEDESCRIPTION]" >
<iis:WebApplication Id="WebSiteApplication" Name="[WEBSITEDESCRIPTION]" WebAppPool="MyAppPool" />
</iis:WebSite>
<iis:WebAppPool Id="MyAppPool" Name="[APPPOOLNAME]" ManagedRuntimeVersion="v4.0"/>
</Component>
答案 1 :(得分:4)
@ user145400说:
我实际上已经看到了这个问题,并得出结论 wix有一个奇怪的限制:它不能为网站设置应用程序池, 但它可以为虚拟目录做到这一点。我再次问,因为我 想也许它已经在新版本中得到修复。话说回来, 这就是为什么你的答案实际上没有回答我的问题
是的,您可以为WebSite元素设置池,就像这样:
<iis:WebAppPool Id="MyWebSite_AppPool"
Name="[POOLNAME]"
Identity="networkService"
ManagedRuntimeVersion="v4.0"
ManagedPipelineMode="integrated"/>
<!--define web site-->
<iis:WebSite Id="MyWebSite_Website"
Description="[WEBSITENAME]"
AutoStart="yes"
StartOnInstall="yes"
ConfigureIfExists="yes"
Directory="INSTALLDIR">
<iis:WebApplication Id="MY_WebApp"
Name="MY Web Site"
WebAppPool="MyWebSite_AppPool"
ScriptTimeout="360" />
</iis:WebSite>
正如您在 iis:WebSite元素中使用属性 WebAppPool 所使用的iis:WebApplication element
可以看到的那样:)