Идентификаторы архитектуры

Представленные ниже идентификаторы используются в значениях ArchitecturesAllowed и ArchitecturesInstallIn64BitMode.

arm32compatible

Соответствует системам, способным запускать 32-разрядные двоичные файлы Arm. Такая поддержка есть только в Windows Arm64.

arm64

Соответствует системам, работающими под управлением Windows Arm64.

win64

Соответствует системам, работающими под управлением Windows 64-бит, независимо от архитектуры.

Это может быть полезно в программе установки, которая не поставляет никаких двоичных файлов, специфичных для конкретной архитектуры, но требует доступа к чему-то 64-разрядному, например, HKLM64 разделу реестра или собственному 64-разрядному каталогу "Program Files".

x64compatible

Соответствует системам, способным запускать 64-разрядные исполняемые файлы. Сюда входят системы под управлением Windows 64-бит, а также системы Windows 11 на платформе Arm64, которые могут запускать 64-разрядные исполняемые файлы посредством эмуляции.

x64os

Соответствует системам, работающими только под управлением Windows 64-бит — но не любых других систем, способных запускать 64-разрядные исполняемые файлы посредством эмуляции.

В большинстве случае следует использовать x64compatible вместо x64os, т.к. x64compatible позволяет устанавливать 64-разрядные приложения и на системы Arm64 Windows 11.

Однако x64os подходит в необычных случаях, когда 64-разрядное приложение или двоичный файл, как известно, требуют родной Windows 64-бит и не могут работать в режиме эмуляции. В качестве примера можно привести 64-разрядные драйвера устройств, которые не поддерживают эмуляцию на уровне ядра.

До версии Inno Setup 6.3 x64os именовался x64. Компилятор все ещё принимает x64 в качестве псевдонима x64os, но при использовании будет показано предупреждение.

x86compatible

Соответствует системам, способным запускать 32-разрядные исполняемые файлы. Сюда входят системы под управлением Windows 32-бит, Windows 64-бит, а также системы Windows 10 и 11 на платформе Arm64, которые могут запускать 32-разрядные исполняемые файлы посредством эмуляции.

Принимая во внимание, что в настоящее время программа установки собирается как 32-разрядный двоичный файл, этот идентификатор всегда имеет истинное значение.

x86os

Соответствует системам, работающими только под управлением Windows 32-бит.

x86os имеет смысл использовать только при установке 32-разрядных драйверов устройств. При установке обычного 32-разрядного приложения вместо него следует использовать x86compatible (или не устанавливать значение ArchitecturesAllowed).

До версии Inno Setup 6.3 x86os именовался x86. Компилятор все ещё принимает x86 в качестве псевдонима x86os, но при использовании будет показано предупреждение.

См. также:

Сопоставление идентификаторов архитектуры подобно IsX64Compatible
ProcessorArchitecture