繁体   English   中英

Win32位应用程序可以在64位服务器上运行吗?

[英]Will win32 bit applications run on a 64 bit server?

这是我的情况:我工作的公司已将应用程序部署到32位Windows 2003服务器上,他们希望移至64位Windows 2008 Server。 已经注意到,这些32位定制开发的应用程序将无法在64位计算机上运行。 我不知道这一点。

我一直认为32位软件可以在64位OS上运行,并且仅使用32位地址即可。 另一个64位软件则不能在32位OS上运行。 在64位上,确实必须创建64位软件,但是可以并且仍然可以创建专为32位计算机设计的软件。

有人可以详细说明吗?

通常,32位应用程序将在64位OS下运行。 如果您的应用程序依赖于32位内核驱动程序(例如VPN客户端),则您将必须移植到64位。

通常,32位应用程序将在64位Windows(在技术上称为WOW64-Windows On Windows)下运行。 这适用于迄今为止的所有64位Windows版本,包括Server。

WOW64进程在任务管理器中用* 32标记,例如:chrome.exe * 32。 Sysinternals的Process Explorer对此具有单独的列:图像类型(64位与32位)。

如果该应用程序的组件托管在其他进程中,则这些组件必须容纳它们托管在其中的进程。示例:

  • Shell扩展托管在explorer.exe中,其位数与操作系统的位数匹配。 因此,您应同时编译32位和64位扩展名,并在安装过程中注册与OS位数匹配的扩展名。
  • 内核模式驱动程序托管在内核中,其位数也与操作系统的位数相匹配。 因此,以上适用。
  • Winsock LSP(分层服务提供程序)托管在所有64位(本机)和32位(WOW64)进程中。 因此,您应同时编译32位和64位LSP,并在安装过程中将它们都注册在各自的目录中。

关于文件重定向(System32 / SysWOW64 / SysNative)和注册表重定向(Wow6432Node),还有一些注意事项,我将不再赘述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM