Windows Server 2003 SP1 enables WOW64 compatibility for 32-bit Web applications in IIS 6.0

Article translations Article translations
Article ID: 895976 - View products that this article applies to.
Expand all | Collapse all

SUMMARY

After you install Microsoft Windows Server 2003 Service Pack 1 (SP1) on the products that are listed in the "Applies To" section, you can configure Microsoft Internet Information Services (IIS) 6.0 to start 32-bit worker processes (W3wp.exe). A 32-bit worker process enables WOW64 compatibility for 32-bit Web applications on a server that runs a 64-bit version of Windows Server 2003. This WOW64 compatibility for 32-bit Web applications lets 32-bit DLLs such as ISAPI Filter DLLs and ISAPI Extension DLLs load in-process.

MORE INFORMATION

On a 64-bit version of Windows Server 2003 that has SP1 installed, IIS starts a 32-bit worker process or a 64-bit worker process, according to the value in the following metabase property:
W3SVC/AppPools/Enable32bitAppOnWin64
When the value for the Enable32bitAppOnWin64 property is 0, or when the property is missing, IIS 6.0 starts a 64-bit worker process. If the Enable32bitAppOnWin64 property is present and the value is anything other than 0, IIS 6.0 will start a 32-bit worker process.

IIS 6.0 cannot make sure that configured ISAPI Filter DLLs and ISAPI Extension DLLs can actually load in a worker process. You must make sure that only 32-bit ISAPI DLLs are configured to load in a 32-bit worker process or only 64-bit ISAPI DLLs are configured to load in a 64-bit worker process.

If you configure a 32-bit ISAPI Filter DLL to load in a 64-bit worker process or if you configure a 64-bit ISAPI Filter DLL to load in a 32-bit worker process, an error message that is similar to the following may be written to the Application log:
Event Type: Error
Event Source: W3SVC-WP
Event Category: None
Event ID: 2268

Description:
Could not load all ISAPI filters for site/service. Therefore startup aborted.
Data: 0000: c1 00 00 00
If you configure a 32-bit ISAPI Extension DLL to load in a 64-bit worker process or if you configure a 64-bit ISAPI Extension DLL to load in a 32-bit worker process, you may also receive a 500 error response that contains the following text:
%1 is not a valid Win32 application
We also recommend that you use a 32-bit debugger to troubleshoot 32-bit Web applications. Or, use a 64-bit debugger to troubleshoot 64-bit Web applications. The dump file information may not be accurate if you use either of the following methods:
  • You use a 64-bit debugger to debug a 32-bit process or application.
  • You use a 32-bit debugger to debug a 64-bit process or application.

Properties

Article ID: 895976 - Last Review: December 3, 2007 - Revision: 3.4
APPLIES TO
  • Microsoft Internet Information Services 6.0, when used with:
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
Keywords: 
kbinfo kbtshoot kbconfig KB895976

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com