Robert MacLean
Robert MacLean

Reputation: 39261

Configure ASP.NET to use x86 on x64 Windows

I am trying to deploy GAL Modifier, which is an ASP.NET website which uses Microsoft Access on a Windows 2003 x64 machine. However there is no JET driver on x64 (see here), so the change is to use change the target CPU to x86.

However as it is a web site there is no option in Visual Studio except Any CPU, so how can I change the settings to force it to use x86?

Upvotes: 5

Views: 9814

Answers (3)

Jon Spokes
Jon Spokes

Reputation: 2599

You may want to put a 1 or 0 on the end of that statement rather than "true"

http://support.microsoft.com/kb/894435/en-us (this is an old link but you can find details with the wayback machine https://web.archive.org/web/20150131051556/http://support.microsoft.com/kb/894435/EN-US/)

ASP.NET 1.1, 32-bit version

To run the 32-bit version of ASP.NET 1.1, follow these steps:

Click Start, click Run, type cmd, and then click OK.

  • Type the following command to enable the 32-bit mode: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
  • Type the following command to install the version of ASP.NET 1.1 and to install the script maps at the IIS root and under: %SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
  • Make sure that the status of ASP.NET version 1.1.4322 is set to Allowed in the Web service extension list in Internet Information Services Manager.

ASP.NET 2.0, 32-bit version

To run the 32-bit version of ASP.NET 2.0, follow these steps:

Click Start, click Run, type cmd, and then click OK.

  • Type the following command to enable the 32-bit mode: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
  • Type the following command to install the version of ASP.NET 2.0 (32-bit) and to install the script maps at the IIS root and under: %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
  • Make sure that the status of ASP.NET version 2.0.50727 (32-bit) is set to Allowed in the Web service extension list in Internet Information Services Manager.

ASP.NET 2.0, 64-bit version

To run the 64-bit version of ASP.NET 2.0, follow these steps:

  • Click Start, click Run, type cmd, and then click OK.
  • Type the following command to disable the 32-bit mode: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
  • Type the following command to install the version of ASP.NET 2.0 and to install the script maps at the IIS root and under: %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
  • Make sure that the status of ASP.NET version 2.0.50727 is set to Allowed in the Web service extension list in Internet Information Services Manager.

Upvotes: 3

christian
christian

Reputation: 1

on iis 6.0, on your left side select "Application Pools", then (on your right side) right click on your app and click on "Advanced Settings...", on the "Enable 32-Bit Applications" option, change to True, and you're ready to go!

Upvotes: 0

Mehrdad Afshari
Mehrdad Afshari

Reputation: 422026

You should make the application pool 32 bit. Go to Application Pools in IIS7 Management Console, right click your application pool and select "Set Application Pool Defaults..." item.

In the properties dialog, set "Enable 32 Bit Applications" to "True."

This will make the application pool process 32 bit (running in WOW64 mode) and loads the 32 bit version of .NET Framework in the process.

In IIS6, basically the same thing applies. You should switch to 32 bit application pool to enable 32 bit ISAPI extensions:

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

Also, you need to change application mappings from aspnet_isapi.dll in Framework64 folder to aspnet_isapi.dll in Framework folder. The same thing should be done with aspnet_filter.dll.

You can re-register ASP.NET on the server instead of manually changing the DLL configurations:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i -enable

Upvotes: 8

Related Questions