3

My 64-bit app NEEDS to be installed on a 64-bit Windows Operating System. So I added these two lines in the [Setup] section:

[Setup]
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64

However, I am confused because the Inno Setup documentation says:

ArchitecturesInstallIn64BitMode: Specifies the 64-bit processor architecture(s)...

ArchitecturesAllowed: Specifies which processor architecture(s) Setup is allowed to run on

From the documentation it seems these two settings are concerned with the PROCESSOR TYPE. But I have a portable computer with a 64-bit processor but with Windows 10 32-bit operating system.

So how can I have a setting in Inno Setup which focuses only on a 64-bit operating system as a prerequisite instead of focusing on the Processor hardware?

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992
user1580348
  • 5,721
  • 4
  • 43
  • 105

1 Answers1

0

Build the installer like that and try it on 32 bit Windows. It will complain about it.

MS started this bad doc trend (that is, using "processor architecture" to mean "OS selected processor architecture" rather than "CPU architecture") and Inno just followed it.

The manual is here: http://www.jrsoftware.org/ishelp/index.php?topic=setup_architecturesallowed

If you install any 32-bit device drivers, you should set this directive to x86

This instruction makes sense only if "Processor Architecture" really means "OS kernel architecture".

Typically, declarative code is better then imperative code.

Joshua
  • 40,822
  • 8
  • 72
  • 132