Skip to content

GitHub Actions workflow cannot build arm32 after updating Windows SDK#1454

Merged
dmachaj merged 3 commits into
masterfrom
user/dmachaj/remove-arm32
Nov 19, 2024
Merged

GitHub Actions workflow cannot build arm32 after updating Windows SDK#1454
dmachaj merged 3 commits into
masterfrom
user/dmachaj/remove-arm32

Conversation

@dmachaj
Copy link
Copy Markdown
Contributor

@dmachaj dmachaj commented Nov 18, 2024

Closes #1452

arm32 is not supported anymore by Windows. There has not been a native arm32 OS since before Win11. The wow32 backcompat on arm64 devices to run arm32 programs was removed with Win11 24H2. Most notably, the ability to build arm32 with newer SDKs and toolsets has seemingly been removed. This is now breaking the CI build.

The easiest fix is to simply remove arm32 support.

See: https://www.microsoft.com/en-us/windows/windows-11-specifications?r=1#table3

See: https://learn.microsoft.com/en-us/windows/arm/arm32-to-arm64
"Windows devices running on an Arm processor (for example, Snapdragon processors from Qualcomm) will no longer support AArch32 (Arm32). This change impacts Universal Windows Platform apps that presently target AArch32 (Arm32). Support for 32-bit Arm versions of applications will be removed in a future release of Windows 11.. System binaries for ARM32 support (present in the sysarm32 folder) will also be removed."

See: https://blogs.windows.com/windows-insider/2023/07/12/announcing-windows-11-insider-preview-build-25905/
(July 2023)
"Starting in this Insider Preview build in the Canary Channel, we have removed support for Arm32 UWP applications from Windows on Arm, as documented here: Windows 11 Specs and System Requirements. After the OS upgrade, any installed Arm32 applications will no longer launch on your device. Note that this does not affect Arm64 applications."

jonwis
jonwis previously approved these changes Nov 18, 2024
Comment thread nuget/Microsoft.Windows.CppWinRT.nuspec
@jonwis
Copy link
Copy Markdown
Member

jonwis commented Nov 18, 2024

Might find and reference the right support KB for removal, just for posterity - https://support.microsoft.com/en-us/topic/windows-11-version-24h2-update-history-0929c747-1815-4543-8461-0160d16f15e5 is the latest, in case that helps.

@dmachaj
Copy link
Copy Markdown
Contributor Author

dmachaj commented Nov 18, 2024

Might find and reference the right support KB for removal, just for posterity - https://support.microsoft.com/en-us/topic/windows-11-version-24h2-update-history-0929c747-1815-4543-8461-0160d16f15e5 is the latest, in case that helps.

Updated the description of the PR with some links

Copy link
Copy Markdown
Contributor

@sylveon sylveon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fact this is over 2000 lines of vcxproj changes makes me sad. Really wish the project format was better.

@dmachaj
Copy link
Copy Markdown
Contributor Author

dmachaj commented Nov 19, 2024

The fact this is over 2000 lines of vcxproj changes makes me sad. Really wish the project format was better.

Yeahhhhhhh. I can comprehend wanting the vcxprojs to be more independent (vs. centralizing in some far-flung props/targets files) but the duplication is pretty extreme. Even within the vcxproj's there is a ton of identical content for each supported build flavor. That could be refactored to be 5-10x less lines of XML but that will have to wait for another day.

@dmachaj dmachaj merged commit 2aed347 into master Nov 19, 2024
@dmachaj dmachaj deleted the user/dmachaj/remove-arm32 branch November 19, 2024 00:52
@tigerw
Copy link
Copy Markdown

tigerw commented Mar 28, 2026

I was relying on ARM32 for WP builds...

@sylveon
Copy link
Copy Markdown
Contributor

sylveon commented Mar 28, 2026

cppwinrt should still work with older ARM32 SDKs.

@tigerw
Copy link
Copy Markdown

tigerw commented Apr 1, 2026

Oh my goodness it's sylveon himself! <3

I managed to get my project compiling by manually patching the generated base.h file but not sure what the thunks.asm file is for, do you know if it's important to re-add?

@sylveon
Copy link
Copy Markdown
Contributor

sylveon commented Apr 1, 2026

Ah, the thinks file was used for fastcall ABI iirc. It looks like o was wrong and arm32 support was as fully stripped tho, in which case you're probably better off just keeping an old version prior to this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GitHub Actions workflow cannot build arm32 after updating Windows SDK min version

4 participants