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

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%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

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

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_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%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

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

%SYSTEMROOT%\Microsoft.NET\Framework64\ \aspnet_regiis.exe -i

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

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

 

你可能感兴趣的:(asp.net)