2011-05-17 67 views
2

我有一個WiX安裝程序,它建立了幾個根IIS網站,每個網站都有許多Web應用程序。我們爲每個根有一個單獨的AppPool,並將每個WebApplication放入該AppPool中。在WiX 3.6中設置網站元素的AppPool 3.6

不幸的是,我找不到一種方法確保WebSites進入他們所需的AppPools,而WiX堅持將它們放入DefaultAppPool。

我在這裏錯過了什麼嗎?

<Component Id="INPUT" Guid="{43302D85-55B5-4C99-8C07-8AF5ED419E0A}" Directory="dirBBD4B479DF2AD0441616B5EB11867FA6" KeyPath="yes"> 
    <iis:WebAppPool Id="INPUTPool" Name="RCMInput" ManagedPipelineMode="integrated" ManagedRuntimeVersion="v4.0"/> 
    </Component> 
    <Component Id="INPUTSITE" Directory="dirBBD4B479DF2AD0441616B5EB11867FA6" Guid="{E508497A-C485-4EB8-8A91-4299BD46291B}" KeyPath="yes"> 
    <iis:WebSite Id="INPUTROOT" Description="RCMInput" Directory="dirBBD4B479DF2AD0441616B5EB11867FA6" AutoStart="yes" > 
     <iis:WebAddress Id="INPUTROOTADDRESS" IP="[RCMINPIP]" Port="443" Secure="yes" Header="[RCMINPHOST]" /> 
     <iis:WebVirtualDir Id="INPUTVD" Alias="InputApp" Directory="dir0AC030D54BBE340DFFCC71C2724F6BF1"> 
     <iis:WebApplication Id="INPUTWEBAPP" Name="InputApp" WebAppPool="RCMInpAppPool"> 
      <iis:WebApplicationExtension CheckPath="no" Extension="svc" Executable="[NETFRAMEWORKROOT]v2.0.50727\aspnet_isapi.dll" Verbs="GET,HEAD,POST,PUT,DELETE"/> 
     </iis:WebApplication> 
     </iis:WebVirtualDir> 
     <iis:WebVirtualDir Id="INPUTVD2" Alias="Administration" Directory="dir78ADFB9F5CBB65D9A3E21EAB7F4C5911"> 
     <iis:WebApplication Id="INPUTWEBAPP2" Name="Administration" WebAppPool="RCMInpAppPool"> 
      <iis:WebApplicationExtension CheckPath="no" Extension="svc" Executable="[NETFRAMEWORKROOT]v2.0.50727\aspnet_isapi.dll" Verbs="GET,HEAD,POST,PUT,DELETE"/> 
     </iis:WebApplication> 
     </iis:WebVirtualDir> 
    </iis:WebSite> 
    </Component> 

回答

1

我猜想,當你在WebApplication的引用程序池名稱「RCMInput」,它並不能解決它,並拖欠的默認應用程序池。你有沒有嘗試運行你的微星登錄打開,看看是否給出了任何額外的細節?

從命令行

msiexec /i install.msi -L*v install.log 

附近的那家http://ranjithk.com/2009/12/17/automating-web-deployment-using-windows-installer-xml-wix/在WiX的部署Web應用程序一個很好的博客文章,他定義了組件相同的組件的WebApplication的程序池。

+3

我認爲這只是WiX的限制。雖然可以將應用程序池分配給web應用程序,但無法將其分配給網站。雖然使用自定義操作在安裝後調用appcmd,但該鏈接向我發送了正確的方向。 – 2011-06-01 15:55:04

+0

@PeterKelly鏈接現在被破壞。 – Optimax 2013-05-31 17:11:29

1

不確定它是否在3.6中改變了,但是在WebApplication中引用AppPool時使用了Id,而不是使用RCMInpAppPool使用INPUTPool。

這是excellent example