虽然我的理解是,没有根本原因为32位硬件/操作系统编写的程序不能在64位硬件/操作系统上运行,但实际上,我发现许多程序用于32位版本的
Windows,不会在64位版本的Windows上工作.例子包括许多受欢迎的安全公用事业(大多数产品来自诺顿和Check Point的Zone Alarm)和几款游戏(我一直在试图让侠盗猎车手4运行几个星期,但无济于事 – 当然,这可能与任何与GTA4相关的其他问题有任何关系,但这并不在此处.
我听说程序的不兼容性可能是由于不想从“Program Files(x86)”文件夹运行的简单,但是还有其他一些原因呢?为什么为32位系统编写的病毒扫描程序或防火墙不能在64位系统上运行?当一切理论上向后兼容时,为什么游戏不能运行?
我在这里提供了最好的解释,其中基本上说,32位程序运行在一个仿真层上,不允许从64位环境中运行的本机程序获得系统访问权限:
http://blogs.msdn.com/oldnewthing/archive/2008/12/22/9244582.aspx
我会假设这意味着像GTA4这样的程序出现的问题来自仿真层,不会产生32位本地系统上发现的预期结果.这就是为什么你一直看到Microsoft发行兼容性更新的原因.
以下是MSDN对此事的看法:
http://msdn.microsoft.com/en-us/library/bb427430(VS.85).aspx