Configuring Application Initialization
Application Initialization for IIS 7.5 and IIS 8 expose only few settings in the UI. For the others we need to modify config files. Here is how to configure it without using the UI extension (for IIS 8) found here.
Changes to the application pool
1. Open the applicationhost.config (found at: C:\Windows\System32\inetsrv\config)
2. Look for the concerned applicationpool name in the <applicationpools> section and make sure you have the following two settings present for the application Pool:
<add name="DefaultAppPool" autoStart="true" startMode="alwaysRunning” />
3. In addition to these make sure that the application pool runs in Integrated mode and the .net framework for the same is v4.0 (as shown below) .
Changes for the website or Application in the applicationHost.config file:
1. Look for the <sites> section under <system.applicationHost> section.
2. Under <sites> look for the concerned website( or application ; I have chosen application “AppInit” present under “Default Web Site” here to explain the settings). For this website make sure you have preloadEnabled setting = “True” as shown below.
<system.applicationHost>
<sites>
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<application name="AppInit" applicationPool="DefaultAppPool" preloadEnabled="true">
<virtualDirectory path="/AppInit" physicalPath="c:\inetpub\wwwroot\appinit" />
</application>
</site>
</sites>
</system.applicationHost>
Changes to the concerned Website/Application (These changes can be also made in applicationHost.config file, here,for simplicity, I am mentioning the steps to do so using web.config of the concerned site ):
1. Go the web.config of the website and look for the <configuration> section and under this for <system.webServer> section. If the web.config is not present or these sections don’t exist, you will have to create them.
2. Under this <system.webServer> section please add the following appropriately as shown below:
=================================================
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<applicationInitialization remapManagedRequestsTo="splash.html" skipManagedModules="true">
<add initializationPage="default.aspx" />
</applicationInitialization>
</system.webServer>
</configuration>
================================================
Note:
1. The “splash.html” will be shown to the users when they browse to the “default.aspx” page until it is ready to be served.
2. You will need to restart w3svc service to make sure that the changes take effect. You can do this from the command prompt (running in admin mode) by following the steps below:
· net stop w3svc
· net start w3svc