microsoft / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
8.66k stars 4.51k forks source link

[Update Request]: Add Arm64 package for PowerShell. #164830

Closed leejy12 closed 2 months ago

leejy12 commented 3 months ago

What type of update are you requesting?

A new locale, architecture, or installer type of an existing version

Current Package Identifier

Microsoft.PowerShell

Package Version

7.4.4

Please describe the changes you would like to see

Arm64 installer for Microsoft.PowerShell is missing.

https://github.com/microsoft/winget-pkgs/blob/7c762176c94196c99a90bfa371cd3f735f3531c2/manifests/m/Microsoft/PowerShell/7.4.4.0/Microsoft.PowerShell.installer.yaml#L17-L25

DuckDuckStudio commented 3 months ago

@leejy12

Do you think the changes are correct? Please approve or request change the pull request 🙏

Edit:

leejy12 commented 3 months ago

@DuckDuckStudio

I believe @anamnavi is more qualified to comment on the PR :)

aisgbnok commented 2 months ago

FYI, It seems the PowerShell team won't be adding msi arm installers to winget until 7.5 becomes stable (sometime in Q4, usually November).

Note: One can also get the .msi installer for arm for this release from the PowerShell Github release (link). We will include them in winget PowerShell releases (i.e stable releases) once PowerShell 7.5 becomes stable. For now PowerShell 7.5 preview's winget includes the .msi for arm.

DuckDuckStudio commented 2 months ago

FYI, It seems the PowerShell team won't be adding msi arm installers to winget until 7.5 becomes stable (sometime in Q4, usually November).

Should I close the related pull request?

stephengillie commented 2 months ago

It might be the best idea, since the work is already planned. Also, @ anamnavi has to approve all PowerShell PRs, and this might not get approved (since the work is already planned), so would be less effort for everyone.

leejy12 commented 2 months ago

Ok, I will close this issue.

fabianlupa commented 2 months ago

Not sure what exactly happened here. I just freshly installed powershell using winget on Windows on ARM and got the x64 version because the redirect to the windows store package for ARM seems to be missing here?

In the docs it explicitly states I should get the Windows Store package on ARM using winget. Do these need to be updated?

On Windows systems using X86 or X64 processor, winget installs the MSI package. On systems using the Arm64 processor, winget installs the Microsoft Store (MSIX) package. For more information, see Installing from the Microsoft Store.

https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4

leejy12 commented 2 months ago

@fabianlupa

winget is able to find the Store package, so you can install it with winget.

PS C:\Users\leejy> winget search powershell
Name                                 Id                                          Version      Match           Source
---------------------------------------------------------------------------------------------------------------------
PowerShell                           9MZ1SNWT0N5D                                Unknown                      msstore

To install:

winget install PowerShell --source msstore

OR

winget install --id 9MZ1SNWT0N5D

I just freshly installed powershell using winget on Windows on ARM and got the x64 version

I do think it's unfortunate that winget install Microsoft.PowerShell (which is probably how most folks will invoke in CLI) installs the x64 version. I encountered this surprising behavior too, which is why I opened this issue.

Maybe winget should show a warning when the package being installed is in the different architecture than the host system.

fabianlupa commented 2 months ago

winget seems to generally have some improvements to do regarding a warning or at least listing the architecture. I also got Chrome 32bit (?) installed using winget while a native ARM version is available. If the consensus is nothing should be changed here then I'll just open an issue in the docs (opened https://github.com/MicrosoftDocs/PowerShell-Docs/issues/11338).