[Setup]: ArchitecturesAllowed

Valid values:

A space separated list of architecture identifiers.
Or, a boolean expression containing architecture identifiers. See Components and Tasks parameters for examples of boolean expressions.

Default value:

x86compatible
Description:

Specifies which architectures Setup is allowed to run on. If none of the specified architecture identifiers match the current system, Setup will display an error message (WindowsVersionNotSupported) and exit.

If your application's binaries are all 32-bit, then there is normally no need to set this directive; the default value of x86compatible is correct. If your application's binaries are built for the x64 or Arm64 architectures, you should set this directive to either x64compatible or arm64 respectively.

If you are installing device drivers, then the proper setting is x86os, x64os, or arm64, depending on the architecture of the drivers.

Examples:
; Require two architecture identifier matches at the same time.
; - An x64 app installer that includes some 32-bit x86 binaries:
ArchitecturesAllowed=x64compatible and x86compatible
; - An Arm64 app installer that includes some x64 binaries:
ArchitecturesAllowed=arm64 and x64compatible
; - An Arm64 app installer that includes some Arm32 binaries:
ArchitecturesAllowed=arm64 and arm32compatible

; Only allow installation on systems that aren't x64-compatible.
; Useful in a situation where you have separate x86 & x64 installers,
; and don't want users of x64-compatible OSes (x64 + Arm64 Win11)
; erroneously running the x86 installer.
ArchitecturesAllowed=x86compatible and not x64compatible

; Allow installation on x64-compatible systems, but deny Arm64.
; Useful if you provide a separate installer for Arm64 systems.
ArchitecturesAllowed=x64compatible and not arm64

; The "os" variant is appropriate when installing something that
; cannot operate in an emulated environment, such as a device driver.
ArchitecturesAllowed=x64os

; Allow installation only on 64-bit Windows, but don't check the
; architecture.
; (Don't use this if installing any architecture-specific binaries.)
ArchitecturesAllowed=win64

See also:
ArchitecturesInstallIn64BitMode