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.
我有一个经典的ASP应用程序,我试着在64位窗口的IIS Express下运行。它使用Jet连接到Microsoft Access数据库,不会在64位下工作。
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.
我已经为ASP应用程序创建了下面的应用程序池,但是它似乎忽略了enable32BitAppOnWin64属性,而进程仍然是64位。
<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?
如何将这个应用程序池在IIS Express中运行为32位进程?
4 个解决方案
#1
77
For Visual Studio 2013 Visual Studio 2015 Visual Studio 2017:
为Visual Studio 2013 Visual Studio 2015 Visual Studio 2017:
Tools
-> Options
-> Projects and Solutions
-> Web Projects
-> Uncheck "Use the 64 bit version of IIS Express for web sites and projects"`
#2
39
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 7.5的应用程序只有32位。但是,IIS Express 8.0同时包含32位和64位版本的应用程序。32位版本可以在c:\程序文件(x86)\IIS Express\iisexpress中找到。exe和64位版本可以在c:\程序文件\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.
IIS Express忽略了enable32BitAppOnWin64属性。要将应用程序池运行为32位,您必须执行IIS Express的32位版本。
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
.
通过在process选项卡上检查流程,您可以确定在任务管理器中运行哪个版本。64位版本将显示为iisexpress。exe和32位版本将显示为iisexpress。exe * 32。
#3
1
In IIS Express property window of VS studio, change the first option: 'Managed Application Pool' from 'Integrated' to 'Classic'
在VS studio的IIS Express属性窗口中,更改第一个选项:“托管应用程序池”从“集成”到“Classic”
#4
0
Are you sure?
你确定吗?
It uses Jet to connect to a Microsoft Access database and will not work under 64 bit.
它使用Jet连接到Microsoft Access数据库,不会在64位下工作。
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.
我遇到了同样的问题,最终通过强迫64位驱动程序安装来解决它。最初的失败是因为一个错误,如果你安装了Office 2010 32位,你就不能安装64位驱动程序。
But ... you can force the 64 bit version of the Access Database Engine (ACE) from here to install with the 'passive' switch:
但是…您可以将Access数据库引擎(ACE)的64位版本强制安装在“被动”开关上:
AccessDatabaseEngine_x64.exe /passive
And then I was able to run my legacy code with my current development environment.
然后我就可以用我当前的开发环境来运行我的遗留代码。
#1
77
For Visual Studio 2013 Visual Studio 2015 Visual Studio 2017:
为Visual Studio 2013 Visual Studio 2015 Visual Studio 2017:
Tools
-> Options
-> Projects and Solutions
-> Web Projects
-> Uncheck "Use the 64 bit version of IIS Express for web sites and projects"`
#2
39
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 7.5的应用程序只有32位。但是,IIS Express 8.0同时包含32位和64位版本的应用程序。32位版本可以在c:\程序文件(x86)\IIS Express\iisexpress中找到。exe和64位版本可以在c:\程序文件\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.
IIS Express忽略了enable32BitAppOnWin64属性。要将应用程序池运行为32位,您必须执行IIS Express的32位版本。
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
.
通过在process选项卡上检查流程,您可以确定在任务管理器中运行哪个版本。64位版本将显示为iisexpress。exe和32位版本将显示为iisexpress。exe * 32。
#3
1
In IIS Express property window of VS studio, change the first option: 'Managed Application Pool' from 'Integrated' to 'Classic'
在VS studio的IIS Express属性窗口中,更改第一个选项:“托管应用程序池”从“集成”到“Classic”
#4
0
Are you sure?
你确定吗?
It uses Jet to connect to a Microsoft Access database and will not work under 64 bit.
它使用Jet连接到Microsoft Access数据库,不会在64位下工作。
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.
我遇到了同样的问题,最终通过强迫64位驱动程序安装来解决它。最初的失败是因为一个错误,如果你安装了Office 2010 32位,你就不能安装64位驱动程序。
But ... you can force the 64 bit version of the Access Database Engine (ACE) from here to install with the 'passive' switch:
但是…您可以将Access数据库引擎(ACE)的64位版本强制安装在“被动”开关上:
AccessDatabaseEngine_x64.exe /passive
And then I was able to run my legacy code with my current development environment.
然后我就可以用我当前的开发环境来运行我的遗留代码。