![在 64 位 Windows-7 上执行 32 位安装程序时出错](https://linux22.com/image/1243140/%E5%9C%A8%2064%20%E4%BD%8D%20Windows-7%20%E4%B8%8A%E6%89%A7%E8%A1%8C%2032%20%E4%BD%8D%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F%E6%97%B6%E5%87%BA%E9%94%99.png)
我有几个 32 位版本的安装程序可执行文件。当我尝试在 Windows-7 操作系统上执行安装这些程序时,出现了以下错误:
此文件的版本与您正在运行的 Windows 版本不兼容。请检查您计算机的系统信息,看看您是否需要该程序的 x86(32 位)或 x64(64 位)版本。
这是否意味着旧版 32 位版本的可执行文件无法在 Windows-7 64 位操作系统上运行?
如何才能让旧的 32 位版本可执行文件在 Windows-7 上运行?
如果我在 Windows-7 64 位系统上使用 MS-VS2005 编译 C 文件生成一些可执行文件,那么生成的可执行文件是 32 位还是 64 位版本?
谢谢,
-广告
答案1
这是否意味着旧版 32 位版本的可执行文件无法在 Windows-7 64 位操作系统上运行?
一般情况下 32 位可执行文件都可以运行。但是程序员可能会硬编码版本限制(或错误地检查版本)。
如何才能让旧的 32 位版本可执行文件在 Windows-7 上运行?
这取决于失败的原因。在 Explorer 中打开 exe 的属性并在“兼容性”选项卡上进行选择是最简单的方法。MS 有更复杂的兼容性工具,可以提供各种行为覆盖。
如果我在 Windows-7 64 位系统上使用 MS-VS2005 编译 C 文件生成一些可执行文件,那么生成的可执行文件是 32 位还是 64 位版本?
这取决于项目设置。Windows SDK C/C++ 编译器已经支持 64 位很长时间了。
答案2
运行 32 位 exe 的替代方法是安装虚拟机并安装 32 位操作系统。不确定是否还有其他替代方法。
我认为这取决于您在该 c 程序中编写的内容,这会影响它是否在 32 位或 64 位操作系统中运行,因此很可能仅在 32 位中运行。
看看这个 微软