Skip to content

Commit

Permalink
[svrplus] svrplus.c: Support for 32-bit ARM applications was dropped …
Browse files Browse the repository at this point in the history
…in build 25905.

See #398.
  • Loading branch information
GerbilSoft committed Dec 4, 2023
1 parent 8279331 commit 2dd15ff
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 1 deletion.
1 change: 1 addition & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@
* Only if using build 21262 or later. (RTM is 22000)
* On earlier versions, only arm64 will be registered, since ARM64EC
was added at the same time as amd64 emulation.
* Also, support for 32-bit ARM applications was dropped in build 25905.
* Fixes #398: Installing on ARM64 shows an error that the AMD64 version of the DLL couldn't be registered
* Reported by @kristibektashi.

Expand Down
6 changes: 6 additions & 0 deletions src/libwin32common/rp_versionhelpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,12 @@ VERSIONHELPERAPI IsWindows11OrGreater(void) {
IsWindowsVersionOrGreater_BuildNumberCheck(HIBYTE(0x0A00), LOBYTE(0x0A00), 22000);
}

VERSIONHELPERAPI IsWindows11Build25905OrGreater(void) {
// Windows 11 Build 25905 dropped support for 32-bit ARM applications.
// https://blogs.windows.com/windows-insider/2023/07/12/announcing-windows-11-insider-preview-build-25905/
IsWindowsVersionOrGreater_BuildNumberCheck(HIBYTE(0x0A00), LOBYTE(0x0A00), 25905);
}

VERSIONHELPERAPI IsWindowsServer(void) {
OSVERSIONINFOEXW vi = {sizeof(vi),0,0,0,0,{0},0,0,0,VER_NT_WORKSTATION};
return !VerifyVersionInfoW(&vi, VER_PRODUCT_TYPE, VerSetConditionMask(0, VER_PRODUCT_TYPE, VER_EQUAL));
Expand Down
6 changes: 5 additions & 1 deletion src/svrplus/svrplus.c
Original file line number Diff line number Diff line change
Expand Up @@ -1138,7 +1138,11 @@ static int check_system_architectures(void)
g_archs[g_arch_count++] = CPU_ia64;
break;
case CPU_arm:
g_archs[g_arch_count++] = CPU_arm;
// NOTE: Support for 32-bit ARM applications was dropped as of Windows 11 build 25905.
// https://blogs.windows.com/windows-insider/2023/07/12/announcing-windows-11-insider-preview-build-25905/
if (!IsWindows11Build25905OrGreater()) {
g_archs[g_arch_count++] = CPU_arm;
}
break;
case CPU_arm64:
// Windows 10 on ARM only supports i386 emulation.
Expand Down

0 comments on commit 2dd15ff

Please sign in to comment.