在 64 位版本的 Windows Server 2003 和 Windows XP 的 32 位程序的兼容性考虑事项的概述

文章翻译 文章翻译
文章编号: 896456 - 查看本文应用于的产品
本文讨论的第三方产品是由生产独立于 Microsoft 的公司。Microsoft 不担保,隐含的还是有关的性能或可靠性,其中产品。
展开全部 | 关闭全部

本文内容

概要

64 位版本的 Microsoft Windows Server 2003 和 Microsoft Windows XP 的使用 Microsoft Windows-32-上-Windows-64 (WOW64) 子系统运行 32 位程序,而无需修改。64 位版本的 Windows Server 2003 和 Windows XP 的 16 位二进制文件的 32 位驱动程序不提供支持。取决于 16 位二进制文件或 32 位驱动程序的程序不能运行 64 位版本 Windows XP 或 Windows Server 2003 的程序制造商提供了一个更新程序。

可能会影响程序的兼容性或性能的考虑事项。您可以确定程序是否将通过测试上的一个 64 位版本 Windows XP 或 Windows Server 2003 的程序具有兼容性或性能问题。

本文介绍了一些在 64 位版本的 Windows Server 2003 和 Windows XP 的运行 32 位程序的兼容性考虑事项。这篇文章不比较的 32 位和 64 位版本的 Windows Server 2003 和 Windows XP 中,或不同的 64 位操作系统。本文假定您了解 32 位二进制文件和 64 位二进制文件之间的差异。

虽然本文中描述的兼容性注意事项适用于 64 位版本的 Windows Server 2003 和 Windows xp,本文主要面向 Microsoft Windows Server 2003 Service Pack 1 (SP1) 版本。特别指出 Windows Server 2003 SP1 和更早版本的 Windows Server 2003 的 64 位版本之间存在任何主要功能差异。

简介

基于 x64 的 Microsoft Windows Server 2003 的版本和Microsoft Windows XP 专业 x64 版的优化运行本机64 位程序。此外,x 基于 x64 版本的 Windows Server 2003Windows XP 专业 x64 版使用 WOW64 子系统运行 32 位程序。

更多信息

运行 32 位程序

WOW64 子系统使 32 位程序不运行修改基于 x64 版本的 Windows Server 2003 和 Windows XP 的专业 x64 版。WOW64 子系统会通过创建 32 位环境在基于 x64 版本的 Windows Server 2003 和 Windows XP 的专业 x64 版。WOW64 子系统的详细信息,请参阅在 64 位 Windows 部分中的"运行 32 位应用程序"主题Microsoft 平台 SDK 文档。若要查看此文档,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/en-us/library/aa384249.aspx

程序性能方面的考虑

WOW64 子系统创建 32 位环境上 x 基于 x64Windows Server 2003 和 Windows XP 专业 x64 版本的版本。某些 32 位程序可能较慢上运行这些操作系统的系统而不愿在 32 位版本的 Windows Server 2003 和 Windows XP。例如,32 位程序可能运行速度慢比它的 Windows XP 专业 x64 版本上像在 Microsoft Windows XP 专业版上。另外,某些 32 位程序需要大量内存可能会出现在基于 x64 的更高的性能Windows Server 2003 和 Windows XP 专业 x64 版本的版本。此性能提高是因为基于 x64 的 Windows 版本2003 和 x64 版本的 Windows XP 专业版的服务器支持多个物理比 32 位版本的 Windows Server 2003 和 Windows XP 的内存专业人员。

有关内存之间区别的详细信息64 位和 32 位版本的 Windows,之间的管理,请参阅"虚拟Microsoft 的关于内存管理部分中的地址空间"主题平台 SDK 文档。若要查看此文档,请访问以下Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/aa366912.aspx

WOW64 子系统的限制

WOW64 子系统不支持下列程序:
  • 16 位操作编译的程序系统
  • 内核模式程序编译为 32 位操作系统系统

16 位程序

X 基于 x64 版本的 Windows Server 2003 和 Windows XP 的专业 x64 版不支持 16 位程序或 16 位程序组件。运行 16 位程序需要软件模拟x 基于 x64 的 Windows Server 2003 或版本的 Windows XP 专业 x64版会显著降低的性能程序。

16 位安装程序经常用于安装和配置 32 位程序。此外,某些 32 位程序要求 16 位要正确运行的组件。尽管需要 16 位的 32 位程序后安装这些组件可能会正确运行,您不能使用16 位安装程序来安装 32 位程序。需要 16 位的程序组件无法在 x 上运行的 Windows Server 2003 和基于 x64 的版本Windows XP 专业 x64 版。

如果是 32 位程序的要求16 位组件试图运行 16 位文件或组件,32 位程序将在系统日志中记录一条错误消息。然后将使操作系统32 位程序处理错误。

若要确定是否程序需要 16 位组件、 安装和运行该程序。如果该程序将生成一个错误消息,请与程序制造商联系与基于 x64 的 Windows Server 2003 的版本兼容的更新和 Windows XP 专业 x64 版。

32 位驱动程序

X 基于 x64 版本的 Windows Server 2003 和 Windows XP 的专业 x64 版不支持 32 位驱动程序。所有硬件设备专门为基于 x64 的 x 必须编译驱动程序和程序的驱动程序Windows Server 2003 和 Windows XP 专业 x64 版本版本。

如果试图安装 32 位驱动程序的 32 位程序运行 x 基于 x64 版本的 Windows Server 2003 SP1 或的计算机Windows XP 专业 x64 版本的驱动程序的安装将失败。当这种情况下,x 基于 x64 版本的 Windows Server 2003 SP1 或Windows XP 专业 x64 版为 32 位报告错误程序。

如果一个 32 位程序试图注册的 32 位驱动程序正在运行 x 基于 x64 版本的 Windows 的计算机上自动启动2003 或 x64 版本,引导加载程序上的 Windows XP 专业版的服务器计算机识别出的 32 位驱动程序不受支持。基于 x64 的 x没有版本或 Windows XP 专业 x64 的 Windows Server 2003 版启动 32 位驱动程序,但不启动其他注册驱动程序。

若要确定程序是否需要 32 位驱动程序,安装并运行该程序。如果该程序将生成一条错误消息,请联系与兼容的更新程序的制造商基于 x64 版本的 Windows Server 2003 和 Windows XP 专业 x64 的 x版本。

其他注意事项

注册表和文件重定向

WOW64 子系统隔离从 64 位二进制文件的 32 位二进制文件通过将注册表调用和某些文件系统调用重定向。WOW64 子系统隔离的二进制文件,以防止意外访问 32 位二进制文件64 位二进制文件中的数据。例如,运行.dll 文件的 32 位二进制从 %systemroot%\System32 文件夹可能会意外地尝试访问 64 位与 32 位二进制文件不兼容的.dll 文件。要防止出现这种情况,WOW64 子系统将重定向到 %systemroot%\System32 文件夹中的访问%systemroot%\SysWOW64 文件夹中。此重定向可以防止兼容性错误因为它需要的.dll 文件是专门设计用于与 32 位程序。

有关文件系统的详细信息,注册表重定向,请参见"运行 32 位应用程序"主题中 64 位Microsoft 平台 SDK 文档窗口一节。若要查看此文档,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/en-us/library/aa384249.aspx
WOW64 子系统将 32 位二进制呼叫,而无须重定向需要 32 位二进制文件的更改。但是,您可能会看到这样的证据在执行某些任务时重定向。例如,如果您键入不能在 64 位命令提示符下,在命令提示符下的命令行脚本无法访问程序文件文件夹中的 32 位程序。WOW64 子系统重定向和安装程序文件 (x86) 文件夹中的 32 位程序。到访问正确的文件夹,您必须更改命令行脚本。或者,您必须在 32 位命令键入命令行脚本提示。32 位命令提示符下自动重定向到文件系统调用正确的 32 位目录。

要启动 32 位命令提示符,请按照下列步骤:
  • 单击 开始单击 运行,键入%windir%\SysWoW64\cmd.exe,然后单击 确定.

版本检查

某些 32 位程序检查的版本信息操作系统。许多执行此检查的 32 位程序不能识别x 基于 x64 版本的 Windows Server 2003 或 Windows XP 专业 x64为兼容的操作系统的版本。此行为发生时,32 位程序将生成版本检查错误,,然后关闭。如果这种行为发生,32 位程序的制造商联系以获得更新的与 x 基于 x64 版本的 Windows Server 2003 和 Windows xp 兼容专业 x64 版。

Microsoft.NET Framework

将用 Microsoft.NET Framework 编译的程序如果满足下列条件,作为 WOW64 子系统中的 32 位程序运行true:
  • 该程序具有标头中的 ILONLY 位集信息。
  • 与 Microsoft.NET Framework 编译该程序1.1。
如果该程序标头中没有 ILONLY 位集信息,或如果用 Microsoft.NET Framework 已编译的程序2.0 版中,将运行该程序作为本机 64 位程序。

OpenGL

X 基于 x64 版本的 Windows Server 2003 和 Windows XP 的专业 x64 版不包含了 OpenGL 图形驱动程序。联系人与基于 x64 的 x 兼容的驱动程序的设备的制造商Windows Server 2003 和 Windows XP 专业 x64 版本版本。

Microsoft 管理控制台 (MMC)

X 基于 x64 版本的 Windows Server 2003 和 Windows XP 的专业 x64 版使用 64 位版本的 Microsoft 管理控制台(MMC) 运行各种管理单元。但是,有时可能需要 32 位WOW64 子系统中运行的管理单元的 MMC 版本。有关详细信息关于 x 基于 x64 版本 Windows Server 2003 和 MMC 的行为Windows XP 专业版 x64 版本,请参见"运行 32 位和 64 位Microsoft 使用 MMC 2.0 中的管理单元在 64 位 Windows"主题平台 SDK 文档。若要查看此文档,请访问以下Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/aa815172.aspx

安腾注意事项

以下各节简要介绍注意事项和在基于 Itanium 的运行的 32 位程序特有的限制Microsoft Windows Server 2003 和 Microsoft windows 版本XP。

英特尔体系结构 32 位执行图层 (ia-32 EL)

使用 Microsoft Windows Server 2003 的基于 Itanium 的版本服务包 1 (SP1) 和 Microsoft Windows XP 的使用英特尔体系结构32 位执行层 (ia-32 EL),以支持 32 位程序。在更早版本基于 Itanium 的版本的 Microsoft Windows Server 2003 和 Windows XP 中,这些程序都支持 WOW64 子系统。WOW64 子系统使用特殊的硬件,则 cpu 运行 x86 32 位程序的说明。但是,ia-32 EL 转换 x86 32 位程序中的说明基于 Itanium 的版本的 Windows Server 2003 与之相当的说明和 Windows XP。Ia-32 EL 转换 32 x x86 指令本机 64 位模式下,然后让 WOW64 子系统运行 32 位程序在基于 Itanium 的 CPU 硬件上的程序。

运行 32 位程序在基于 Itanium 的 CPU 硬件可以提高性能的 32 位程序。您可能会遇到更高的性能即使一些系统开销ia-32 EL 翻译之间的 32 位和 64 位的指令时,会发生指令集。Ia-32 EL 还提供了许多功能增强32 位程序的性能。例如,可以缓存 ia-32 EL已转换的指令。这将增加当前正在运行的 32 位程序的性能。

有关详细信息ia-32 EL 中,有关的信息,请访问以下英特尔网站站点:

http://www.intel.com/cd/software/products/asmo-na/eng/219773.htm Microsoft 提供的第三方帮助您查找技术支持信息,请与联系。此联系人信息如有更改恕不另行通知。Microsoft 不能保证此第三方联系信息的准确性。

内存管理

在基于 Itanium 的版本的 Microsoft Windows Server 2003 和Windows XP 的内存管理器支持以下功能不为32 位程序:
  • 散点图/收集输入/输出 (IO)
    详细信息,请单击下面的文章编号,以查看在文章Microsoft 知识库中:
    160606SQL Server 在 Windows NT 下的性能增强
  • 地址窗口扩展 (AWE)
  • 内存页面修改的通知
不能运行 32 位程序需要这些功能基于 Itanium 的版本的 Windows Server 2003 和 Windows XP。您必须运行64 位版本的程序。

如果一个 32 位程序需要这些内存管理功能将生成一个错误,请与制造商联系对于基于 Itanium 的版本与兼容的更新程序Windows Server 2003 和 Windows XP。

图形支持

下表显示的图形解决方案对于基于 Itanium 的版本的 Windows 运行的 32 位二进制文件支持Server 2003 和 Windows XP。
收起该表格展开该表格
显卡解决方案软件加速硬件加速
Ddraw 会
D3D3
D3D5
D3D6
D3D7
D3D8
D3D9
OpenGL
在图形硬件加速不是的实例支持,需要图形硬件加速的二进制文件,将不会运行为在基于 Itanium 的版本和 Windows Server 2003 的 32 位二进制文件Windows XP。此外,将大量使用图形的 32 位二进制文件没有硬件加速时遇到性能降低支持。

如果 DirectX 硬件加速,32 位程序时需要该程序的制造商联系以获得与兼容的更新基于 Itanium 的版本的 Windows Server 2003 和 Windows 的XP。

x 64 注意事项

X 基于 x64 版本的 Windows Server 2003 和 Windows XP 的专业 x64 版支持 32 位说明和 64 位的说明。WOW64 子系统可以通过切换在本机 64 位模式下运行 32 位程序处理器的本机模式。不是单独的硬件或软件图层必需。当您运行 32 位时不可能会遇到性能降低x 基于 x64 版本的 Windows Server 2003 和 Windows xp 中的程序专业 x64 版。

有关性能详细信息基于 x64 处理器的处理器或访问制造商联系制造商的 Web 站点。信息本文档中的解决方案表示 Microsoft 的当前视图这些问题的发布日期的公司。此解决方案通过 Microsoft 或第三方提供程序可用。Microsoft没有明确建议的任何第三方提供商或第三方解决方案这篇文章可能描述。可能还存在其他第三方提供商或本文未介绍的第三方解决方案。因为Microsoft 必须响应不断变化的市场情况,此信息应不能解释为一项承诺由 Microsoft。Microsoft 不能保证或认可的任何信息或显示任何解决方案的准确性由 Microsoft 或任何提到第三方提供商。

Microsoft不作任何担保,并排除所有表示法,担保,和无论是明示、 暗示或法定的条件。这些包括但不限于表述、 担保或条件的标题,非侵权性、 令人满意的条件、 适销性或适用性任何服务、 解决方案、 产品或任何其他方面的特定用途资料或信息。在任何 Microsoft 将概不负责任何第三方解决方案,此文章提到。

参考

AMD64 处理器,有关详细信息请访问下面的高级微设备 Web 站点:
http://www.amd.com/us-en/
Microsoft提供第三方联系信息,以帮助您查找技术支持。此联系信息如有更改恕不另行通知。Microsoft 没有保证此第三方联系信息的准确性。

有关开发程序的详细信息有关基于 Itanium 的版本的 Windows Server 2003 和 Windows xp,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/en-us/library/ms952405.aspx


与相关的其他问题有关的详细信息开发 64 位版本的 Windows Server 2003 和程序Windows XP 中,请访问下面的 Microsoft 网站:
http://msdn.microsoft.com/

属性

文章编号: 896456 - 最后修改: 2012年6月20日 - 修订: 6.0
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows XP Professional x64 Edition
关键字:?
kbinfo kbtshoot kbusage kbperformance kbhardware kbinterop kbmt KB896456 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 896456
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com