ASP.NET 32-bit on Windows Server x64 IIS - Yes?

Windows Server 2003 x64 edition is so cool, now that I have a new 64 bit AMD machine to play on. One thing I was worried about, though, is how do you get ASP.NET 32 bit support in IIS 6.0 - which is now 64 bit! Uh-Oh!

Turns out there's a script mod you can make (the only place I found this is here.)


if you run the following command in Command Prompt, you will be able to use .NET 1.1 ASP.NET in x64s IIS6 (which runs in 32-bit mode):

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

Oops! -- And here is the info from the "horses mouth" at TechNet.

DETAILS:
Running 32-bit Applications on 64-bit Windows (IIS 6.0)
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) extensionsISAPI filtersActive Server Page (ASP) applications (specifically, scripts calling COM objects where the COM object can be 32-bit or 64-bit)ASP.NET applicationsIIS can, by default, launch Common Gateway Interface (CGI) applications on 64-bit Windows, because CGI applications run in a separate process.


Configuring IIS to run 32-bit Web applications on 64-bit Windows
Before you configure IIS to run 32-bit applications on 64-bit Windows, note the following:
IIS only supports 32-bit 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.
After configuring IIS to run 32-bit Web applications on 64-bit Windows
After you configure IIS 6.0 to run 32-bit Web applications, IIS stores 32-bit DLLs and ISAPIs in the %windir%\syswow64\inetsrv directory. All other IIS files, including the MetaBase.xml file, are stored in the %windir%\system32\inetsrv directory. File access to the System32 and sub directories are transparently redirected based on the bitness of the process making that file access (64-bit processes have full access, while 32-bit processes have access to System32 redirected to Syswow64). If your legacy applications have specific 32-bit file access needs and you notice application failures, see if the application needs to reference the new %windir%\syswow64\inetsrv to resolve the problem.

Comments

  1. Anonymous8:00 PM

    Have you tried the script mod?

    The link where you found it displays "Service Unavailable", which is excactly what happened to my IIS behavior after using the suggested script.

    I really want to run ASP.Net on 64-Bit Windows server 2003. Any additional info is appreciated.

    Thanks,
    Markus

    ReplyDelete
  2. The script works, and is well documented in other places. Just hard to find.

    ReplyDelete
  3. Anonymous3:23 AM

    If i enable through this script, then some 64 bit applications dont work. So how can i convert my application to run in 64 mode?

    ReplyDelete
  4. Danny9:12 PM

    This happened to me. After typing in the script, I also received 'Service Unavailable' to all sites on the web server.

    Does anyone fix to this as I do want to run IIS6 in 32-bit mode so ASP connects to Access db's using ADO?

    Many thanks

    ReplyDelete

Post a Comment

Popular posts from this blog

Some observations on Script Callbacks, "AJAX", "ATLAS" "AHAB" and where it's all going.

IE7 - Vista: "Internet Explorer has stopped Working"

FIREFOX / IE Word-Wrap, Word-Break, TABLES FIX

System.Web.Caching.Cache, HttpRuntime.Cache, and IIS Recycles

FIX: Requested Registry Access is not allowed (Visual Studio 2008)