views:

1377

answers:

2

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?

+2  A: 

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
Mehrdad Afshari
-1: As stated in the question it is Windows 2003 x64, so no IIS7
Robert MacLean
Vote him back up for address IIS6. If not, we'll vote down your question.
David-W-Fenton
+2  A: 

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

Jon Spokes