| Previous | Next |
| ERROR_ALREADY_WIN32 | ERROR_NO_YIELD_PERFORMED |
ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE
An executable image targets a different processor architecture
ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE corresponds to Win32 error value documented as: {Machine Type Mismatch} The image file %hs is valid, but is for a machine type other than the current machine. The file is structurally valid but its machine type cannot be executed by the current process or operating environment. Typical examples are trying to start an ARM64 image on x64 without suitable emulation or loading an x64 helper from a 32-bit-only environment.
Where the result appears in real systems
- CreateProcess and loader startup.
- Installers selecting architecture-specific binaries.
- Launchers extracting the wrong payload.
- Recovery environments with limited architecture support.
What to collect before making changes
Inspect the PE Machine field with dumpbin /headers or another PE parser; record OS architecture, process architecture, and file path; verify that redirects and package selection did not substitute another binary.
Handling and recovery
Install or select the build matching the target architecture. A launcher should choose payloads from reliable architecture detection and should validate the PE header before attempting execution.
What not to infer from this code
The EXE-specific result concerns the main executable. ERROR_BAD_EXE_FORMAT can instead indicate broader corruption or an unsupported image format, while DLL mismatch errors arise during dependency loading.
References
Looking for a different code? Search another status or error code.