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

Make Store package download stable #4570

Merged
merged 2 commits into from
Jun 21, 2024

Conversation

yao-msft
Copy link
Contributor

@yao-msft yao-msft commented Jun 21, 2024

Microsoft Reviewers: Open in CodeFlow

@yao-msft yao-msft requested a review from a team as a code owner June 21, 2024 05:24
@yao-msft yao-msft merged commit 6c54251 into microsoft:master Jun 21, 2024
8 checks passed
@yao-msft yao-msft deleted the storedownloadstable branch June 21, 2024 17:46
@rbalsleyMSFT
Copy link

@yao-msft Looks like this is removing the experimental feature. Is there an ETA on when this may be returning?

@yao-msft
Copy link
Contributor Author

Removing the experimental feature means this feature is now official. This feature will be in our next winget 1.8 release (and also 1.9 preview).

@rbalsleyMSFT
Copy link

rbalsleyMSFT commented Jun 24, 2024 via email

ryfu-msft pushed a commit to ryfu-msft/winget-cli that referenced this pull request Jun 25, 2024
@rbalsleyMSFT
Copy link

@yao-msft I'm using a PowerShell script to download multiple store apps with winget. I'm getting a consistent prompt for credentials when downloading store apps (I seem to get 2 prompts per app, one for the app itself and another for the dependencies I think, could also be due to multiple appx versions of the app being downloaded). I'm using an EntraID to download as expected, but I'm not signed into that account.

Is there a way to invoke this to only be prompted once for credentials? Thanks.

@cedricalfonsi
Copy link

@yao-msft We are encountering the same issue mentioned by @rbalsleyMSFT. We noticed that it's possible to download VSCode without authentication, so there might be a workaround to bypass this authentication, or is it reserved for Microsoft products?

@yao-msft
Copy link
Contributor Author

@yao-msft I'm using a PowerShell script to download multiple store apps with winget. I'm getting a consistent prompt for credentials when downloading store apps (I seem to get 2 prompts per app, one for the app itself and another for the dependencies I think, could also be due to multiple appx versions of the app being downloaded). I'm using an EntraID to download as expected, but I'm not signed into that account.

Is there a way to invoke this to only be prompted once for credentials? Thanks.

The 2 prompts are: one for retrieving download links and the other for acquiring license. They are 2 different backend services. Winget uses Web Account Manager for Microsoft Entra Id authentications. Web Account Manager manages the token caches, it should behave the same with the Connect to Work or School experience of Windows Settings.

Did you try signing in System wide?
Did you use the Export-WingetPackage or the winget cmdline? For winget cmdline, you can specify the account to use using --authentication-account, if the account has been logged on recently, no popup will appear. If you are using Export-WingetPackage, currently it will try to logon with the default account (the current user session account), if failed, it will show the popup. PSCmdlet does not support specifying a specific account yet. If needed, please feel free to file an issue to ask for parity between cmdline version vs PSCmdlet for dowloading store apps (the work will require some winget COM api change then update the PSCmdlet)

@yao-msft
Copy link
Contributor Author

@yao-msft We are encountering the same issue mentioned by @rbalsleyMSFT. We noticed that it's possible to download VSCode without authentication, so there might be a workaround to bypass this authentication, or is it reserved for Microsoft products?

Authentication is only required for installer type msstore (the appx/msix packages). VSCode is exe installer, it has download links in the manifest so it does not need authentication. A quick way to find out if authentication is needed is to look at package ids. If the Id starts with XP, it is non-msstore installer, no authentication needed. Otherwise, it's msstore installer type, it needs authentication.

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.

4 participants