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

Allow winget to install MS Store packages without account just like the MS Store #1585

Closed
felipecrs opened this issue Oct 13, 2021 · 39 comments · Fixed by #2095
Closed

Allow winget to install MS Store packages without account just like the MS Store #1585

felipecrs opened this issue Oct 13, 2021 · 39 comments · Fixed by #2095
Assignees
Labels
Issue-Feature This is a feature request for the Windows Package Manager client. msstore Issue related to "msstore" REST source
Milestone

Comments

@felipecrs
Copy link
Contributor

felipecrs commented Oct 13, 2021

Description of the new feature/enhancement

On my work PC, I do not connect an account to the MS Store (because it only accepts Microsoft account, and I only have a Microsoft 365 business account). However, while the winget cli fails to install any packages from the MS Store due to the lack of the account, the MS Store itself let me download just fine.

Ideally the winget should allow too, so that I can simplify and automate the environment setup of my team and colleagues in the work as well.

GIF

LVMkMgKS9p.mp4

Additional context

> winget --version
v1.1.12663

I don't know, perhaps this should be a bug rather than an enhancement?

@felipecrs felipecrs added the Issue-Feature This is a feature request for the Windows Package Manager client. label Oct 13, 2021
@ghost ghost added the Needs-Triage Issue need to be triaged label Oct 13, 2021
@jedieaston
Copy link
Contributor

Tangentially related: #1558 (this isn't a duplicate of that, but that feature/bug is fallout from this issue).

Since the Microsoft Store lets you download without an account just fine, I don't think there would be any legal issues with it.

@mdsharpe
Copy link

I would say this is a bug. If the Microsoft Store lets you install free apps without a Microsoft Account, then there should be no such restriction when automating the same action on the command line.

@denelon
Copy link
Contributor

denelon commented Oct 13, 2021

We are working on this issue with the "msstore" source. We agree authentication shouldn't be required for "free" Apps.

@denelon denelon removed the Needs-Triage Issue need to be triaged label Oct 13, 2021
@TrashAccount3424
Copy link

Same problem here. Totally an anti-feature. Needless to says its also an anti-feature that some apps simply refuse to install trough the store if on a machine with local account i.e all my test VMs and a bunch of family machines that I maintain.

Why can I install WhatsApp without account but not Telegram? but then Unigram (unofficial telegram app) can be installed again. They are all free, why would I need an account.

else if (enr.Status() == GetEntitlementStatus::NoStoreAccount)

@felipecrs
Copy link
Contributor Author

felipecrs commented Oct 22, 2021

Well, just like Android with Google Play. It's weird though why some apps would require an account and some not through MS Store.

@jedieaston
Copy link
Contributor

jedieaston commented Oct 22, 2021

I think that line is converting the error from the Store API, they’ll have to change it over there, not in winget.

@TrashAccount3424
Copy link

Well, just like Android with Google Play. It's weird though why some apps would require an account and some not through MS Store.

Thats true, but google just abuse its monopoly as the by far largest app store. MS on the other hand should want people to use the store so if they make it intentionally inconvenient, less people will use it. If the store wont let me download telegram I just load it form the official website or use an alternative software repository especially for automated installs there is no way I'm going to add a login to my scripts then get my account banned when the script runs to many times and all that possible side effects its juts not worth it.
People who still use a local account probably have a reason an there is nothing to win by annoying them.

@TrashAccount3424
Copy link

I think that line is converting the error from the Store API, they’ll have to change it over there, not in winget.

I was under the impression that it worked already in the past and with the store app it still does work for most apps it just ignores it if you close the login popup. Maybe winget could ignore the error as well.

@46dikumar
Copy link

Hi All, do we have any workaround for this issue??

@jedieaston
Copy link
Contributor

Not at this time. winget just talks to the Microsoft Store API, which doesn't have a way to work around this.

@Kein
Copy link

Kein commented Nov 19, 2021

You also will need to fetch the licensing

Well, just like Android with Google Play. It's weird though why some apps would require an account and some not through MS Store.

This actually runs deeper than that. You only need an account to install it via "official" store means, which winget facilitates/follows though. Now, if you were to download the *.appxbundle for the app yourself and install it manually via Powershell applets - you wont be able to actually run it. Well, not in pure offline environment or restricted corporative environment. Reason is:
https://docs.microsoft.com/en-us/microsoft-store/distribute-offline-apps

Even such primitive and free stuff like Windows Calculator is gated behind the licensing and license tokens. This is mingboggling.

@felipecrs
Copy link
Contributor Author

You only need an account to install it via "official" store means

I suppose that installing by Microsoft Store itself without an account as my video shows is an "official" store mean.

@Masamune3210
Copy link

Note that the whole free apps having licenses still thing isn't new to msstore, consoles and other licensed stores have been doing it forever.

@TrashAccount3424
Copy link

Note that the whole free apps having licenses still thing isn't new to msstore, consoles and other licensed stores have been doing it forever.

If I have to automate installation I can automate accepting the license by hardcoding the "y"es
I cant do that with a login.
There lies the problem, it breaks the use-case. Its not a formality thats somehow inconvenient or annoying its a deal breaking "bug".

@Masamune3210
Copy link

Wasn't meaning to say that this isnt a issue. More trying to head off the people who always show up and whine about how winget and msstore are the worst things ev4r

@Kein
Copy link

Kein commented Nov 19, 2021

@TrashAccount3424 Cant do that with winget and MS store, you have to automate that with Business or Education enterprise tool and local package store. Very convoluted, involved and unstable process that requires super-precise. 1:1 ritual to work.

@denelon denelon added the msstore Issue related to "msstore" REST source label Nov 19, 2021
@TrashAccount3424
Copy link

@TrashAccount3424 Cant do that with winget and MS store, you have to automate that with Business or Education enterprise tool and local package store. Very convoluted, involved and unstable process that requires super-precise. 1:1 ritual to work.

Yeah, I know I cant because they intentionally disabled it. And as for MS store yes I sorta can, most apps do not require an account (unless on windows 11 for some reason) anyway this is an intentional decision by someone at MS to make it not work. Its not like people here request some kind of feature that is out of the scope of what winget is supposed to do. We just want the tool to be useful (again).
If they are unable to fix this in a few month they just push people to move to something else.

@felipecrs
Copy link
Contributor Author

felipecrs commented Nov 19, 2021

(unless on windows 11 for some reason)

Even on Windows 11 an account is not needed for most apps, as my video shows. Unless something changed after I recorded it.

@denelon
Copy link
Contributor

denelon commented Nov 19, 2021

I'll try to provide some clarity here.

The Microsoft Store has very explicit requirements around licensing, age ratings, and a plethora of other considerations. The APIs the Windows Package Manager calls weren't designed for this use case. Several teams here at Microsoft are working closely together to build great experiences. Lots of sequencing is involved for both development and testing, and then we get into the other requirements for building software and releasing it in general. Sadly, it always takes more time than we would like. There are almost always more needs and wants than resources to get the work done. We have to prioritize and justify relative priority with each team involved.

This issue is a high priority, and it will take several teams to get across the finish line. The work is in progress, but we have to be careful not to cause other unintended consequences. We also have several other scenarios to enable things like being able to install apps from the store that are paid (this would require the MSA holding the entitlement to be logged in),

@ducatikiller
Copy link

OMG, this is the worst issue related to getting the Azure VPN client rolled out to hundreds of desktops. Frankly, it's ridiculous and the Azure VPN Client needs to be available from another location.

@alexchandel
Copy link

This issue renders winget effectively useless. winget already doesn't work on servers, literally the biggest use-case (#702). Here, we see that winget doesn't even work on non-servers. Why? There is simply no acceptable reason.

@felipecrs
Copy link
Contributor Author

While I do agree that this is a major issue in winget, I think it's not fair to judge it entirely for it.

This is only for the msstore source. There is an astonishing number of packages available in the winget-pkgs source that works just fine.

Also, the maintainers already acknowledged the issue's importance and they say they are working on it. Even gave us details about why it's taking that long (lack of the correct APIs in Microsoft Store, if I understood well, which means it's probably involving multiple Teams at Microsoft and so).

@Beef4104
Copy link

Beef4104 commented Apr 7, 2022

Is there any sort of ETA on this? It's already annoying enough that because of Microsoft's UWP requirements, Intel drivers are not including the Intel Graphics Command Center and instead require an IT person to download it via the Microsoft Store. I want this to be automated for deployment.

@jpluimers
Copy link

Is there any sort of ETA on this?

It is already a big step that this is in the above linked milestone: https://github.com/microsoft/winget-cli/milestone/37

@denelon
Copy link
Contributor

denelon commented Apr 8, 2022

There are a lot of competing priorities. Maybe it would help to understand how we're prioritizing them.

@ghost ghost added the In-PR Issue related to a PR label Apr 14, 2022
@ghost ghost added Resolution-Fix-Committed and removed In-PR Issue related to a PR labels Apr 26, 2022
@webash
Copy link

webash commented Sep 21, 2022

I'm running winget v1.3.2091 but still finding I cannot install the Power Apps msstore app in the SYSTEM context with Intune, failing with something that definitely appears to be a store authentication error: 0x80070520 : A specified logon session does not exist. It may already have been terminated.

Full log below...

Installing '9MVC8P1Q3B29'
	using: C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.18.2091.0_x64__8wekyb3d8bbwe\winget.exe
	with arguments: install --silent --exact --id "9MVC8P1Q3B29" --accept-package-agreements --accept-source-agreements
		...
Found Power Apps [9MVC8P1Q3B29] Version Unknown
This package is provided through Microsoft Store. winget may need to acquire the package from Microsoft Store on behalf
of the current user.
Version: Unknown
Publisher: Microsoft Corp.
Description: The Power Apps app is the front door to the apps at your work or school. Which apps can you use? It depends
 on what’s been created for you. Here are some examples you might see, or ones you can make yourself using the Power App
s website:

- Campus app: Map your campus with icons for landmarks and facility details.
- Event registration app: Record attendees as they arrive using barcodes or QR codes.
- Expenses app: Let employees submit their expenses and upload photos of receipts.
- Health clinic app: Let patients check in to appointments with just a few taps.
- Performance app: Visualize data and get insights with interactive dashboards.
- Sales app: See opportunities and leads, review comments, and approve for your P&L.
- Timesheet app: Collect, consolidate, and analyze shift data from employees.

This is just a handful of examples; the possibilities are endless. Build and share low-code apps for your work or school
 at the Power Apps website.
License: https://go.microsoft.com/fwlink/?linkid=2133841
Privacy Url: https://go.microsoft.com/fwlink/?LinkID=310138
Agreements:
Category: Business
Pricing: Free
Free Trial: No
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
Seizure Warning: https://aka.ms/microsoft-store-seizure-warning
Store License Terms: https://aka.ms/microsoft-store-license


Verifying/Requesting package acquisition...
An unexpected error occurred while executing the command:
0x80070520 : A specified logon session does not exist. It may already have been terminated.

So I refute the bug fix terminology Allow winget to install MS Store packages without account just like the MS Store - as it seems like the fix still requires some kind of authentication/account; it just gets a special free license type. If there is no MS/Store account at all (like in the SYSTEM context as you are with Intune), then this still doesn't work.

@denelon
Copy link
Contributor

denelon commented Sep 21, 2022

@webash: #2537 (comment)

That's not an error originating from the store source. That error is based on how the Windows Package Manager is delivered to the client machine. The work we're doing for Intune integration includes a separate NuGet package that enables system context access to the COM API exposed by the Windows Package Manager.

@webash
Copy link

webash commented Sep 21, 2022

I've been able to get winget to launch in the system context and I believe I've been able to get it to install winget sourced packages in the SYSTEM context; so it hadn't occurred to me that there was a package registration issue. Is that merely because handing off to other system APIs is broken without this registration?

Annoyingly this brings me back to why I'm here. Right now there is no official path for installing Microsoft's own Power Apps app via Intune as 'required' nor let alone in the system context/to all users of the device, because it is not available as an offline licensed app via the old Windows Store for Business. Its really annoying that the old store was deprecated before necessary functionality was provided in the new Store. I'd hoped winget would be my salvation but instead I've spent hours getting packaging working with winget only for it to fail at this hurdle.

Thanks for listening to my rant :)

@denelon
Copy link
Contributor

denelon commented Sep 21, 2022

If you interactively logon with the system context, then the "App Installer" can be registered and winget would be available.

The Intune team is driving the private preview with winget integration. There has been heavy lifting to enable Intune to be able to install packages/Apps from the Microsoft Store via winget. The mechanism involves Intune deploying the NuGet package with "in process" COM access to the client machine, and then calling the winget COM APIs to perform the instal/upgrade/uninstall actions on the client machine.

@webash
Copy link

webash commented Sep 21, 2022

Understood. Hopefully they're able to restore functionality relating to deploying msstore apps soon.

EDIT: Oh, and thanks massively for replying - promptly too! Really appreciate it.

@Kein
Copy link

Kein commented Nov 2, 2022

@denelon

Several teams here at Microsoft are working closely together to build great experiences.

Do we have any progress at all on this front, 2 years later. Can we now install paid MS store apps like, for example, video games that come with X-Box GamePass and use MS store infrastructure for redistribution?

@denelon
Copy link
Contributor

denelon commented Nov 2, 2022

@Kein this issue is resolved. I think you are referring to:

@Kein
Copy link

Kein commented Nov 2, 2022

@denelon

Sure, this issue is, but the question I've asked in the context of the statement you made, here.

@denelon
Copy link
Contributor

denelon commented Nov 2, 2022

The question appears to be rhetorical.

My statement still stands. The team building the WinGet client, the supporting tools, and infrastructure are actively working with other teams at Microsoft including the Microsoft Store, Intune, and others.

I would absolutely love to be able to install Apps I've paid for from the Microsoft Store using WinGet as well as X-Box GamePass games. There are many competing priorities and limited resources. Other work in progress is currently higher in priority. Out of respect for those who are following this issue and receiving e-mail notifications, please create a new discussion if you would like to discuss this further. 😊

@Beef4104
Copy link

Beef4104 commented Nov 3, 2022

Yep, just another stalling maneuver by the oh so typically incompetent developers. Can't work it into one your little "sprints"? I guess you aren't "agile" enough hmm?

Go reread your comment and you'll understand why actual sysadmins are frustrated with you and your lack of performance.

@felipecrs
Copy link
Contributor Author

Oh wow. This should be one of the less pleasant comments I've ever read in GitHub.

Anyway, I would also recommend opening a new discussion if you want to continue on it, as this specific issue was addressed already.

@Beef4104
Copy link

Beef4104 commented Nov 3, 2022

We're not here to be pleasant. We're not here to open new discussions.

We're here to tell you that you're doing a bad job with the product we use.

@felipecrs
Copy link
Contributor Author

(I'm not from Microsoft, as many other people here reading your comments)

@Masamune3210
Copy link

We're not here to be pleasant. We're not here to open new discussions.

We're here to tell you that you're doing a bad job with the product we use.

There is a colossal difference between frustration and active malice. Malice is seldom actually helpful. If you are genuinely this mad at a program you are in fact not forced to use, just......don't move to it and start using it until you feel its worth using. Its not like the entire company's force is behind this one project.

@microsoft microsoft locked as off-topic and limited conversation to collaborators Nov 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Issue-Feature This is a feature request for the Windows Package Manager client. msstore Issue related to "msstore" REST source
Projects
None yet
Development

Successfully merging a pull request may close this issue.

15 participants