64位环境启用ASP.net 2.0的32位扩展

         程序中新开发了一个处理Excel数据的功能,发布到x64的服务器之后,出现了一些状况:

        The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

但在安装同样软件的x32的服务器上没有这个问题。

Google了一下,主要是由于asp.net 2.0的64bit类库没有上述中的组件造成的。没办法,只好使用32bit的ASP.net 2.0来跑这个程序了。但这样,在IIS6环境下,不能同时启用32bit和64bit的ASP.net 2.0,没别的办法,暂时先这么接受吧。

具体来说,执行两个命令行程序,然后再从IIS的Web服务扩展中启用一下就OK了。摘录如下:

ASP.NET 2.0,32 位版本

要运行 32 位版本的 ASP.NET 2.0,请按照以下步骤操作:

1. 单击"开始",单击"运行",键入 cmd,然后单击"确定"。

2. 键入以下命令启用 32 位模式:

cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

3. 键入以下命令,安装 ASP.NET 2.0(32 位)版本并在 IIS 根目录下安装脚本映射:

%SYSTEMROOT%Microsoft.NETFrameworkv2.0.40607aspnet_regiis.exe -i

4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607(32 位)的状态设置为允许。

在执行的时候,要将v2.0.40607改成你的服务器中对应的2.0的版本。比如写这篇时候,我的电脑用的是v2.0.50727。

如果要取消32位版的启用,恢复到64bit的ASP.net 2.0环境,执行下面的步骤:

1. 单击"开始",单击"运行",键入 cmd,然后单击"确定"。

2. 键入以下命令禁用 32 位模式:

cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

3. 键入以下命令,安装 ASP.NET 2.0 版本并在 IIS 根目录下安装脚本映射:

%SYSTEMROOT%Microsoft.NETFramework64 aspnet_regiis.exe -i

4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607 的状态设置为允许。

微软官方来源:https://support.microsoft.com/kb/894435

版权声明:
作者:chenzj
链接:https://www.it-js.net/37.html
来源:IT技术-记录IT方面的故障
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
64位环境启用ASP.net 2.0的32位扩展
         程序中新开发了一个处理Excel数据的功能,发布到x64的服务器之后,出现了一些状况:

        The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
<<上一篇
下一篇>>