You installed an app on your Snapdragon X Windows 11 device, but it fails to launch with no error message or a generic crash dialog. The app is marked as ARM64EC, which is designed to run natively on ARM while using x64 code where needed. This guide explains why ARM64EC apps can fail to start and how to diagnose the root cause using built-in Windows tools.
ARM64EC is a hybrid binary format that allows an app to run ARM64 code natively while still loading x64 libraries for compatibility. The Snapdragon X processor uses the ARM64 architecture, so ARM64EC apps should work without emulation overhead. Common failure causes include missing prerequisites, corrupted binaries, or mismatched x64 dependencies that the emulator cannot resolve.
This article covers the technical background of ARM64EC, a step-by-step diagnostic process, and fixes for the most frequent launch failures. You will learn how to use Event Viewer, Dependency Walker, and the Windows Compatibility Troubleshooter to isolate the problem.
Key Takeaways: Diagnosing ARM64EC App Launch Failures on Snapdragon X
- Event Viewer > Windows Logs > Application: Shows crash details, module load errors, and exception codes for the failed app.
- Settings > System > About > Windows specifications: Confirms the device runs Windows 11 on ARM64 and has the latest build.
- Dependency Walker (depends.com): Scans the ARM64EC binary to identify missing x64 or ARM64 DLL dependencies.
Why ARM64EC Apps Fail to Launch on Snapdragon X Windows 11
ARM64EC stands for ARM64 Emulation Compatible. It is a portable executable format that allows a single binary to contain both ARM64 native code and x64 code sections. On Snapdragon X devices running Windows 11, the operating system loads the ARM64 sections directly and uses the x64 emulator (Prism) for any x64 code paths. This hybrid approach reduces emulation overhead compared to a fully x64 app.
A launch failure typically occurs for one of these reasons:
- Missing Visual C++ Redistributable: ARM64EC apps often require the ARM64 version of the VC++ runtime. If only the x64 version is installed, the app may fail silently.
- Corrupted or incomplete app installation: A damaged binary or missing helper DLL prevents the loader from initializing the app.
- Outdated Windows build: Early Snapdragon X devices shipped with Windows 11 build 22621. ARM64EC support was improved in build 22631 and later. Running an older build can cause incompatibility.
- Driver conflict: Certain drivers, especially graphics or security drivers, may block the Prism emulator from loading x64 code sections.
The diagnostic process focuses on isolating which of these root causes applies to your specific app. The sections below walk through each check in a logical order.
Steps to Diagnose and Fix an ARM64EC App Launch Failure
Step 1: Verify Windows 11 Build and Architecture
Before troubleshooting the app, confirm the system meets the minimum requirements for ARM64EC support.
- Open Settings
Press Windows Key + I to open the Settings app. - Go to System > About
Click System in the left pane, then scroll down and click About. - Check Windows specifications
Look for System type. It must read ARM64-based PC. If it shows x64-based PC, the Snapdragon X is not using an ARM64 Windows image. Also note the OS build. The build number should be 22631 or higher. If it is lower, update Windows via Settings > Windows Update > Check for updates.
Step 2: Check Event Viewer for Crash Details
Windows logs every application crash in Event Viewer. The log entry often includes an exception code that points to the root cause.
- Open Event Viewer
Press Windows Key + R, type eventvwr.msc, and press Enter. - Navigate to Application logs
In the left pane, expand Windows Logs and click Application. - Filter for the app
Click Filter Current Log in the right pane. Under Event sources, select Application Error or .NET Runtime if the app uses .NET. Click OK. - Find the error event
Look for events with a red X icon that occurred at the time of the failed launch. Double-click the event. In the General tab, note the Faulting module name and Exception code. For example, exception code 0xc0000135 indicates a missing DLL. Exception code 0xc0000005 is an access violation, often caused by a driver conflict.
Step 3: Verify Prerequisites — Visual C++ Redistributable
ARM64EC apps require the ARM64 version of the Visual C++ Redistributable. The x64 version alone is insufficient because the ARM64 native code sections need the ARM64 runtime.
- Open Installed Apps
Press Windows Key + I, then go to Apps > Installed apps. - Search for Visual C++
In the search box, type Visual C++. You should see entries like Microsoft Visual C++ 2015-2022 Redistributable (ARM64). If only x64 versions appear, the ARM64 runtime is missing. - Download the ARM64 redistributable
Go to the official Microsoft download page for Visual C++ Redistributable. Select the ARM64 version (the installer file name ends with arm64.exe). Run the installer and restart your PC.
Step 4: Use Dependency Walker to Find Missing DLLs
Dependency Walker is a free tool that scans a binary and lists all required DLLs. For ARM64EC apps, it shows both ARM64 and x64 dependencies.
- Download Dependency Walker
Go to depends.com and download the latest version. Install it on your Snapdragon X device. - Open the app binary
Launch Dependency Walker. Click File > Open and navigate to the main executable of the failing app. Select it and click Open. - Review the dependency tree
The tool scans the binary and shows a tree of DLLs. Look for any DLL marked with a red question mark or a yellow warning icon. A red question mark means the DLL is missing. A yellow warning means the DLL is present but has an unresolved dependency. - Identify missing x64 vs ARM64 DLLs
In the Module column, each DLL shows its CPU type: x86, x64, or ARM64. If an x64 DLL is missing, the app may still launch but the x64 code path will fail. If an ARM64 DLL is missing, the app will likely crash immediately. Install the missing DLL from the app’s vendor or reinstall the app.
Step 5: Run the Windows Compatibility Troubleshooter
Windows includes a built-in troubleshooter that can detect and fix common compatibility issues for ARM64EC apps.
- Right-click the app shortcut
Navigate to the app’s executable or shortcut. Right-click it and select Properties. - Open the Compatibility tab
Click the Compatibility tab at the top. - Run the troubleshooter
Click Run compatibility troubleshooter. Windows will scan the app and apply recommended settings. Follow the on-screen prompts. If the app launches after this step, the issue was a compatibility flag or a missing privilege.
If the App Still Fails to Launch After the Main Diagnostic Steps
Event ID 1000 with faulting module ntdll.dll
If Event Viewer shows a faulting module of ntdll.dll with exception code 0xc0000005, the issue is often a driver conflict. The Prism emulator may be blocked by a security driver or an outdated graphics driver. Update all drivers from the Snapdragon X manufacturer’s support page. If the problem persists, temporarily disable third-party antivirus software and try launching the app again.
App shows a message about missing api-ms-win-core-path-l1-1-0.dll
This DLL is part of the Universal C Runtime. On ARM64 Windows 11, this file should be present. If it is missing, run the System File Checker. Press Windows Key + X and select Terminal (Admin). Type sfc /scannow and press Enter. Restart the PC after the scan completes. If SFC finds and repairs corrupted files, try launching the app again.
App launches but shows a blank window
A blank window indicates the app’s UI thread started but the rendering engine failed. This often happens with apps that use DirectX or OpenGL. Install the latest ARM64 graphics driver from the Snapdragon X manufacturer. Also install the ARM64 version of DirectX End-User Runtime from the Microsoft website.
| Item | ARM64EC App | Fully x64 App (Emulated) |
|---|---|---|
| Description | Hybrid binary with ARM64 native code and x64 code sections | Entire app runs through x64 emulation (Prism) |
| Performance | Near-native for ARM64 code paths | Slower due to full emulation overhead |
| Dependency requirements | Requires both ARM64 and x64 VC++ runtimes | Only requires x64 VC++ runtime |
| Diagnosis complexity | Higher — must check both ARM64 and x64 dependencies | Lower — only x64 dependencies matter |
| Common failure cause | Missing ARM64 VC++ runtime or corrupted binary | Outdated Prism emulator or missing x64 DLL |
This article explained how to diagnose an ARM64EC app that fails to launch on Snapdragon X Windows 11. You now know to check the Windows build, examine Event Viewer for exception codes, verify the ARM64 Visual C++ Redistributable, and use Dependency Walker to find missing DLLs. If the app still does not launch, update drivers and run the System File Checker. For persistent issues, consider contacting the app vendor to confirm the binary is correctly compiled for ARM64EC