Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

All my application pools were stopped this morning after I got to work. I can restart them, but when I try to load the website the app pool crashes again.

Update: I've looked in the GAC as the error below suggests and it seems that the file is not there. How do I get it back?

Update 2: I found a further error in the event log saying

The Module name FastCgiModule path C:\WINDOWS\System32\inetsrv\iisfcgi.dll
returned an error from registration.  The data is the error.

So following the information from here I removed CGI and my sites are working again. This has fixed the initial problem, but now I don't have FastCGI so I'm fairly sure that PHP will no longer be working (I don't have any PHP at the moment to test).

Original Post

I'm getting this error in the event viewer:


IIS Manager could not load type 'Web.Management.PHP.PHPProvider, Web.Management.PHP, 
Version=, Culture=neutral, PublicKeyToken=8175de49a9aec91d' for module provider
'PHP' 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 
'Web.Management.PHP, Version=, Culture=neutral, PublicKeyToken=8175de49a9aec91d'
or one of its dependencies. The system cannot find the file specified.

File name: 'Web.Management.PHP, Version=, Culture=neutral,
at System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean 
ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean 
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean 
ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
at System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean 
ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
at System.Type.GetType(String typeName, Boolean throwOnError)
at Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String 
userName, String connectionName)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value 
[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value     


Everything was working fine last night when I left work, and since they've done the maintenance it's all broken.

share|improve this question

closed as off-topic by Iain, Tom O'Connor May 19 '14 at 10:01

  • This question does not appear to be about server, networking, or related infrastructure administration within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

What changes occurred during the maintenance? – Shane Madden Jun 5 '12 at 20:50
Um I'm not sure, it was done by our VPS hosting provider who said We have an emergency maintenance task that will fix the issues related to the power panel not functioning on the VPS's, Virtuozzo updates have also been scheduled during the same window. – James Hay Jun 5 '12 at 20:55
Please add the IIS version tag to indicate what version you are on. It should be one of: iis7 iis7.5 iis8 iis8.5. At this point, it's more of historical interest, but it helps keep things clean and may find a solution for others. – Moshe Katz May 15 '14 at 22:36
This question should be closed because it is a couple of years old and has no answer. – Iain May 18 '14 at 21:50