As sometime happens, while setting up a repro for a customer (I’m working with him on a completely different problem) I wanted to test my sample code on a 32 bit w3wp.exe instance (I am running Windows 2008 x64); nothing easier on IIS7, just create a new application pool and change its “Enable 32.Bit Applications” property to true in IIS Manager and you’re done:
But when I tried to run my code, I got this a “HTTP Error 503. The service is unavailable” message and the application pool was stopped. The Application event log contains a few entries like the following:
Log Name: Application Source: Microsoft-Windows-IIS-W3SVC-WP Date: 02/02/2009 14.19.05 Event ID: 2280 Task Category: None Level: Error Keywords: Classic User: N/A Computer: <computername> Description: The Module DLL C:\Windows\system32\RpcProxy\RpcProxy.dll failed to load. The data is the error.
I also got some of this warning:
Log Name: System Source: Microsoft-Windows-WAS Date: 03/02/2009 20.42.55 Event ID: 5139 Task Category: None Level: Warning Keywords: Classic User: N/A Computer: <computername> Description: A listener channel for protocol 'http' in worker process '4580' serving application pool '32bitPool' reported a listener channel failure. The data field contains the error number
If I changed the application pool back to a 64 bit process, everything worked fine again.
I save you the tedious details, but the point is: RpcProxy.dll is 64 bit, obviously it cannot by loaded into a 32 bit process…
As I usually do as part of my “learning experience”, I installed all the available roles for IIS7 and one of them is “RPC over HTTP Proxy”:
This installs RpcProxy.dll (and other files) and changes applicationHost.config adding a new global module:
<add name="PasswordExpiryModule" image="C:\Windows\system32\RpcProxy\RpcProxy.dll" />
How can I prevent IIS from loading it? Easy, just add the preCondition=”bitness64” attribute as follows:
<add name="PasswordExpiryModule" image="C:\Windows\system32\RpcProxy\RpcProxy.dll" preCondition="bitness64" />
Bingo, I finally have my 32 bit worker process up and running!
Carlo
PingBack from http://www.clickandsolve.com/?p=3604
Getting feedback always nice, as it is getting suggestions about new posts as happened this morning with
Nice one carloc..this resolved one of my customer's issue (m with IIS team MS) ..thanks
Fou me it didn´t work... I change in applicationHost.config and when I try to change to 32bits give me an error in the file. Please can you help me
Sílvia
Silvia, which error do you get exactly? Anything in the event log?
Thanks so much, it resolved my issue!
Thank you a lot
This saved me a lot of time
Thank you so much for posting this! You just saved my bacon! I too had made this seemingly innocuous change and my application pools began crashing! Our webmail went down; what a mess!
Anyway, thanks again - for the post and the clear explanation!
Thanks Man..
I have been Finding th Solution of this problem in many forums but. I couldn't Find.
But U saved my Life.
Thanks
Regards