有没有办法从 .exe 文件中知道我们可以在哪个 Windows 版本上运行它?

有没有办法从 .exe 文件中知道我们可以在哪个 Windows 版本上运行它?

我询问的是 Windows .exe 安装文件。

  • 有没有办法知道我们可以在哪个 Windows 版本上运行它?
  • 例如其中是否有一些信息,我们可以从中找到经过认证的 Windows 版本列表。
  • 是否有一个工具可以分析 .exe 文件并告诉我们它是否与每个 Windows 版本兼容?

答案1

不,这是不可能的。

虽然这种情况很少见,但并不容易发现。

可以为特定体系结构编译可执行文件,例如 x86(32 位)和 x64(64 位),但可以为较旧的体系结构(例如 16 位)制作旧的可执行文件。

Windows XP 仍然以模拟的形式支持 16 位应用程序,但 Windows Vista 及更高版本则完全放弃了对 16 位应用程序的支持。

从 Windows XP 开始,就有 64 位版本。如果您运行的是 64 位版本的操作系统,则可以运行可执行文件的 x64 版本。

构建 x64 和 x86 版本应用程序的开发人员可以通过在您尝试在 x64 操作系统上运行 x86 版本时显示错误来强制执行此功能。

仅从可执行文件来看,如果不使用某些外部工具,就无法查询它是针对哪种架构设计的。

除上述内容外,软件可能需要某些框架,例如 .net。鉴于这些框架已更新,对较旧操作系统的支持在某个时候会被取消,这意味着除非您已经安装了该框架的旧版本,否则该可执行文件将无法在该较旧的操作系统上运行。

也就是说,除非你正在处理的软件可能真的很旧,否则你可以放心地假设该软件可以在 Windows 7 及更高版本上运行。如果有疑问,请联系开发人员或查看他们的网站。

答案2

依赖项您将看到有关 Exe 文件的信息。它显示PE 头显示 Windows 的最低版本:

在此处输入图片描述

因此,USBView.exe从 x64 版本开始的 Windows 8.1 SDK 需要 64 位 Windows 5.2,这是 Server 2003 或 64 位 Windows XP。

如果您看到 CPU 类型为 16Bit,则它只能在 32Bit Windows 系统上运行。

相关内容