Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / IIS

Running a 32-bit application under IIS on a 64-bit machine

4.88/5 (6 votes)
7 Feb 2012CPOL 158.9K  

The Problem

When you try to access a 32-bit application that is running under IIS on a 64-bit machine you will most probably end up with an error. This is because, by default, IIS launches CGI applications on 64-bit work process if you're running it under a 64-bit Windows.

If you are using IIS 6+ on an operating system no older than Win2003 SP1, you’re in luck. IIS 6+ enables us 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. For more info, read MS Technet article regarding this problem.

The Solution 

To configure IIS to run 32-bit applications you must follow these steps:

  1. Open IIS
  2. Go to current server – > Application Pools
  3. Select the application pool your 32-bit application will run under
  4. Click Advanced setting or Application Pool Default
  5. Set Enable 32-bit Applications to True

If this option is not available to you, follow these next steps:

  • Go to %windir%\system32\inetsrv\
  • Execute the appcmd.exe tool:
    appcmd set apppool /apppool.name:MyAppPool32bit /enable32BitAppOnWin64:true

If that doesn’t work, these will most definitely work:

  1. Go to %systemdrive%\Inetpub\AdminScripts
  2. Execute cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true” 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)