Thursday, 19 November 2009

"HTTP Error 503. The service is unavailable" when running 32bit Web App on 64bit IIS

Situation : When you run a 32bit Application on a 64bit IIS the error "HTTP Error 503. The service is unavailable" is displayed

What Happened : I got this after converting a 64bit web app to 32bit so that I could run Jet4 and connect to an access Database.  The following error is also recorded in the event log "The Module DLL C:\Windows\system32\RpcProxy\RpcProxy.dll failed to load. The data is the error." The problems seems to stem from the inability to run a 64bit versions of RpcProxy.dll in a 32bit enviroment.

So anywho what we need to do is change the applicationHost.config file and inform IIS to only use the RpcProxy in 64bit apps. So....
  • Open up the applicationHost.config file in notepad, it's located in the C:\Windows\System32\inetsrv\config folder
  • Find the following line of text in the file <add name="PasswordExpiryModule" image="C:\Windows\system32\RpcProxy\RpcProxy.dll" />
  • Change it so it looks like this <add name="PasswordExpiryModule" image="C:\Windows\system32\RpcProxy\RpcProxy.dll" preCondition="bitness64" />
  • Save the file and exit notepad.

Lesson Learned : The preCondition="bitness64" argument seems to force the specified module to only run in 64bit enviroments, could be useful for other scenarios.

No comments:

Post a Comment