win32位应用程序可以在64位服务器上运行吗?
以下是我的场景:我工作的公司将应用程序部署到 32 位 Windows 2003 服务器,他们希望迁移到 64 位 Windows 2008 Server。值得注意的是,这些 32 位定制开发的应用程序无法在 64 位计算机上运行。我不知道这一点。
我一直认为32位软件可以在64位操作系统上运行并且只使用32位地址。另一方面,64 位软件无法在 32 位操作系统上运行。在 64 位上,确实必须创建 64 位软件,但仍然可以创建专为 32 位计算机设计的软件。
有人可以详细说明一下吗?
Here's my scenario: the company I work has applications deployed to a 32bit Windows 2003 server and they want to move to a Windows 2008 Server that is 64 bit. It has been noted that these 32bit custom developed applications will not run on a 64 bit machine. I was not aware of this.
I have always thought that 32bit software CAN run on a 64 bit OS and just use the 32bit address. A 64 bit software on the other cannot run on a 32 bit OS. On a 64 bit, one does have to create 64 bit software but can and still also create software that is designed for 32 bit machines.
Can someone please elaborate on this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一般来说,32 位应用程序将在 64 位 Windows 下运行(这在技术上称为 WOW64 - Windows On Windows)。这适用于迄今为止的所有 64 位 Windows 版本,包括服务器。
WOW64 进程在任务管理器中标记为 *32,例如:chrome.exe *32。 Sysinternals 的 Process Explorer 有一个单独的列:图像类型(64 位与 32 位)。
如果应用程序具有托管在其他进程内的组件,则这些组件必须适应托管它们的进程。示例:
还有关于文件重定向(System32 / SysWOW64 / SysNative)和注册表重定向(Wow6432Node)的注意事项,我不会详细讨论。
In general, 32-bit applications will run under a 64-bit Windows (This is technically called WOW64 - Windows On Windows). This applies to all 64-bit Windows version to date, including Server.
WOW64 processes are marked in task manager with *32, For example: chrome.exe *32. Sysinternals' Process Explorer has a separate column for this: Image Type (64 vs 32-bit).
If the app has components hosted inside other processes, then those components must accommodate processes they're hosted in. Examples:
There are also considerations regarding file redirection (System32 / SysWOW64 / SysNative) and registry redirection (Wow6432Node), which I will not go into.
一般来说,32位应用程序将在64位操作系统下运行。如果您的应用程序依赖于 32 位内核驱动程序(例如 VPN 客户端),那么您将必须移植到 64 位。
In general, 32-bit applications will run under a 64-bit OS. If your app relies on a 32-bit kernel driver (say, a VPN client), then you will have to port to 64-bit.