Running IIS 32-bit Applications on IIS 64-bit


Do you have IIS on Windows 64 bit and want to run application that is for 32 bit. No problem. From the Inetpub admin scripts run the following:


cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true”


Here are the details.


Windows Server 2003TM, Service Pack 1 enables IIS 6.0 to run 32-bit Web applications on 64-bit Windows using the Windows-32-on-Windows-64 (WOW64) compatibility layer. IIS 6.0 using WOW64 is intended to run 32-bit personal productivity applications needed by software developers and administrators, including 32-bit Internet Information Services (IIS) Web applications.


On 64-bit Windows, 32-bit processes cannot load 64-bit DLLs, and 64-bit processes cannot load 32-bit DLLs. If you plan to run 32-bit applications on 64-bit Windows, you must configure IIS to create 32-bit worker processes. Once you have configured IIS to create 32-bit worker processes, you can run the following types of IIS applications on 64-bit Windows:



  • Internet Server API (ISAPI) extensions

  • ISAPI filters

  • Active Server Page (ASP) applications (specifically, scripts calling COM objects where the COM object can be 32-bit or 64-bit)

  • ASP.NET applications

IIS can, by default, launch Common Gateway Interface (CGI) applications on 64-bit Windows, because CGI applications run in a separate process.


Before you configure IIS to run 32-bit applications on 64-bit Windows, note the following:



  • IIS only supports 32bit worker processes in Worker Process Isolation mode on 64-bit Windows

  • On 64-bit Windows, the World Wide Web Publishing service can run 32-bit and 64-bit worker processes. Other IIS services like the IIS Admin service, the SMTP service, the NNTP service, and the FTP service run 64-bit processes only

  • On 64-bit Windows, the World Wide Web Publishing service does not support running 32-bit and 64-bit worker processes concurrently on the same server

Comments (9)

  1. Anonymous says:

    When I run this command on 64 bit on server 2003 , after reset IIS service, My websites are became "Service Unavailable". When check event log I came to know thats

    Could not load all ISAPI filters for site/service.  Therefore startup aborted.

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

    And Followed By

    ISAPI Filter ‘%systemroot%Microsoft.NETFramework64v2.0.50727aspnet_filter.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.

    Few other forums are suggested me to run …

    aspnet_regiis.exe -i -enable command. But after that also no use.

    Can some one help in this.?

    Thanks

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

  2. Hi Simon,

    No, Express only includes the 32-bit version of SSRS, accordingly you can’t combine with other 64-bit web sites as we discussed before,

    Thanks

  3. Hi Simon,

    On 64-bit Windows, the World Wide Web Publishing service does not support running 32-bit and 64-bit worker processes concurrently on the same server, since Exchange is running in 64-bit mode you can’t run the SQL reporting services 32-bit mode on the same
    box. You can find SQL express with the advanced services at
    http://www.microsoft.com/downloads/details.aspx?familyid=5B5528B9-13E1-4DB9-A3FC-82116D598C3D&displaylang=en

    finally, i don’t recommed you to install these services on the Exchange server as it should be dedicated to mail services only.

    Thanks

  4. Anonymous says:

    hi.

    I went through this tutorial and very litmited there is on the web about this subject.

    I followed your instructions and I get the following:

    Service Unavailable

    It shows up on all my sites.

    Even those running static HTML.

    Our applications USE classic asp.

    They use Server.createobject for a lot of things.

    So its a must to have 32 bit.

    I dont know why we got a 64 bit server, other than we did not know IIS would not support both modes.

    We dont have the time to re program our applications in .net

    Please let me knwo what causes the Service Unavailable Error

    Do i have to create a new app pool?

    all my 3 sites are using default app pool with standard settings.

    Also i went in IIS 6 and tried allowing ever Web Service Extension..

    Also tried installing .net framework 1.1 (this is a new box and it was not installed by default)

    None of these steps work.

    Creating a new web site doesnt fix the error either.

    What would cause the service unavaible.

    And the app pool to just crash like that?

    Thanks in advance

    Frank Basti

  5. Hi Frank,

    – Are you using windows 64 bit?

    – Are you using the DotNetFramewoek 32-bit or 64 bit? if you are using Windows 64bit then you should use the 64bit version of DotNet which is available here

    http://www.microsoft.com/downloads/details.aspx?FamilyID=b44a0000-acf8-4fa1-affb-40e78d788b00&displaylang=en

    Feed me back.

  6. Anonymous says:

    Hi,

    Does this last point preclude running 32-bit Reporting Services and Exchange Server 2007 side-by-side on a 64bit System?

    I have read and tried to implement the information in the article "How to: Configure IIS to Run 32-bit Reporting Services in WOW64 Mode" http://msdn2.microsoft.com/en-gb/library/ms143293.aspx but this seems to break the IIS reliant portions of Exchange 2007.

    I’ve also looked at switching between 32bit and 64 bit versions of Dotnet 2.0 but this article http://support.microsoft.com/kb/894435 makes express note not to try this with Exchange Server 2007 but doesn’t say why.

    Am I trying to achieve something that is impossible or should I keep looking? I am trying to test SQL 2005 Express (64 bit version) and have installed just the reporting services component of the 32bit version (as I can’t seem to find a 64 bit version of SQL 2005 Express with Advanced Services).

    Any light you could shed on this would be greatly appreciated.

    Cheers Simon

  7. Anonymous says:

    Hi Thanks for your reply,

    I take on board your recommendation, however just to clarify, does the SQL express with the advanced services  download you have refered to include a 64bit version of Reporting Services?

    When unpacked there appear to be x86 and x64 versions of a few components as separate msi files but the report services component only has the one msi file.

    So while you recommend against it, is it even possible, meaning is there a 64 bit version of the RS component?

    Cheers

    Simon

  8. Anonymous says:

    Forgot to add.

    Eventviewer gets the following ERRORS

    ISAPI Filter ‘C:WINDOWSMicrosoft.NETFrameworkv2.0.50727\aspnet_filter.dll’ could not be loaded due to a configuration problem. The current configuration only supports loading images built for a AMD64 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.

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

  9. Radeon Ling says:

    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true

    This script has been run, but the host told me that it don't find this file. My host's OS is Windows Server 2008