Exchange Server 2007 SP3 kills our 32-bit compiled ASP webapplication RRS feed

  • Question

  • After installing Exchange Server 2007 Sp3, our classic ASP webapplication won't start anymore.

    While installing Exch2007 SP3, the installer adds a Native Module on the top-level (webserver) in IIS, named exppw, which - i think-  is needed for the new functionality of changing expired password. This new Exchange component C:\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\auth\exppw.dll is compiled in 64-bit, it is called on all webapplications, even on my 32-bit ASP webapplication, which crashes after 5 retries. The event viewer shows a clear message, as shown below.

    Only disabling and removing the native module exppw from the IIS top level configuration solves the problem, but it disables also the new Exchange expired password functionality.

    It look likes a incompatibility of Exch2007 SP3 with 32 bit webapplications. I want to install both my 32-bit ASP webapplication and Exchange 2007 SP3 on the same webserver, but it doesn't work. Is there a solution for this incompatibility?

    Configuration: Windows Server 2008 R2 x64 standard, Exchange Server 2007 SP3 standard with CAS en HUB role installed.


    Log Name:      Application
    Source:        Microsoft-Windows-IIS-W3SVC-WP
    Date:          7/2/2010 9:52:56 PM
    Event ID:      2282
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      F100.ccs.nl
    The Module DLL 'C:\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\auth\exppw.dll' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. The data field contains the error number. To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
        <Provider Name="Microsoft-Windows-IIS-W3SVC-WP" Guid="{670080D9-742A-4187-8D16-41143D1290BD}" EventSourceName="W3SVC-WP" />
        <EventID Qualifiers="49152">2282</EventID>
        <TimeCreated SystemTime="2010-07-02T19:52:56.000000000Z" />
        <Correlation />
        <Execution ProcessID="0" ThreadID="0" />
        <Security />
        <Data Name="ModuleDll">C:\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\auth\exppw.dll</Data>
        <Data Name="ProcessorArchitecture">x86</Data>

    Monday, July 5, 2010 10:14 AM


  • Have you set the “enable32BitAppOnWin64” property to “false” to “MSExchangeOWAAppPool” for in the IIS 7? (Reference)

    Please get the error number in the event 2282 (Reference)

    James Luo
    TechNet Subscriber Support (http://technet.microsoft.com/en-us/subscriptions/ms788697.aspx)
    If you have any feedback on our support, please contact tngfb@microsoft.com
    • Proposed as answer by Alan.Gim Tuesday, July 13, 2010 1:52 AM
    • Marked as answer by Alan.Gim Wednesday, July 14, 2010 2:13 AM
    Tuesday, July 6, 2010 3:32 AM

All replies

  • Have you set the “enable32BitAppOnWin64” property to “false” to “MSExchangeOWAAppPool” for in the IIS 7? (Reference)

    Please get the error number in the event 2282 (Reference)

    James Luo
    TechNet Subscriber Support (http://technet.microsoft.com/en-us/subscriptions/ms788697.aspx)
    If you have any feedback on our support, please contact tngfb@microsoft.com
    • Proposed as answer by Alan.Gim Tuesday, July 13, 2010 1:52 AM
    • Marked as answer by Alan.Gim Wednesday, July 14, 2010 2:13 AM
    Tuesday, July 6, 2010 3:32 AM
  • We had the same problem.

    Wasted about 10 hours on this before this post saved my sanity. Unfotunately we had to do a whole bunch of fixes on our server (unrelated to this) so with all the changes and application reinstallation it wasn't obvious what the cause was.

    This has nothing to do with the MSExchangeOWAAppPool setting

    I am not an expert in this area but my understanding is that exppw.dll is loaded globally in applicationHost.config and it is 64bit only - this leads to the crash with 32bit pools. Adding a conditional for 64bitness ala preCondition="bitness64" didn't work for me but I don't really know what I am doing in this area so someone else might want to have a go.

    You would have thought Microsoft would have learn't it's lesson in this area as it did exactly the same thing when it introduced RpcProxy. The first release caused the same problem because it is 64 bit only and they didn't add the preCondition condition.

    I have commented out the offending dll until someone can show me how to do the job properly (and I don't need the password changing functionality anyway).

    • Proposed as answer by TomTan Wednesday, July 14, 2010 8:53 PM
    Wednesday, July 14, 2010 8:53 PM
  • I had the same problem, and this thread was the only relevant thing I could find.  With the preCondition="bitness64", I got a 500.0 error (module exppw.dll not found), but without it, my 32-bit appPool crashes and I get a 503 service unavailable.  This is because that preCondition is needed TWICE for exppw.dll.

    Find the following (in the <modules> tag):

    <add name="exppw" />

    And add the preCondition="bitness64" like this:

    <add name="exppw" preCondition="bitness64" />

    Perform an iisreset (not sure if this was necessary, just good practice), and voila!  The RpcProxy.dll only showed in globalmodules, but the exppw.dll was in both globalmodules and modules.  Hopefully this will save someone the hours I wasted on this.

    And hey, Microsoft: stop breaking my legacy apps!

    Sr System Engineer
    • Proposed as answer by dingels35 Tuesday, August 31, 2010 1:51 PM
    Monday, August 2, 2010 2:04 AM
  • Thanks a lot. That was the info I needed to get the site up again.


    Tuesday, October 26, 2010 7:30 PM
  • I was having  a problem with RPC/HTTP, I was getting the error "503 Server unavailable" when trying to access Exchange 2007 server via RPC/Http.

    I noticed that the Default APP Pool was stopped and when I started it, was stopping automaticaly.

    When I set the enable32BitAppOnWin64 property to false, the Default APP Pool started and the rpc/http worked fine.


    Thanks for this post.

    Wednesday, March 30, 2011 10:43 PM
  • Hi Guys,

    I might sound like a novice and that because I am, but I have this problem and but don't how to get into the area where I'm to change that tag?

    Sorry if this sounds like a basic question.

    Wednesday, May 4, 2011 7:47 AM
  • Hi, Marek.  Pardon the shameful plug, but I went into more detail on my company's blog a while back and you can find it here: http://blog.v1corp.com/2010/08/17/iis-errors-when-running-32-bit-application-pools-on-sbs-2008/.  If any part of it doesn't make sense, let me know where you are stuck and I will try to provide more detail (either comment here or on my blog).
    Sr System Engineer
    Thursday, May 5, 2011 4:03 PM
  • I've given your fix ago, yeah the setting was set to disable 32 bit application. I guess we'll see how it goes. Thanks for taking the time to respond Derek.


    Thursday, July 7, 2011 5:29 AM
  • I have set the preCondition flag yet it doesn't seem to do anything.  I even completely removed the two lines containing 'exppw.dll' from applicationhost.config, and the error STILL comes up!

    Is there another version of applicationhost.config that IIS uses?

    I spent like two days on this already trying to get it to stop loading the dll but to no avail.  Please help.


    • Edited by Chowmiester Monday, October 24, 2011 9:46 PM
    Monday, October 24, 2011 9:46 PM
  • Chowmiester, did you look at my blog post mentioned above (http://blog.v1corp.com/2010/08/17/iis-errors-when-running-32-bit-application-pools-on-sbs-2008/)?  The issue is described in more detail there.  If that doesn't help, what error are you getting in IIS?
    Sr System Engineer
    Monday, October 24, 2011 11:37 PM