[Setup]: ArchitecturesAllowed

Допустимые значения:

Разделённый пробелами список идентификаторов архитектуры.
Или логическое выражение, содержащее идентификаторы архитектуры.
Примеры логических выражений см. в разделе "Параметры секций [Components] и [Tasks]".

Значение по умолчанию:

x86compatible

Описание

Позволяет определить, на каких архитектурах разрешено запускать программу установки. Если ни один из указанных идентификаторов архитектуры не соответствует текущей системе, программа установки выдаст сообщение об ошибке (WindowsVersionNotSupported) и завершит работу.

Если все двоичные файлы вашего приложения являются 32-разрядными, то обычно нет необходимости устанавливать эту директиву; значение по умолчанию x86compatible является правильным. Если же двоичные файлы вашего приложения собираются для архитектур x64 или Arm64, то следует установить для этой директивы значение x64compatible или arm64 соответственно.

Если выполняется установка драйверов устройств, то правильным значением для этой директивы будет x86os, x64os или arm64, в зависимости от архитектуры драйверов.

Примеры:
; Требуется одновременное совпадение двух идентификаторов архитектуры.
; - Программа установки x64-приложений, включающая некоторые 32-битные двоичные файлы x86:
ArchitecturesAllowed=x64compatible and x86compatible
; - Программа установки приложений для Arm64, включающая некоторые исполняемые файлы x64:
ArchitecturesAllowed=arm64 and x64compatible
; - Программа установки приложений для Arm64, включающая некоторые исполняемые файлы Arm32:   
ArchitecturesAllowed=arm64 and arm32compatible

; Разрешить установку только на системы, не совместимые с x64.
; Полезно в ситуации, когда у вас есть отдельные программы установки x86 и x64,
; и вы не хотите, чтобы пользователи x64-совместимых ОС (x64 + Arm64 Win11)
; ошибочно запускали программу установки x86:
ArchitecturesAllowed=x86compatible and not x64compatible

; Разрешить установку на x64-совместимые системы, но запретить Arm64.
; Полезно, если вы предоставляете отдельную программу установки для систем Arm64.
ArchitecturesAllowed=x64compatible and not arm64

; Вариант "os" уместен при установке того, что не может работать
; в эмулируемой среде, например, драйвер устройства.
ArchitecturesAllowed=x64os

; Разрешить установку только на Windows 64-бит, но не проверять архитектуру.
; (Не используйте этот параметр при установке двоичных файлов,
; специфичных для конкретной архитектуры.)
ArchitecturesAllowed=win64

См. также:

ArchitecturesInstallIn64BitMode