how to detect 64bit platform by script

2019-01-22 07:43发布

is there code to detect 64 platform e.g.

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

标签: inno-setup
2条回答
神经病院院长
2楼-- · 2019-01-22 07:50

If you want to throw a check on whether to drop or run a file you can also throw a check on the call.

Check: IsWin64;

or even

Check: "not IsWin64";

This allows a quick and easy way to compile 32-bit & 64-bit application installers into one package, but only run the specific one.

EDIT: To expand a little further for those that might be searching for this, I wanted to follow up.

For example, if you want to only allow certain files to be copied down by the installer you could do the following:

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

Adapted from source: http://www.jrsoftware.org/ishelp/index.php?topic=scriptcheck

查看更多
相关推荐>>
3楼-- · 2019-01-22 07:59

Yes.

Use

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

There is also a Is64BitInstallMode function. Indeed, a 32-bit setup can run on a 64-bit OS. Hence, Is64BitInstallMode implies IsWin64, but IsWin64 does not imply Is64BitInstallMode.

查看更多
登录 后发表回答