在64位Windows上运行32位应用程序[iis]

在64位Windows上运行32位应用程序

Win2003SP164位版的系统, 使用WOW64来运行32位的应用程序,包括IIS 6.0运行32位WEB应用程序。

 

在64位Windows上,32位的进程无法加载64位的DLL,同样64位的进程无法加载32位的DLL。
因此如果需要在64位系统上的IIS中运行32位的WEB应用,则必须对IIS进行配置,
使其创建32位的工作进程,以运行32位WEB应用。
只要IIS能创建32位工作进程,以下类型的32位IIS运行程序代码,便可在64位系统的IIS中运行:

• Internet Server API (ISAPI) extensions
• ISAPI filters
• Active Server Page (ASP) applications
  (specifically, scripts calling COM objects where the COM object can be 32-bit or 64-bit)
• ASP.NET applications

由于CGI应用运行在独立的进程空间中,因此64位IIS能直接执行32位的CGI程序。


在配置64位IIS以运行32位应用之前,需注意:

• 64位Windows系统中,只有在独立工作进程模式下,IIS才能支持32位的工作进程。
• 在64位Windows系统中, 只有WWW服务能运行32位或64位工作进程,
  其他如IIS Admin Service、SMTP服务、NNTP服务、FTP服务都只能在64位进程下运行。
 
• 在64位Windows系统中, 同一台服务器上的WWW服务不支持32位和64位工作进程并发运行,
  即IIS只能配置成运行32位应用,或者只能运行64位应用。

64位IIS运行32位web应用配置完成后,IIS将32位的DLL和ISAPI存放到%windir%/syswow64/inetsrv目录中。
其他所有的IIS文件包括MetaBase.xml文件,被存放到%windir%/system32/inetsrv目录中。
对System32及其子目录的文件访问,将根据应用的位码被透明地重定向到其对应的目录中。
对于原有的应用程序有特殊的32位文件访问需求而运行失败,
查看该应用所引用的文件是否位于%windir%/syswow64/inetsrv目录以解决相应问题。

 


Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0)
配置IIS,实现64位IIS运行32位WEB应用
 

1. 打开命令行定位到 %systemdrive%/Inetpub/AdminScripts目录.
 
2.键入并执行以下命令:

cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
 
3. 如果需要恢复到运行64位应用则:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "false"

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值