这是我的方案:我工作的公司将应用程序部署到32位Windows 2003服务器,他们想要迁移到64位的Windows 2008 Server。已经注意到这些32位定制开发的应用程序不能在64位机器上运行。我没有意识到这一点。
我一直认为32位软件CAN可以在64位操作系统上运行,只需使用32位地址。另一个64位软件无法在32位操作系统上运行。在64位上,必须创建64位软件,但仍然可以创建专为32位机器设计的软件。
有人可以详细说明一下吗?
答案 0 :(得分:3)
通常,32位应用程序将在64位操作系统下运行。如果您的应用程序依赖于32位内核驱动程序(例如,VPN客户端),那么您将必须移植到64位。
答案 1 :(得分:3)
通常,32位应用程序将在64位Windows下运行(这在技术上称为WOW64 - Windows On Windows)。这适用于迄今为止的所有64位Windows版本,包括Server。
WOW64进程在任务管理器中用* 32标记,例如:chrome.exe * 32。 Sysinternals的' Process Explorer有一个单独的列:Image Type(64 vs 32-bit)。
如果应用程序的组件托管在其他进程中,那么这些组件必须适应他们托管的进程。示例:
还有关于文件重定向(System32 / SysWOW64 / SysNative)和注册表重定向(Wow6432Node)的注意事项,我不会介绍。