CPU architecture support
With the addition of support for Arm64 editions of Windows, the available processor (CPU) architectures have become more complex because Microsoft added further emulation modes to Windows. Starting with InstallMate 11.7, we therefore distinguish between physical CPUs and support for .EXE types on the various Windows platforms.
- Physical CPU
- This term refers to the hardware CPU that is present on the target system. The current edition of InstallMate supports installation on systems with x86 (Intel 32-bit), x64 (AMD/Intel 64-bit) and arm64 (ARM 64-bit) physical (or "native") processors. 32-bit ARM processors are not supported, because these turned out to be a dead end in the Windows history.
- .EXE (executable) support
- This term refers to the types of executables that can run on the target system, either because they match the physical CPU, or because their instruction set is emulated or otherwise supported by Windows.
As of InstallMate 11.7, you can configure the allowable or required combination of physical CPU(s) and .EXE support architectures in several places:
- For the installation as a whole on the Requirements page.
- For individual components in their Components and Assembly properties. This also affects all installation items that are controlled via those components, such as files, registry values, services, etc.
- For prerequisite handlers in their properties.
- For individual actions in each action's properties.
The remainder of this help page explains what executable support is available across the Microsoft Windows family and how the physical CPU and .EXE support options work together when InstallMate installs your product.
Executable support in Windows
The following table shows the combinations of physical CPUs versus executable support on Windows. Note that 64-bit ARM support requires Windows 10 or later; AMD/Intel 64-bit support is available from Windows XP and Windows Server 2003 onwards.
Note: the x86 designation refers to 32-bit processors throughout; 16-bit editions of the Intel x86 family are not supported by InstallMate 11.
Executable support | |||
---|---|---|---|
x86 | native | via WoW64* | via WoW64* |
x64 | — | native | n/a (Windows 10) emulated (Windows 11) |
arm64 | — | — | native |
arm (32-bit)** | — | — | via WoW64* |
*WoW64 support varies; it is not present in Windows Preinstallation Environments (WinPE) and is optional in Windows Server editions.
**Installation of 32-bit ARM applications is not supported by InstallMate and is mentioned here only for completeness.
Interaction between physical CPU and executable support selections
The physical CPU and executable support options in InstallMate look similar to the following annotated screenshot:
The first row allows selection of the physical CPU architectures on which the product, component, or other item is allowed to be installed. The options on this row are processed as an OR choice: installation proceeds if a physical CPU of any of the checked architectures is present on the target system. However, it will not install on a system with a physical CPU that is unchecked in this row.
The second and third rows allow selection of the executable architectures that are required to be supported on the target system. In contrast to the Physical CPUs row, if an executable architecture is unchecked, it is neither required nor prohibited; it is simply ignored except in the Exactly the following mode (see below). The executable support selection has several modes:
- One or more of the following — proceed if at least one of the selected .EXE architectures is supported on the target system, whether natively or via emulation. This is the OR mode. Unchecked architectures are ignored.
- All of the following — proceed if all of the selected .EXE architectures are supported on the target system, natively or via emulation. This is the AND mode. Unchecked architectures are ignored.
- Exactly the following — proceed if exactly the selected .EXE architectures are supported on the target system. This is the EQUALS mode. In this mode both checked and unchecked architectures are taken into consideration, and unchecked architectures prevent installation if they are present on the target system.
- None of the following — proceed if none of the selected .EXE architectures are supported on the target system. This is the NOT mode and is particularly useful to install an item or run an action (for example, a MessageBox) if an executable architecture is not supported. Unchecked architectures are ignored.
During installation, InstallMate will only install an item if both the Physical CPUs and the .EXE support conditions are satisfied. In the example screenshot above, this means that it will install on the following systems (see the earlier CPU/Executable table):
- x86 systems: install because the x86 physical CPU is allowed and x86 executables are supported.
- x64 systems: install because the x64 physical CPU is allowed, x64 executables are supported, and possibly x86 executables via WoW64.
- Arm64 systems: do not install because the arm64 physical CPU is not allowed. The fact that arm64 executable support is unchecked does not by itself prevent installation, because Arm64 systems may support x86 and x64 executables if WoW64 and Prism emulation are present, so the .EXE support condition may be satisfied.
Recommendation
In most cases, the supported executable architectures are more relevant than the physical CPU that is present on the target system. We therefore recommend that you normally select all Physical CPUs architectures and use the .EXE support options to control if a particular component (and with it, its files, registry values, etc.) should be installed. Use the Physical CPUs selection only if you must positively exclude or include certain hardware.