Open TripleNico opened 1 year ago
Winget has 2 default sources: msstore (the Microsoft Store source) and winget (community source aka winget-pkgs)
The msstore source requires agreements to be accepted. And in your case, passing --accept-source-agreements does accept the source agreements. It can be confirmed in the console output that "Do you agree to the teams?" prompt is not shown and winget moves on to work on the winget source later.
The failure 0x8a15000f : Data required by the source is missing
actually is from the winget source. This error code means the winget source's index package cannot be found. Does the machine have access to https://cdn.winget.microsoft.com/cache/source.msix and allow deployment of the index package? Usually you can run winget source update
to force update winget sources.
Winget has 2 default sources: msstore (the Microsoft Store source) and winget (community source aka winget-pkgs)
The msstore source requires agreements to be accepted. And in your case, passing --accept-source-agreements does accept the source agreements. It can be confirmed in the console output that "Do you agree to the teams?" prompt is not shown and winget moves on to work on the winget source later.
The failure
0x8a15000f : Data required by the source is missing
actually is from the winget source. This error code means the winget source's index package cannot be found. Does the machine have access to https://cdn.winget.microsoft.com/cache/source.msix and allow deployment of the index package? Usually you can runwinget source update
to force update winget sources.
Thanks for your swift reply. I checked if i have acces to the winget source and that's no problem. Other things i could try?
Only REST sources like "msstore" may have "source agreements". Passing "--accept-source-agreements" will eliminate the need for an interactive response. The "msstore" source also has package agreements. Passing "--accept-package-agreements" will eliminate the need for an interactive response.
The WinGet community repository (a.k.a. the "winget" source) is not a REST source does not allow package agreements yet.
If you pass the source "--source msstore" or "--source winget" you will eliminate the need for checking across multiple sources.
The name "query" value you are passing appears to be from the Microsoft Store, I would suggest:
winget upgrade "Adobe Acrobat (64-bit)" --source msstore --silent --accept-source-agreements --accept-package-agreements
I think the error is coming from an issue related to searching the "winget" source which wouldn't be necessary in this explicit case.
Hmmm alright, that isn't really helpfull since adobe was just an example. So what would be the right way to install Winget remote and then exept the EULA silently? Or is it only possible as described below. The thing i tried with GPO should also work right?
What i also noticed is when i run this:
winget list --exact --id "Microsoft.VisualStudioCode"
I get this error:
Failed when searching source; results will not be included: winget
No installed package found matching input criteria.
I think this is also related to not being able to trust the source(s)?
WinGet is distributed as a component inside the "App Installer". It's an MSIX package so there are several challenges associated with calling WinGet remotely. We're still working through some of these challenges.
You might want to look at:
Brief description of your issue
I rolled out Winget to our domain machines and i'm facing an issue where i cant install a package due to the fact the msstore agreement terms aren't accepted.
The exact error:
Steps to reproduce
Let me walk you through the steps i've taken.
First step, install Winget on remote computers
This installs version
v1.3.2691
on all computers.Expected behavior
I excepted so see that is would upgrade adobe reader.
Actual behavior
Next step was trying to
upgrade
something likeAdobe Reader
. I first searched usingWinget search adobe
for the right package name which led me to:But this resulted in the error:
So after some googling i found out i can add the
--accept-source-agreements
and--accept-package-agreements
parameters to accept it remotely. Like this topic describes: #1536 but as you can see above in the first code block this still results in that error.Next step was asking ChatGPT since i didn't find any other hint on google. ChatGPT suggested running:
But this didn't change anything.
Back to google and i found out that there is also an ADMX file for GPO control. Imported that, enabled Winget AND set the trusted sources to
msstore
andwinget
but again without success.Finally I tried reinstalling everything and also
source reset
but all with no luck.Am i missing something here? Hopefully someone could pinpoint the problem.
Thanks!
Environment