Home > Exchange 2007, Server 2008, Server 2008 R2, Small Business Server 2008 > IIS errors when running 32-bit application pools on SBS 2008

IIS errors when running 32-bit application pools on SBS 2008

I have run into this problem a few times with customer migrations, and again recently when installing some service packs and updates.  Consider the following scenario:

You are running one or more 3rd-party web applications on a machine running Small Business Server 2003.  You decide it is time to upgrade to Small Business Server 2008 only to find that your web applications no longer function, and the application pool is crashing. 

This is because SBS 2008 is a 64-bit operating system, and the web application you are trying to run has 32-bit components.  If you look in the Event Viewer, you will likely see the following in the Application log as well:

A listener channel for protocol ‘http’ in worker process ‘####’ serving
application pool ‘DefaultAppPool’ reported a listener channel failure. The
data field contains the error number.

Application pool ‘DefaultAppPool’ is being automatically disabled due to a
series of failures in the process(es) serving that application pool.

If you edit the Advanced Settings for the Application Pool and set Enable 32-Bit Applications to True (see above), you will be met with a new problem: 500.19.

This can be remedied by editing a few lines the applicationhost.config file (C:\Windows\System32\inetsrv\config) like thus:

<add name=”PasswordExpiryModule” image=”C:\Windows\system32\RpcProxy\RpcProxy.dll” />

becomes

<add name=”PasswordExpiryModule” image=”C:\Windows\system32\RpcProxy\RpcProxy.dll” preCondition=”bitness64″ />

This, along with an IISRESET, will fix the IIS errors and let your 32-bit ASP web application play nice on SBS 2008.  Should you later install Exchange 2007 SP3, you will need to repeat the process for exppw.dll (it is listed twice – once in GlobalModules and once in Modules).

Just for the record, this problem is not limited to SBS 2008.  It’s the rpcproxy.dll that has the incompability with 32-bit application pools that causes this, and that DLL is needed for Outlook Anywhere and the Terminal Services Gateway role.  You may see this on any 64-bit Exchange 2007 server or Terminal Server Gateway server, depending on your configuration.

Advertisements
  1. September 3, 2010 at 7:57 am

    Great! Thank you very much! I googled since two days without finding a workaround!

    Liked by 1 person

  2. Peter Toth
    May 17, 2011 at 6:55 am

    Thank You !

    Have a great day too !

    Peter

    Like

  3. Manuel Hanke
    May 27, 2011 at 9:41 am

    Great post.
    But in the applicationHost.config file are two entries with “exppw”.

    Both have to be modified with the preCondition=”bitness63″ tag.
    Anyway, thank you very much.

    Like

    • June 1, 2011 at 7:23 pm

      That’s correct; there are two entries for “exppw” in applicationHost.config. This is mentioned briefly toward the end of the original post.

      Should you later install Exchange 2007 SP3, you will need to repeat the process for exppw.dll (it is listed twice – once in GlobalModules and once in Modules).

      Also, just for clarification, it should be preCondition=”bitness64″, not bitness63.

      Like

  4. December 22, 2011 at 4:15 am

    Just thought I would add a little comment. The SBS 2008 and 2011 machines with exchange.
    Try these

    C:\windows\system32\inetsrv\config\applicationhost.config – following entries amended

    Command
    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name=’xpress’]
    Run to turn of DynanmicCompressionModule that was enabled by WSUS install
    .

    Like

  5. Abi S
    June 14, 2012 at 3:37 pm

    hey Derek fab article. However, I was using SMB 2011 and I found that I had to set enable32bitapplications to ‘false’ and then my site worked….

    Like

  6. Abi S
    June 14, 2012 at 3:38 pm

    I meant after all the changes you mentioned + chris’s

    Like

  7. June 14, 2012 at 8:37 pm

    Thanks for the info, Chris and Abi. It’s nice to know this article is still helping people nearly two years after I wrote it!

    Like

  8. Damian
    July 5, 2012 at 3:41 pm

    It’s a great article and it helped me a lot. But, even though I’ve followed it step by step and also tried to turn off DynamicCompressionModule I still couldn’t make it work. I still receive the same error.

    Do you have any other ideas?
    Thanks for posting this article.

    Like

  9. July 9, 2012 at 9:29 am

    Some people have reported that the ‘enable32bitapplications’ had to be set to ‘true’ for their web applications to work, and others have reported the setting had to be set to ‘false’. Have you tried both? In my scenario (in the original article), I had to enable this as well as make changes to the applicationhost.config file and perform an IISRESET to make my web application work.

    If this does not help, can you provide some details on your environment (server OS, Exchange version and SP level (if installed), errors you get when browsing the site from the local server (503, 500.19, etc), and what errors you see in Event Viewer that might be related. If you prefer to keep this out of the comments, you can email me directly at dbrown@v1corp.com as well.

    Like

  10. October 31, 2014 at 2:02 pm

    Wonderful goods from you, man. I have understand your stuff previous
    to and you’rejust extremely magnificent. I really like what yyou have acquired here,
    really like what you’re saying and the way inn which you sayy it.

    You make it entertaining annd you still care forr to keep it smart.

    I cant wait tto read much more from you. This is really a tremendous
    site.

    Like

  1. June 1, 2011 at 2:59 am
  2. June 1, 2017 at 5:58 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: