如何让64位的windows上的IIS可以运行32位的程序

在最近的工作中,引用了一个外部的组件,然而由于那个外部组件只能在32位环境中运行,当我们的程序布署到64位的环境中时,就不能工作了。由于那个组件是在服务中引用的,我们的服务是宿主在IIS中的,而这时的IIS是运行在64位的framwork上的。所以尽管我们把服务编成了32位的,还是不能正常工作,

经查找,知道需要修改IIS,让其运行在32位的framwork框架上,且IIS能运行32位的程序。

如下是从microsoft的帮助中得到的。原文地址: http://support.microsoft.com/kb/894435

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 位)的状态设置为允许
按如下修改后,即使我们的服务编成Any CPU的版本,也可能正常运行了。

你可能感兴趣的:(.net,开发)