I have a classic ASP app that I'm trying to run under IIS Express on 64 bit Windows. It uses Jet to connect to a Microsoft Access database and will not work under 64 bit.
I have created the following application pool for the ASP app, but it seems to ignore the enable32BitAppOnWin64
attribute and the process is still 64 bit.
<applicationPools>
<add name="UnmanagedClassicAppPool32" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" enable32BitAppOnWin64="true" />
</applicationPools>
How can I get this app pool in IIS Express to run as a 32 bit process?
Are you sure?
I had the same problem and eventually solved it by forcing the 64 bit drivers to install. Initially that failed because of an error that you can't install the 64 bit drivers if you have Office 2010 32 bit installed.
But ... you can force the 64 bit version of the Access Database Engine (ACE) from here to install with the 'passive' switch:
And then I was able to run my legacy code with my current development environment.
In IIS Express property window of VS studio, change the first option: 'Managed Application Pool' from 'Integrated' to 'Classic'
For Visual Studio 2013 Visual Studio 2015 Visual Studio 2017:
According to this, IIS Express 7.5 comes only as a 32 bit application. IIS Express 8.0 however, comes with both 32 bit and 64 bit versions of the application. The 32 bit version can be found at
c:\program files (x86)\IIS Express\iisexpress.exe
and the 64 bit version can be found atc:\program files\IIS Express\iisexpress.exe
.IIS Express ignores the
enable32BitAppOnWin64
attribute. To run the app pool as 32 bit, you must execute the 32 bit version of IIS Express.You can determine which version is running in Task Manager by examining the process on the Processes tab. The 64 bit version will be displayed as
iisexpress.exe
and the 32 bit version will be displayed asiisexpress.exe *32
.