Reputation: 10263
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?
Upvotes: 68
Views: 66423
Reputation: 4407
For Visual Studio 2013, Visual Studio 2015, Visual Studio 2017, Visual Studio 2019, Visual Studio 2022:
Tools
-> Options
-> Projects and Solutions
-> Web Projects
-> Uncheck "Use the 64 bit version of IIS Express for web sites and projects"`
Upvotes: 164
Reputation: 10213
Add <Use64BitIISExpress>false</Use64BitIISExpress>
under the <PropertyGroup>
tag of your csproj project.
It's also available through the UI by clicking on project properties -> Web tab -> Bitness (change to x64).
Upvotes: 13
Reputation: 21
In IIS Express property window of VS studio, change the first option: 'Managed Application Pool' from 'Integrated' to 'Classic'
Upvotes: 2
Reputation: 299
Are you sure?
It uses Jet to connect to a Microsoft Access database and will not work under 64 bit.
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:
AccessDatabaseEngine_x64.exe /passive
And then I was able to run my legacy code with my current development environment.
Upvotes: 2
Reputation: 10263
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 at c:\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 as iisexpress.exe *32
.
Upvotes: 45