如何通过脚本检测64位平台

Posted

技术标签:

【中文标题】如何通过脚本检测64位平台【英文标题】:how to detect 64bit platform by script 【发布时间】:2011-04-06 19:00:58 【问题描述】:

是否有检测 64 平台的代码,例如

if X86 then ...
if X64 then ...

【问题讨论】:

【参考方案1】:

如果您想检查是否删除或运行文件,您也可以检查调用。

Check: IsWin64;

甚至

Check: "not IsWin64";

这允许将 32 位和 64 位应用程序安装程序编译到一个包中,但只运行特定的一个包。

编辑:为了进一步扩展那些可能正在搜索此内容的人,我想跟进。

例如,如果您只想允许安装程序复制某些文件,您可以执行以下操作:

[Files]
Source: "MyProg-x64.exe"; DestDir: "app"; Check: IsWin64;
Source: "MyProg-x86.exe"; DestDir: "app"; Check: "not IsWin64";

改编自:http://www.jrsoftware.org/ishelp/index.php?topic=scriptcheck

【讨论】:

【参考方案2】:

是的。

使用

if IsWin64 then
  // Do sth
else
  // Do sth else

还有一个Is64BitInstallMode 函数。实际上,32 位设置可以在 64 位操作系统上运行。因此,Is64BitInstallMode 暗含IsWin64,但IsWin64 不暗含Is64BitInstallMode

【讨论】:

以上是关于如何通过脚本检测64位平台的主要内容,如果未能解决你的问题,请参考以下文章

用于检测系统是 32 位还是 64 位的 Shell 脚本 [重复]

在 32 位 powershell 中按路径查找/杀死 64 位进程

确定当前的 PowerShell 进程是 32 位还是 64 位?

我的C/C++语言学习进阶之旅 通过C++跨平台的预编译宏来区分不同的操作系统:Win32/Win64/Unix/Linux/MacOS/iOS/Android等

我的C/C++语言学习进阶之旅 通过C++跨平台的预编译宏来区分不同的操作系统:Win32/Win64/Unix/Linux/MacOS/iOS/Android等

通过来自64位exe的OLE分派启动32位exe