Infrastructure snapshots

The place where you will find posts for Microsoft infrastructure articles, info, latest news and offcourse articles that i create!

Running IIS 32-bit Applications on IIS 64-bit

Running IIS 32-bit Applications on IIS 64-bit

  • Comments 9
  • Likes

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
  • 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

  • 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

  • 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

  • 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

  • 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

  • Forgot to add.

    Eventviewer gets the following ERRORS

    ISAPI Filter 'C:\WINDOWS\Microsoft.NET\Framework\v2.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.

  • 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.

  • 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.NET\Framework64\v2.0.50727\aspnet_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.

  • 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

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment