Pascal Scripting: ProcessorArchitecture

Prototype:

function ProcessorArchitecture: TSetupProcessorArchitecture;

Description:

Returns the architecture of the system's Windows installation.

TSetupProcessorArchitecture is an enumerated type, defined as:

TSetupProcessorArchitecture = (paUnknown, paX86, paX64, paArm32, paArm64);

Remarks:

paUnknown is returned if Setup/Uninstall does not recognize the architecture of the Windows installation. It can be assumed that an "unknown" architecture is at least capable of executing 32-bit x86 code, or Setup/Uninstall wouldn't be running at all.

paArm32 is not a possible return value for this function because no version of Windows for 32-bit Arm processors had the ability to run x86 binaries. (An x86 emulator was first introduced in Arm64 Windows.)

Example:
var
  S: String;
begin
  case ProcessorArchitecture of
    paX86: S := 'x86';
    paX64: S := 'x64';
    paArm64: S := 'Arm64';
  else
    S := 'Unrecognized';
  end;
  MsgBox('Windows architecture: ' + S, mbInformation, MB_OK);
end;
See also:

Architecture Identifier Matchers like IsX64Compatible
Is64BitInstallMode