Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows on ARM should install to (Arm) directory #131337

Closed
jaraco opened this issue Mar 16, 2025 · 3 comments
Closed

Windows on ARM should install to (Arm) directory #131337

jaraco opened this issue Mar 16, 2025 · 3 comments
Labels
OS-windows topic-installation type-feature A feature request or enhancement

Comments

@jaraco
Copy link
Member

jaraco commented Mar 16, 2025

When installing Python 3.13 for ARM on Windows using administrative privileges (for all users), it defaults to the C:\Program Files\Python313-arm64 directory. That means that the installation directories are inconsistent with how they're installed for other architectures, which use the architecture-specific folder for installation.

On Windows for ARM, Microsoft has chosen to still give prominence to AMD64, so the "Program Files" directory belongs to AMD64 programs, and there's a separate "Program Files (Arm)" (aka %PROGRAMFILES(ARM)%) directory for the native architecture. It's sort-of too bad that "Program Files" wasn't used for the native architecture, but that's the choice the platform has made.

I propose that the Windows for ARM installer should install to %PROGRAMFILES(ARM)% directory by default when installing for all users, and use the same naming scheme for "Python313".

@picnixz picnixz added topic-installation type-feature A feature request or enhancement labels Mar 16, 2025
@zooba
Copy link
Member

zooba commented Mar 17, 2025

Afraid not, the %PROGRAMFILES(ARM)% is intended for Arm32 apps. Apps native to the platform should be in %PROGRAMFILES%, and for some unknown reason there is no %PROGRAMFILES(X64)% as would be expected. (Unfortunately, I can't find a public reference for this, apart from a few credible sounding posts including #90900 where we changed back from installing to the wrong location.)

In any case, this is pending a PEP 773 result, which will take upstream out of the per-machine world entirely. Other distributors can choose where they want to install to, but I'm personally persuaded that %PROGRAMFILES% is correct and Python313-arm64 is an unfortunate wart that is viable for our current installer. (If PEP 773 is rejected then I'll still look to change the current installers, just in a way that doesn't impact user's workflows so dramatically.)

@jaraco
Copy link
Member Author

jaraco commented Mar 23, 2025

the %PROGRAMFILES(ARM)% is intended for Arm32 apps

Thanks for the clarification. So many variables! Glad to hear that %programfiles% is preferable in most cases.

@zooba
Copy link
Member

zooba commented Mar 24, 2025

FWIW, I fired up a Windows on ARM64 24H2 (latest update) machine last week and there's no Program Files (Arm) directory at all. So I guess the last of the compatibility bits are gone.

@zooba zooba closed this as not planned Won't fix, can't repro, duplicate, stale Mar 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OS-windows topic-installation type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

3 participants