You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a user I want to be able to use winget to uninstall a package so I don't have to go through the Add/Remove software UX.
Experimental Feature winget uninstall <package> - uninstalls the specified package. winget uninstall -? - displays help for the uninstall command.
Note: uninstall depends on list also being enabled.
winget features - displays all experimental features and their status winget settings - launches settings.json to configure settings like experimental features
Note:
There are limitations about how programs get installed and whether or not that binary supports uninstall. This may also need to be supported in the manifest with new key(s) and or syntax.
This is never going to happen since packages just consist of running random executable files that can do whatever they want. There's no package building step or anything.
Reacted by Trevor N. Suarez, Paul Curry, Chukwudi Okechukwu, Belleve, Easton Pillay, Chad Braden, tetyys, Bartłomiej Klimczak, Alexander Haus, Wiichele and 70 more
Reacted by wubbl0rz, Lukas Metzner, GR3ee3N, Alexandr Epaneshnikov, Marc O'Morain, Suhail Malik, Reuven Podmazo, Assaf Morami, Tom Homewood, Manuel Berfelde and 9 more
Reacted by Vesa Kaihlavirta, Assaf Morami, 0.kgy, kazulittlefox, Teodor Chirileanu and Denis Çerri
Chocolatey (and scoop in certain scenarios) already does it through running the uninstaller that is registered in the control panel, I thought. winget could do a similar thing, although the flags for a silent uninstall would have to be in the manifest somewhere.
Reacted by Adam Roach, Zachary Thompson, Mindaugas Jasiulis, Sharat MR, BubiBalboa, Jyothish Kumar M S, phyz703, Michael A. Volz (Flynn), Tembo, Nicolaos Skimas and 44 more
IMHO this is basic functionality which is paramount for the success of winget.
Reacted by Tembo, Karl Wester-Ebbinghaus, Adriano Cahete, Celmor, CidVonHighwind, Austin M. Reppert, larsjuhw, Thomas Lee, Vincent Mercier, Dmitry B and 61 more
This is never going to happen since packages just consist of running random executable files that can do whatever they want. There's no package building step or anything.
There could be references to the programs' "uninstaller" executables as well.
For example, it could launch C:\Program Files (x86)\Steam\uninstall.exe to uninstall Steam.
Reacted by Michael A. Volz (Flynn), Karl Wester-Ebbinghaus, Kennnnnnji, Poopooracoocoo, Haoshen Zhong, Mikey and Bryan Hoang
The uninstaller reference comes with every installation. There are RARE cases of applications that cannot be uninstalled this way but it is doubtful they will be ever accessible / installable via winget.
Other than that you can clearly uninstall all apps using a WMI call and I have even borrowed a method someone else that is even able to crawl the registry for uninstalling applications by a name or wildcards.
Without blaming anyone, I certainly support an /u --uninstall switch, which can also be combined with /h --silent
Reacted by Marek Lukáš, Poopooracoocoo, Haoshen Zhong, Mikey, Teodor Chirileanu and Patrick Leiser
Basically, my point is that since this works by running arbitrary exe files on the host computer, the only thing it can do to uninstall something is run another arbitrary exe, again pulled from 3rd party sources. That exe can do anything, especially not clean up all the crap left by the install process.
What you expect from package managers (coming from other OSs) is that they build packages that are pretty much just declarative file archives with as little logic as possible, then those are installed with logic defined almost completely on the side of the package manager instead of the to-be-installed app. The logic that comes with the package itself is minimal if it exists at all, runs at specific times with specific functions (preinstall / postinstall / etc) and is declared as readable code (e.g. shell scripts). The package manager or user then can also verify that the package does not do anything weird like copying files to unusual locations or removing other files, or setting up / starting system services. (that's also a job of the package manager).
Reacted by Fabian Meyertöns, Gabriele, Gulshan, phiresky, Karl Wester-Ebbinghaus, Manuel Berfelde, Zdeněk Biberle, technosentience, Felipe Castillo, Poopooracoocoo and 14 more
Yes in fact what you are describing is something like MSI or MSIX / Windows Store that allows an internal uninstall via WinGet while at the moment and forseeable future winget is just the commandline (now also GUI) proxy for this task, but relies on some of the mentioned packagers and installation methods.
Reacted by Poopooracoocoo, Patrick Leiser, phiresky, Joshua Sleeper and Mr Beedell, Roke Julian Lockhart
I don't understand, if one of the intents of this program is to let allow you to install pre-existing software as well as any packages it may have.
Is it not possible to run an installer in a kind of sandbox and track installed files?
Projects such as Nix, GNU Stow and Arch packages ect ect have worked hard to provide similar functionality with streamlines the proccess with the only difference being that almost always programs are explicitly made to interface with this proccess.
Would it not be possible to achieve similar funcitonality with this?
There might be some issues with cleaning up files after the installation proccess, but this is a problem that no package manager (that I know of) has solved, and a package manager like this in it's early development could look to solve it, especially since it is official some of this functionality could be facilitated with the kernel.
This is basic functionality for a package manager really. Without that we have something that is just barely above a powershell script or even a good ol' batch file.
Reacted by Mikey, Jason Zavaglia, magicgoose, Bryan Hoang, Patrick Leiser, Gabriele, Lir Locker and Marco Lackovic
Also there is no error, unless you mean the disambiguation note which happens if you enabled the msstore source and thus have two locations to install PowerShell from.
@tajetaje Yeah, I know. I just felt the itch to point this out, due to the statement's wording reminding me of this controversy. (Also did the "something to share" already happen?)
Also there is no error, unless you mean the disambiguation note which happens if you enabled the msstore source and thus have two locations to install PowerShell from.
There is no error.
Unless, of course, there's an error.
Then the error is a feature!
Also there is no error, unless you mean the disambiguation note which happens if you enabled the msstore source and thus have two locations to install PowerShell from.
I have not "enabled" mstore.
It get's enabled by itself, automatically.
Absolutely no input on my side.
Keen Bowl (@keenbowl3009) Using command line package managers requires a basic degree of computer literacy, including the ability to comprehend bright yellow text in simple English. I am afraid that I can not help you further, sorry.
If you already had a ticket, what was the point other than to scratch the chip on your shoulder you seem to have of bringing it up.
I'm done. Its obvious you arent acting in good faith and just want to stir up trouble
EqualDust (@EqualDust) The feature is implemented, that's why this issue is closed. It can certainly be buggy for some uninstallers -- the correct attitude to fix this problem is to report each individual bugged uninstaller.
every bug is a new account. Reporting each individual bugged uninstaller is inneficient, an org with resources like msft should be able to ship great products by default.
How come scoop, completely community backed, get this right by default?
Please don't make an ordeal of this,
the topic of the issue has been resolved, if you have an issue (and I don't doubt you have),
it is correct to make a new issue.
This thread is getting long and very noisy now, noisy threads are hard to follow.
Are you will be bothering people that are still inadvertently following a virtually dead issue.
Activity
phiresky commentedon May 19, 2020
This is never going to happen since packages just consist of running random executable files that can do whatever they want. There's no package building step or anything.
(edit: see also my clarification below)
jedieaston commentedon May 19, 2020
Chocolatey (and scoop in certain scenarios) already does it through running the uninstaller that is registered in the control panel, I thought. winget could do a similar thing, although the flags for a silent uninstall would have to be in the manifest somewhere.
michaelvolz commentedon May 21, 2020
IMHO this is basic functionality which is paramount for the success of winget.
Smart123s commentedon May 21, 2020
There could be references to the programs' "uninstaller" executables as well.
For example, it could launch
C:\Program Files (x86)\Steam\uninstall.exeto uninstall Steam.Karl-WE commentedon May 21, 2020
The uninstaller reference comes with every installation. There are RARE cases of applications that cannot be uninstalled this way but it is doubtful they will be ever accessible / installable via winget.
Other than that you can clearly uninstall all apps using a WMI call and I have even borrowed a method someone else that is even able to crawl the registry for uninstalling applications by a name or wildcards.
Without blaming anyone, I certainly support an /u --uninstall switch, which can also be combined with /h --silent
Karl-WE commentedon May 21, 2020
in terms of naming i would not use Winget remove, imho as it is "install" it should be named "uninstall" for ease of use. https://github.com/microsoft/winget-cli/issues/192
[-]--uninstall[/-][+]--uninstall Uninstall an installed App[/+][-]--uninstall Uninstall an installed App[/-][+]Uninstall an installed App[/+]masx200 commentedon May 24, 2020
i support it
phiresky commentedon May 24, 2020
For clarification about what I meant with my (admittedly flippant) comment above, see these three threads:
Basically, my point is that since this works by running arbitrary exe files on the host computer, the only thing it can do to uninstall something is run another arbitrary exe, again pulled from 3rd party sources. That exe can do anything, especially not clean up all the crap left by the install process.
What you expect from package managers (coming from other OSs) is that they build packages that are pretty much just declarative file archives with as little logic as possible, then those are installed with logic defined almost completely on the side of the package manager instead of the to-be-installed app. The logic that comes with the package itself is minimal if it exists at all, runs at specific times with specific functions (preinstall / postinstall / etc) and is declared as readable code (e.g. shell scripts). The package manager or user then can also verify that the package does not do anything weird like copying files to unusual locations or removing other files, or setting up / starting system services. (that's also a job of the package manager).
Karl-WE commentedon May 25, 2020
Yes in fact what you are describing is something like MSI or MSIX / Windows Store that allows an internal uninstall via WinGet while at the moment and forseeable future winget is just the commandline (now also GUI) proxy for this task, but relies on some of the mentioned packagers and installation methods.
Mallchad commentedon Jun 3, 2020
I don't understand, if one of the intents of this program is to let allow you to install pre-existing software as well as any packages it may have.
Is it not possible to run an installer in a kind of sandbox and track installed files?
Projects such as Nix, GNU Stow and Arch packages ect ect have worked hard to provide similar functionality with streamlines the proccess with the only difference being that almost always programs are explicitly made to interface with this proccess.
Would it not be possible to achieve similar funcitonality with this?
There might be some issues with cleaning up files after the installation proccess, but this is a problem that no package manager (that I know of) has solved, and a package manager like this in it's early development could look to solve it, especially since it is official some of this functionality could be facilitated with the kernel.
Caltor commentedon Jun 3, 2020
This is basic functionality for a package manager really. Without that we have something that is just barely above a powershell script or even a good ol' batch file.
49 remaining items
Masamune3210 commentedon Nov 15, 2021
If you are getting a error installing something, open a ticket. Things can't get fixed if the devs don't know of the issue
jthoward64 commentedon Nov 15, 2021
#353 (comment)
Last I'll say on the topic
JanPokorny commentedon Nov 15, 2021
Keen Bowl (@keenbowl3009) If you're afraid, don't use
winget. Nobody is forcing you. If you want to install PowerShell manually, feel free to go to https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x64.msi and run it yourself, although be aware that you will be doing precisely the same thing as thewingetyou're afraid of.Also there is no error, unless you mean the disambiguation note which happens if you enabled the
msstoresource and thus have two locations to install PowerShell from.JanPokorny commentedon Nov 15, 2021
@tajetaje Yeah, I know. I just felt the itch to point this out, due to the statement's wording reminding me of this controversy. (Also did the "something to share" already happen?)
keenbowl3009 commentedon Nov 15, 2021
There is no error.
Unless, of course, there's an error.
Then the error is a feature!
keenbowl3009 commentedon Nov 15, 2021
I have not "enabled" mstore.
It get's enabled by itself, automatically.
Absolutely no input on my side.
keenbowl3009 commentedon Nov 15, 2021
Thanks.
#1711
JanPokorny commentedon Nov 15, 2021
Keen Bowl (@keenbowl3009) Using command line package managers requires a basic degree of computer literacy, including the ability to comprehend bright yellow text in simple English. I am afraid that I can not help you further, sorry.
Masamune3210 commentedon Nov 15, 2021
If you already had a ticket, what was the point other than to scratch the chip on your shoulder you seem to have of bringing it up.
I'm done. Its obvious you arent acting in good faith and just want to stir up trouble
Squashed 'src/Valijson/valijson/' changes from 7a52fc88..2dfc7499
Squashed 'src/Valijson/valijson/' changes from 7a52fc88..2dfc7499
EqualDust commentedon Nov 29, 2021
IMHO it is a dishonest attitude closing this issue since the uninstaller is currently broken and most of the time does not work.
JanPokorny commentedon Nov 29, 2021
EqualDust (@EqualDust) The feature is implemented, that's why this issue is closed. It can certainly be buggy for some uninstallers -- the correct attitude to fix this problem is to report each individual bugged uninstaller.
Also, stop creating new GitHub accounts, please.
EqualDust commentedon Nov 29, 2021
Mallchad commentedon Nov 29, 2021
Please don't make an ordeal of this,
the topic of the issue has been resolved, if you have an issue (and I don't doubt you have),
it is correct to make a new issue.
This thread is getting long and very noisy now, noisy threads are hard to follow.
Are you will be bothering people that are still inadvertently following a virtually dead issue.