IIS Shared Configuration feature requires all servers to run the same version of IIS

This article helps you resolve the problem where you can't mix and match Microsoft Internet Information Services (IIS) versions in the same server farm when you use the Shared Configuration feature in IIS.

Original product version:   Internet Information Services 8.0, 8.5
Original KB number:   3151973

Summary

Don't use the Shared Configuration feature in IIS for a server farm that contains different releases of IIS. If you mix and match IIS versions in the same server farm, errors are logged in the Application log.

For example, the following combinations aren't supported:

  • IIS 7 and IIS 7.5
  • IIS 7 and IIS 8
  • IIS 7 and IIS 8.5
  • IIS 7.5 and IIS 8
  • IIS 7.5 and IIS 8.5
  • IIS 8 and IIS 8.5

More information

This behavior is by design. The Administration.Config feature includes the modules for use in IIS Manager, and these entries specify the version numbers. When you use unsupported combinations of IIS, IIS Manager can't load the feature components, and the user interface (UI) is missing the icons for those modules.

For example:
Microsoft.Web.Management.Iis.dll from IIS 8 specifies Version=8.0.0.0, and IIS 8.5 specifies Version=8.5.0.0.

Sample errors

The following errors are logged in the Application log and are generated by the Microsoft-Windows-IIS-IISManager source:

  • Error 1: IISMANAGER_ERROR_LOADING_PROVIDER_TYPE

    IIS Manager could not load type Microsoft.Web.Management.Iis.Handlers.HandlersModuleProvider, Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 for module provider Handlers that is declared in %windir%\system32\inetsrv\config\administration.config. Verify that the type is correct, and that the assembly that contains the module provider is in the Global Assembly Cache (GAC). Exception:System.IO.FileNotFoundException: Could not load file or assembly Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 or one of its dependencies. The system cannot find the file specified.
    File name: Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
    at System.Type.GetType(String typeName, Boolean throwOnError)
    at Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)

  • Error 2: IISMANAGER_ERROR_LOADING_PROVIDER_TYPE

    IIS Manager could not load type Microsoft.Web.Management.Iis.Authentication.AuthenticationModuleProvider, Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 for module provider Authentication that is declared in %windir%\system32\inetsrv\config\administration.config. Verify that the type is correct, and that the assembly that contains the module provider is in the Global Assembly Cache (GAC).
    Exception:System.IO.FileNotFoundException: Could not load file or assembly Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 or one of its dependencies. The system cannot find the file specified.
    File name: Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
    at System.Type.GetType(String typeName, Boolean throwOnError)
    at Microsoft.Web.Management.Server AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)

  • Error 3: IISMANAGER_ERROR_LOADING_PROVIDER_TYPE

    IIS Manager could not load type Microsoft.Web.Management.Iis.Ssl.SslModuleProvider, Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 for module provider 'Ssl' that is declared in %windir%\system32\inetsrv\config\administration.config. Verify that the type is correct, and that the assembly that contains the module provider is in the Global Assembly Cache (GAC).
    Exception:System.IO.FileNotFoundException: Could not load file or assembly Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 or one of its dependencies. The system cannot find the file specified.
    File name: Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
    at System.Type.GetType(String typeName, Boolean throwOnError)
    at Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)

  • Error 4: IISMANAGER_ERROR_LOADING_PROVIDER_TYPE

    IIS Manager could not load type Microsoft.Web.Management.Iis.Certificates.CertificatesModuleProvider, Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 for module provider Certificates that is declared in %windir%\system32\inetsrv\config\administration.config. Verify that the type is correct, and that the assembly that contains the module provider is in the Global Assembly Cache (GAC).
    Exception:System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
    File name: Microsoft.Web.Management.Iis, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
    at System.Type.GetType(String typeName, Boolean throwOnError)
    at Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)