is there code to detect 64 platform e.g.
if X86 then ...
if X64 then ...
is there code to detect 64 platform e.g.
if X86 then ...
if X64 then ...
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
.
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