harbar.net component based software & platform hygiene

Application Pool mis-configuration in SharePoint 2010

posted @ Wednesday, December 16, 2009 12:34 PM | Feedback (10)

As I’ve previously detailed there is a significant oddity with how SharePoint 2010 Beta creates Application Pools in IIS for the hosting of Service Applications and especially the two most important services in your farm, the STS and Topology. As mentioned these application pools are named with GUIDs.

Unfortunately when creating a Web Application, SharePoint 2010 uses the SharePoint only property Display Name for the STS application. The STS application is required as part of every SharePoint 2010 Web Application and lives at /_vti_bin/sts.

As the Web Application is being provisioned SharePoint uses the display name, SecurityTokenServiceApplicationPool. This of course doesn’t exist in IIS and so the loading of this application pool for each web application will fail every time IIS starts up. This will result in a 5048 Warning from WAS within the System Event Log (for each Web Application):

16-12-2009 12-04-13

Whilst this is just a warning, the consequences are pretty serious, as this application cannot start (it has no valid hosting application pool) it will be ignored and functions that rely on it will fail. Ooops!

Here you can see the mis-configuration in IIS:

16-12-2009 12-05-57

For now the fix is simple, for each Web Application we can set the Application Pool correctly using Internet Services Manager (steps below) or APPCMD. We should expect this mis-configuration to be fixed in the future RTM of SharePoint 2010.

  1. Right click the /_vti_bin/sts application within the Web Application
  2. Click Manage Application
  3. Click Advanced Settings…
  4. In the General Settings section click the ellipses ()
  5. In the Select Application Pool dialog, select the correct application pool:
    (to determine which one to use run the following PowerShell Get-SPIisWebServiceApplicationPool | select Id, Name and use the GUID which corresponds to SecurityTokenServiceAppplicationPool)

    UPDATE FOR SHAREPOINT RTM: This cmdlet is now called Get-SPServiceApplicationPool not that you should see this problem with RTM

    16-12-2009 12-21-16
  6. Click OK twice
  7. Repeat for all SharePoint Web Applications
  8. Restart IIS (iisreset)

Don't be mad! This is a BETA!