• 使IIS6运行在64位系统上


    使IIS6运行在64位系统上
    2008年08月21日 星期四 14:51

    如需在Windows 64bit上运行下列32bit应用,只需要执行脚本命令.

    Internet服务API扩展
    ISAPI过滤器
    ASP应用程序
    ASP.NET应用程序

    脚本命令:

    1.
    Open a command prompt and navigate to the directory:
    cd /d %systemdrive%\Inetpub\AdminScripts

    2.
    Type the following command:
    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"

    3.
    Press ENTER.
    --------------------

    Windows Server 2003 SP1 enables WOW64 compatibility for 32-bit Web applications in IIS 6.0

    Article ID : 895976
    Last Review : December 3, 2007
    Revision : 3.4

    SUMMARY

    After you install Microsoft Windows Server 2003 Service Pack 1 (SP1) on the products that are listed in the "Applies To" section, you can configure Microsoft Internet Information Services (IIS) 6.0 to start 32-bit worker processes (W3wp.exe). A 32-bit worker process enables WOW64 compatibility for 32-bit Web applications on a server that runs a 64-bit version of Windows Server 2003. This WOW64 compatibility for 32-bit Web applications lets 32-bit DLLs such as ISAPI Filter DLLs and ISAPI Extension DLLs load in-process.

    MORE INFORMATION

    On a 64-bit version of Windows Server 2003 that has SP1 installed, IIS starts a 32-bit worker process or a 64-bit worker process, according to the value in the following metabase property:
    W3SVC/AppPools/Enable32bitAppOnWin64
    When the value for the Enable32bitAppOnWin64 property is 0, or when the property is missing, IIS 6.0 starts a 64-bit worker process. If the Enable32bitAppOnWin64 property is present and the value is anything other than 0, IIS 6.0 will start a 32-bit worker process.

    IIS 6.0 cannot make sure that configured ISAPI Filter DLLs and ISAPI Extension DLLs can actually load in a worker process. You must make sure that only 32-bit ISAPI DLLs are configured to load in a 32-bit worker process or only 64-bit ISAPI DLLs are configured to load in a 64-bit worker process.

    If you configure a 32-bit ISAPI Filter DLL to load in a 64-bit worker process or if you configure a 64-bit ISAPI Filter DLL to load in a 32-bit worker process, an error message that is similar to the following may be written to the Application log:
    Event Type: Error
    Event Source: W3SVC-WP
    Event Category: None
    Event ID: 2268

    Description:
    Could not load all ISAPI filters for site/service. Therefore startup aborted.
    Data: 0000: c1 00 00 00
    If you configure a 32-bit ISAPI Extension DLL to load in a 64-bit worker process or if you configure a 64-bit ISAPI Extension DLL to load in a 32-bit worker process, you may also receive a 500 error response that contains the following text:
    %1 is not a valid Win32 application
    We also recommend that you use a 32-bit debugger to troubleshoot 32-bit Web applications. Or, use a 64-bit debugger to troubleshoot 64-bit Web applications. The dump file information may not be accurate if you use either of the following methods:
    You use a 64-bit debugger to debug a 32-bit process or application.
    You use a 32-bit debugger to debug a 64-bit process or application.
     
    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.50727\aspnet_regiis.exe -i
    4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607(32 位)的状态设置为允许。
    ASP.NET 2.0,64 位版本
    要运行 64 位版本的 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\v2.0.50727\aspnet_regiis.exe -i
    4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607 的状态设置为允许。
    注意:ASP.NET 2.0 的内部版本可能随当前发行的内部版本的变化而变化。这些步骤适用于内部版本 2.0.40607。
  • 相关阅读:
    Linux rpm命令详解
    IIS上传文件大小限制和上传时间限制
    .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
    C# Thread、ThreadPool、Task、Invoke、BeginInvoke、async、await 汇总
    iostat 命令详解
    IdentityServer4 配置负载均衡
    Rabbit RPC 代码阅读(一)
    .Wait()与.GetAwaiter()之间有什么区别
    AddTransient,AddScope和AddSingleton 有什么不同?
    微服务ServiceMesh及三种模式介绍
  • 原文地址:https://www.cnblogs.com/liangqihui/p/1333477.html
Copyright © 2020-2023  润新知