'application compatibility on ARM for Windows

I am testing application compatibility on ARM for Windows. I have 4 applications built by VisualStudio 2017 for following platforms: ARM32, ARM64, Win32, x64. And I have two ARM Windows systems: win10 1803 and win11 2202. Here are the results:

Win10:
ARM32 Y (= runs successfully)
ARM64 Y
Win32 Y
x64 "This app can't run on your PC"

Win11:
ARM32 "This app can't run on your PC"
ARM64 Y
Win32 Y
x64 Y

I assume that there are some major changes in application platform support between win10 and win11, and ARM32 application is not supported from now on. Am I right and is there any official document explaining this?



Solution 1:[1]

Here is a document by Microsoft on the issue. The x64 application running on Windows 11 but not Windows 10 is what I'd expect from the document, and matches my experience.

The ARM32 application not running on Windows 11 is more surprising. Have you installed the VS.2017 ARM32 redistributables on that machine? They probably aren't installed by default, and they are a different package from the ARM64 redistributables.

Solution 2:[2]

How did you check the application that works?
AFAIK, ARM64 Windows up to Windows 11 21H2 silently fails when running an ARM32 app on a CPU that can't run ARM32(e.g. VM on Apple M1).

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 John Dallman
Solution 2 BugMeNot114514