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