Why does WINGET put so many programs in APPDATA and doesn't respect the -location flag?
Posted by rimbooreddit@reddit | sysadmin | View on Reddit | 19 comments
So that's question No. 1 and 2.
3 And finally, who's fault is that?
4 If a program doesn't respect the -location option, do I report it against winget or the program in question?
5 Are the developers of the specific programs the ones responsible for install package preparation in the respective winget repos?
Frothyleet@reddit
Winget is a package manager. What happens when the packages run is up to the publishers, generally. If you run winget without admin rights, many apps nowadays will default to user-space installs versus prompting for admin escalation.
In short, not MS/Winget at fault, complain to the app publishers. Although also confirm if your problem is solved by running winget as admin, if you are doing system-scope installs and were expecting a UAC prompt.
rimbooreddit@reddit (OP)
Does launching powershell as admin count (for issuing winget commands)?
Frothyleet@reddit
Yeah it should. Any child processes you spawn from a shell inherit admin.
SEND_ME_PEACE@reddit
Winget shouldn’t have system access to the machine. It’ll drop everything in the current logged in user space since that’s where Winget is installed anyway.
rimbooreddit@reddit (OP)
Most of my winget-installed apps go to C:\Program files\
SEND_ME_PEACE@reddit
Then you installed Winget as machine or system. Tell me, when you run powershell, do you run as admin, or just open it before you run Winget cli?
The account that you use to open PS is where Winget is gonna send those files.
digital-bandit@reddit
Have you tried
--scope machineinstead of--locationrimbooreddit@reddit (OP)
Not yet, but thanks be all who suggested it. Going to my winget notes!
ExceptionEX@reddit
I mean, don't use winget if you don't like the way it works?
No one is required to support that flag, that is just an option that some developers put in their config,
And yes, developers make their installers, winget calls those installers.
rimbooreddit@reddit (OP)
I love winget! Since I only got back to windows from linux for gaming :)
BlackV@reddit
Creative-Type9411@reddit
permissions most likely
omn1p073n7@reddit
Wingets trying its best ok
justaguyonthebus@reddit
Winget doesn't have that much control over the behavior of the installers. It's more of a suggestion.
cottonycloud@reddit
I would add —scope machine when possible
scytob@reddit
because its optional per package
and most packages follow the application install guidelines from MS that require per user installed apps are installed in appdata local or roaming directories as applicable
tensorfish@reddit
AppData usually means the package fell back to a per-user installer, not that winget invented a new idea.
--locationonly helps if the underlying installer and the manifest actually support a custom target path. If the same silent installer ignores that switch outside winget, blame the vendor; if the manifest mapped it wrong or not at all, blame the package.Master-IT-All@reddit
User installed apps should be in APPDATA for the user. It may even be a requirement that Microsoft puts on the developer. And it may be that the dev that allows location is actually the broken/wrong app.
HankMardukasNY@reddit
Because that’s the default location for almost every user context app, many of which don’t have the option to change the location even when installing manually