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

Uninstall an installed App #121

Closed
denelon opened this issue May 11, 2020 · 62 comments · Fixed by #969
Closed

Uninstall an installed App #121

denelon opened this issue May 11, 2020 · 62 comments · Fixed by #969
Assignees
Labels
Experimental This experimental feature can be enabled in settings Issue-Feature This is a feature request for the Windows Package Manager client.

Comments

@denelon
Copy link
Contributor

denelon commented May 11, 2020

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.

Edited: experimental status

@denelon denelon added the Issue-Feature This is a feature request for the Windows Package Manager client. label May 11, 2020
@denelon denelon added this to Spec Needed ❓ in Client-Specifications via automation May 12, 2020
@utybo utybo mentioned this issue May 19, 2020
@phiresky
Copy link

phiresky commented 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
Copy link
Contributor

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
Copy link

IMHO this is basic functionality which is paramount for the success of winget.

@Smart123s
Copy link

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.

@Karl-WE
Copy link
Contributor

Karl-WE commented 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
Copy link
Contributor

Karl-WE commented 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

@denelon denelon changed the title --uninstall --uninstall Uninstall an installed App May 23, 2020
@denelon denelon added this to the Package Manager Backlog milestone May 23, 2020
@denelon denelon changed the title --uninstall Uninstall an installed App Uninstall an installed App May 23, 2020
@masx200
Copy link

masx200 commented May 24, 2020

i support it

@phiresky
Copy link

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
Copy link
Contributor

Karl-WE commented 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
Copy link

Mallchad commented 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
Copy link

Caltor commented 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.

@KevinLaMS KevinLaMS moved this from Spec Needed ❓ to Spec In Progress ✏ in Client-Specifications Jun 4, 2020
@KevinLaMS
Copy link
Contributor

I have an early draft started of the spec. I am not tackling the notion of a sandbox at this time.
#397

@sredna
Copy link
Contributor

sredna commented Jun 6, 2020

SystemAppId is not enough to provide a proper uninstall experience IMHO.

There might be a need for a UninstallSwitches section with at least a Silent entry in the manifest. Unless we want to assume that all uninstallers support the same silent switch as its installer?

It would also be nice if winget tried the de facto standard QuietUninstallString registry value (if it exists) before using UninstallString.

When it comes to actually running the uninstaller, it is a good idea for winget to use a Job object on the uninstaller process so it can wait for all the children like Add/Remove programs does.

If you don't want to use a job object but still want to wait for the process then custom actions are required. For nullsoft this means using its special uninstaller syntax. In a batch file that would look something like this:

@echo off
REM This is a ugly mess because it is very hard for a running .exe to delete itself on Windows.
set "installdir=c:\program files\foo"
set "uninstbin=%installdir%\uninstaller.exe"
call "%uninstbin%" /S _?=%installdir%
if errorlevel 1 goto failed
del "%uninstbin%"
rd "%installdir%"
:failed

@denelon denelon modified the milestones: Package Manager Backlog, Package Manager v0.4 Jul 1, 2020
@BrainSlugs83
Copy link

BrainSlugs83 commented Aug 12, 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.

That's just silly. -- If the package registry can specify an executable which can be run to install a given package, then it should be able to specify an executable that can be run to uninstall a package.

BTW, upon doing a quick search, it looks like package manifests are just yaml files -- so someone does have to build them -- apps don't just automatically have yaml files for no reason. (Not to mention there's a PowerShell script on that page that helps develops build their package manifests...)

And if you can put an "Installers" key in your yaml file, you can sure as heck add an "Uninstallers" key with the exact same info. 😑

@denelon denelon modified the milestones: Package Manager v0.4.x, Package Manager v0.5 Aug 19, 2020
@denelon denelon added the Size-M label Sep 24, 2020
@DiegoMagdaleno
Copy link

I agree with @BrainSlugs83 you can have contributors declare an uninstall key, that the program just executes, just like Homebrew formulae does, so you can have "if the user wants to uninstall do this: blah blah blah" and it would work without issues imo.

@denelon denelon moved this from In progress to Done in Client-Current May 19, 2021
@denelon denelon closed this as completed May 20, 2021
@denelon denelon moved this from Spec In Progress ✏ to Spec Accepted! 🎉 in Client-Specifications Oct 1, 2021
@keenbowl3009
Copy link

@jedieaston Microsoft is now in a great position to make MSIX better (drop signature requirement, add direct support to common setup wizard frameworks to make adoption easier, ...) and push it using winget ("you can put your app on winget, just use this installation format your pipeline probably already supports"). Once winget is included in Windows, developers might even use it to auto-update their apps basically for free. I don't think there's a high chance of this happening, but it would surely be great.

The MSIX format is really horrendous because it allows the insertion of DRM in software through the form of the AppxBlockMap.xml files.

On top of that, it is only supported on windows.
It is really the most horrible and frustrating one of the choices.

Really really awful that microsoft is attempting to push forward with the locking of windows, without fixing any of the underlying problems of the platform.

@JanPokorny
Copy link

@keenbowl3009 Most paid software already has DRM, with or without MSIX.

Also, how is "it is only supported on Windows" an argument? Scoop is only supported on Windows, Homebrew is only supported on Mac and Apt is only supported on Linux, does that make them bad?

@keenbowl3009
Copy link

scoop is a shell script that unzip files, and adds to path.

can you unzip files, and add them to path with winget?

@keenbowl3009
Copy link

https://devblogs.microsoft.com/commandline/windows-package-manager-preview/

You are going to be able to winget install your way to bliss. One of the best parts is that it is open source. I had to pinch myself when I was able to winget install terminal, and then winget install powershell, and then winget install powertoys.

Can you winget install any of those from the original winget annoucement?

@JanPokorny
Copy link

JanPokorny commented Nov 15, 2021

scoop is a shell script that unzip files, and adds to path.
can you unzip files, and add them to path with winget?

No, it's on the roadmap, and I don't get how it's related to the previous conversation.

Can you winget install any of those from the original winget annoucement?

All of them! In fact I installed all of these through winget. What are you even trying to say?

@jthoward64
Copy link

jthoward64 commented Nov 15, 2021

Given that

A. You don't like winget
B. You like scoop

I suggest that you

Use scoop

EDIT: also could a mod mark everything for the last hour as off topic please? @denelon

@Masamune3210
Copy link

Yet another bad faith argument, seems people love these lately

@denelon
Copy link
Contributor Author

denelon commented Nov 15, 2021

@tajetaje Since this issue is closed, I don't see much value in marking the thread "off topic". Unfortunately, there probably isn't a single solution that will make everybody happy. Sometimes people want to make sure they are heard. There are several tools attempting to solve the problems related to managing software on Windows. We're not trying to replace any of them. We're trying to meet developers where they are and have a plan to go forward in time. Some of the constraints we're trying to adhere to make the problems more challenging in some areas and easier in others. Hopefully over time, we will build something that is flexible enough to give the control users want and the flexibility to work with existing installers.

@JanPokorny
Copy link

@denelon > We're not trying to replace any of them.

I'd be... more cautious with that statement. https://keivan.io/the-day-appget-died/

@keenbowl3009
Copy link

scoop is a shell script that unzip files, and adds to path.
can you unzip files, and add them to path with winget?

No, it's on the roadmap, and I don't get how it's related to the previous conversation.

Can you winget install any of those from the original winget annoucement?

All of them! In fact I installed all of these through winget. What are you even trying to say?

winget install powershell will literally give me an error.

On top of that, i'm afraid of even running that and permanently borking my machine.

@Masamune3210
Copy link

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
Copy link

@denelon > We're not trying to replace any of them.

I'd be... more cautious with that statement. https://keivan.io/the-day-appget-died/

#353 (comment)

Last I'll say on the topic

@JanPokorny
Copy link

@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 the winget you're afraid of.

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.

image

@JanPokorny
Copy link

@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
Copy link

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!

@keenbowl3009
Copy link

@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 the winget you're afraid of.

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.

image

I have not "enabled" mstore.
It get's enabled by itself, automatically.
Absolutely no input on my side.

@keenbowl3009
Copy link

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

Thanks.
#1711

@JanPokorny
Copy link

@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
Copy link

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

jedieaston added a commit to jedieaston/winget-cli that referenced this issue Nov 17, 2021
2dfc7499 Update Authors file
6dab4978 Update README and tweak syntax in Boost.JSON adapter
2ecd2119 Merge pull request microsoft#136 from matty0ung/boostjson
b1119ccc Merge pull request microsoft#135 from matty0ung/uris
f5cf601e Add Boost.JSON support
14325788 Add Boost.JSON support
d3104ea8 Support fetching sub-schemas from other files
ad7dac75 Merge pull request microsoft#133 from rayvincent2/feature/add-urn-reference-support
3442709a Update urn regex expression to be std::regex safe
f787a8a7 Update urn regex to match widely accepted expression
653d515d Ensure that urn regex checks to end of string
eac0859c Ensure that urn NID cannot include '.'
ef42dae2 Add support for urn document references
a4684c28 Fix path to rapidjson in fuzzing test code
11af6522 Merge remote-tracking branch 'clainio/build-fix'
c5487c39 Update rapidjson to latest code from github
6a04040d Update adapters to avoid inheriting from std::iterator
385d2d83 Improve handling of compiler flags when exceptions are disabled
82e093fe Upgrade gtest to v1.11.0
c63ac26f Disable C4702: unreachable code warnings for json_pointer.hpp
855365bc Disable C4702: unreachable code warnings within relevant headers
5c97e3cc Fix gcc build error
4897d102 Fix exclusiveMaximum and exclusiveMinimum error messages
6cc4cddc Suppress boost warnings that aren't relevant to the test suite
2cf8d3dd Add default tests for draft 7
e94179e1 Add definitions tests for draft 7
bb2c4251 Improve array_iteration_basics example
e6909b15 Add required test for draft 4
df89869e Add maxLength and minLength tests for draft 7
91834621 Fix return type on getMinLength
3740dc51 Explicitly initialise optionals in Subschema class
cb778b6b Minor changes to address msvc warnings and make cmake work on Windows
70f12ed1 Merge pull request microsoft#123 from anishmonachan7/fix_unused_variable
03b8cccb Update include/valijson/constraints/concrete_constraints.hpp
dc6d2fe0 fix unused variable error with gcc 8.3
77bae9fb Fix xcode stuff
66262baf Include nlohmann/json.hpp instead of json.hpp
b3b958c8 Merge pull request microsoft#121 from anishmonachan7/virtual_destructor
84c9fbf5 destructor to virtual destructor
8a784f23 Minor fix for example code in README
a19e1c00 Remove warning suppressions for clang
af2358b6 Use custom RAPIDJSON_ASSERT macro to catch parser errors
7ab96207 Ensure ref values are strings
635f36f0 Merge pull request microsoft#119 from BSipos-RKF/issue-118
fba5a9e8 Reject JSON references that index into empty arrays
cbcde15c Possible fix for microsoft#118
3621f98d Update rapidjson_utils.hpp to use iterative parsing
f544cd02 Merge pull request microsoft#116 from AdamKorcz/fuzz1
c13eed99 Minor refactoring
3a47f0cd Added fuzzer with oss-fuzz build file
cf648930 Merge pull request microsoft#114 from baylesj/fix-memory-leak
1f964c12 Fix memory leak in concrete constraints
7cb31947 Merge pull request microsoft#113 from hei-pa/master
8cc83c8b move curlpp findPackage in EXAMPLES block
c1e75c70 Merge pull request microsoft#110 from baylesj/remote_throws
bc81adbd add version checks around BOOST_NORETURN
7a560db2 Fixup headers
b8e95810 Apply feedback, add boost version check
8f6f9b6a Use deprecated declarations
f1006142 Cleanup unnecessary returns
a30ef974 Add VALIJSON_USE_EXCEPTIONS mode
8a700811 Add JSON Inspector example app
bbfc3f5c Fixed build on certain GCC toolchains
84b67fa6 Merge pull request microsoft#107 from baylesj/readme
90783ca4 Minor code style changes
3dd4482a Merge pull request microsoft#103 from wwriter/cond_schema_errormessage
ee4f85bf Minor tweaks to README.md file
a7038862 Update jsoncpp link in readme
abedaf0e Merge pull request microsoft#105 from baylesj/update-jsoncpp
825ee110 Fix readme
b6b6f167 Delete jsoncpp fuzzing stuff
2ee7474f Delete more unnecessary scripts
1ff5308f fix submodule
dbc4fcc8 Remove modules
88d9d890 Update JsonCpp to 1.9.4
d5091b2d added feature : now users can get a detailed error message when if-then-else conditional constraints are not met
931f64d4 Merge pull request microsoft#102 from mathbunnyru/patch-2
c5e61543 Add conan package manager info
6cda9227 Merge pull request microsoft#99 from mathbunnyru/patch-1
45b0f83b Fix README so the code actually throws, when json is invalid
89e37cbf Fix typo
7f01c391 Minor suggestions from clangtidy
a527564b Merge pull request microsoft#96 from joshuaeckroth/master
ccad6b14 Switched from jsoncpp deprecated Reader to CharReader
45a333e6 Try to make builds faster
0ee3bada Fix broken build
bbe62ecd Merge pull request microsoft#95 from wirenboard/feature/cache-regex
f7f3acf2 Merge pull request microsoft#94 from wirenboard/fix/pass-by-ref
39f35069 Regex objects cache for pattern constraints
2216c2b8 Pass visitor to validationCallback by ref
0db0d139 Merge pull request microsoft#93 from Delgan/fix-unused-args
1c825cc6 Remove unused parameters instead of commenting them out
ca031221 Fix compilation errors due to unused parameters
105e345a Merge pull request microsoft#92 from arthurafarias/add-cmake-interface-library
f60a3089 Added interface target to CMakeLists.txt
d453ee2e Revert breaking changes to jsoncpp_adapter.hpp
f3a0390e Revert changes to json11_adapter.hpp
49c20301 Disable -Wshadow for included header in property_tree_utils.hpp
8875d802 Add CLion paths to .gitignore
73a8e440 More aggressive compiler warnings
77d2ef82 Cosmetic improvements for poco_json_adapter.hpp and property_tree_adapter.hpp
e5c1cbfe Ensure tests are run for Poco, Qt and property_tree adapters
8c0d16a0 Cosmetic improvements for std_string_adapter.hpp, test_json_pointer.cpp and test_poly_constraint.cpp
217b990b Cosmetic improvements for schema_parser.hpp and validation_results.hpp
71f4cdaa Cosmetic improvements for custom_allocator.hpp
e46af245 Cosmetic improvements for concrete_constraints.hpp and basic_constraint.hpp
7917b2f7 Cosmetic improvements for schema.hpp, schema_parser.hpp and subschema.hpp
8150a520 Cosmetic improvements for test_adapter_comparison.cpp
28cc9e8e Cosmetic improvements for qtjson_adapter.hpp
508bc019 Cosmetic improvements for rapidjson_adapter.hpp
d7901d48 Cosmetics improvements for picojson_adapter.hpp
3211a04d Cosmetic improvements for nlohmann_json_adapter.hpp
0f57cb31 Cosmetic improvements for jsoncpp_adapter.hpp
e11c17c3 Cosmetic improvements for json11_adapter.hpp
6f1f4acb Cosmetic improvements for basic_adapter.hpp
3ddbe585 Cosmetic improvements for validation_visitor.hpp
09d21423 Update xcode project files
0481a0bb Minor tidy up of const auto usage
94cef2fa Add example showing local file resolution

git-subtree-dir: src/Valijson/valijson
git-subtree-split: 2dfc7499a31b84edef71189f4247919268ebc74e
jedieaston added a commit to jedieaston/winget-cli that referenced this issue Nov 17, 2021
2dfc7499 Update Authors file
6dab4978 Update README and tweak syntax in Boost.JSON adapter
2ecd2119 Merge pull request microsoft#136 from matty0ung/boostjson
b1119ccc Merge pull request microsoft#135 from matty0ung/uris
f5cf601e Add Boost.JSON support
14325788 Add Boost.JSON support
d3104ea8 Support fetching sub-schemas from other files
ad7dac75 Merge pull request microsoft#133 from rayvincent2/feature/add-urn-reference-support
3442709a Update urn regex expression to be std::regex safe
f787a8a7 Update urn regex to match widely accepted expression
653d515d Ensure that urn regex checks to end of string
eac0859c Ensure that urn NID cannot include '.'
ef42dae2 Add support for urn document references
a4684c28 Fix path to rapidjson in fuzzing test code
11af6522 Merge remote-tracking branch 'clainio/build-fix'
c5487c39 Update rapidjson to latest code from github
6a04040d Update adapters to avoid inheriting from std::iterator
385d2d83 Improve handling of compiler flags when exceptions are disabled
82e093fe Upgrade gtest to v1.11.0
c63ac26f Disable C4702: unreachable code warnings for json_pointer.hpp
855365bc Disable C4702: unreachable code warnings within relevant headers
5c97e3cc Fix gcc build error
4897d102 Fix exclusiveMaximum and exclusiveMinimum error messages
6cc4cddc Suppress boost warnings that aren't relevant to the test suite
2cf8d3dd Add default tests for draft 7
e94179e1 Add definitions tests for draft 7
bb2c4251 Improve array_iteration_basics example
e6909b15 Add required test for draft 4
df89869e Add maxLength and minLength tests for draft 7
91834621 Fix return type on getMinLength
3740dc51 Explicitly initialise optionals in Subschema class
cb778b6b Minor changes to address msvc warnings and make cmake work on Windows
70f12ed1 Merge pull request microsoft#123 from anishmonachan7/fix_unused_variable
03b8cccb Update include/valijson/constraints/concrete_constraints.hpp
dc6d2fe0 fix unused variable error with gcc 8.3
77bae9fb Fix xcode stuff
66262baf Include nlohmann/json.hpp instead of json.hpp
b3b958c8 Merge pull request microsoft#121 from anishmonachan7/virtual_destructor
84c9fbf5 destructor to virtual destructor
8a784f23 Minor fix for example code in README
a19e1c00 Remove warning suppressions for clang
af2358b6 Use custom RAPIDJSON_ASSERT macro to catch parser errors
7ab96207 Ensure ref values are strings
635f36f0 Merge pull request microsoft#119 from BSipos-RKF/issue-118
fba5a9e8 Reject JSON references that index into empty arrays
cbcde15c Possible fix for microsoft#118
3621f98d Update rapidjson_utils.hpp to use iterative parsing
f544cd02 Merge pull request microsoft#116 from AdamKorcz/fuzz1
c13eed99 Minor refactoring
3a47f0cd Added fuzzer with oss-fuzz build file
cf648930 Merge pull request microsoft#114 from baylesj/fix-memory-leak
1f964c12 Fix memory leak in concrete constraints
7cb31947 Merge pull request microsoft#113 from hei-pa/master
8cc83c8b move curlpp findPackage in EXAMPLES block
c1e75c70 Merge pull request microsoft#110 from baylesj/remote_throws
bc81adbd add version checks around BOOST_NORETURN
7a560db2 Fixup headers
b8e95810 Apply feedback, add boost version check
8f6f9b6a Use deprecated declarations
f1006142 Cleanup unnecessary returns
a30ef974 Add VALIJSON_USE_EXCEPTIONS mode
8a700811 Add JSON Inspector example app
bbfc3f5c Fixed build on certain GCC toolchains
84b67fa6 Merge pull request microsoft#107 from baylesj/readme
90783ca4 Minor code style changes
3dd4482a Merge pull request microsoft#103 from wwriter/cond_schema_errormessage
ee4f85bf Minor tweaks to README.md file
a7038862 Update jsoncpp link in readme
abedaf0e Merge pull request microsoft#105 from baylesj/update-jsoncpp
825ee110 Fix readme
b6b6f167 Delete jsoncpp fuzzing stuff
2ee7474f Delete more unnecessary scripts
1ff5308f fix submodule
dbc4fcc8 Remove modules
88d9d890 Update JsonCpp to 1.9.4
d5091b2d added feature : now users can get a detailed error message when if-then-else conditional constraints are not met
931f64d4 Merge pull request microsoft#102 from mathbunnyru/patch-2
c5e61543 Add conan package manager info
6cda9227 Merge pull request microsoft#99 from mathbunnyru/patch-1
45b0f83b Fix README so the code actually throws, when json is invalid
89e37cbf Fix typo
7f01c391 Minor suggestions from clangtidy
a527564b Merge pull request microsoft#96 from joshuaeckroth/master
ccad6b14 Switched from jsoncpp deprecated Reader to CharReader
45a333e6 Try to make builds faster
0ee3bada Fix broken build
bbe62ecd Merge pull request microsoft#95 from wirenboard/feature/cache-regex
f7f3acf2 Merge pull request microsoft#94 from wirenboard/fix/pass-by-ref
39f35069 Regex objects cache for pattern constraints
2216c2b8 Pass visitor to validationCallback by ref
0db0d139 Merge pull request microsoft#93 from Delgan/fix-unused-args
1c825cc6 Remove unused parameters instead of commenting them out
ca031221 Fix compilation errors due to unused parameters
105e345a Merge pull request microsoft#92 from arthurafarias/add-cmake-interface-library
f60a3089 Added interface target to CMakeLists.txt
d453ee2e Revert breaking changes to jsoncpp_adapter.hpp
f3a0390e Revert changes to json11_adapter.hpp
49c20301 Disable -Wshadow for included header in property_tree_utils.hpp
8875d802 Add CLion paths to .gitignore
73a8e440 More aggressive compiler warnings
77d2ef82 Cosmetic improvements for poco_json_adapter.hpp and property_tree_adapter.hpp
e5c1cbfe Ensure tests are run for Poco, Qt and property_tree adapters
8c0d16a0 Cosmetic improvements for std_string_adapter.hpp, test_json_pointer.cpp and test_poly_constraint.cpp
217b990b Cosmetic improvements for schema_parser.hpp and validation_results.hpp
71f4cdaa Cosmetic improvements for custom_allocator.hpp
e46af245 Cosmetic improvements for concrete_constraints.hpp and basic_constraint.hpp
7917b2f7 Cosmetic improvements for schema.hpp, schema_parser.hpp and subschema.hpp
8150a520 Cosmetic improvements for test_adapter_comparison.cpp
28cc9e8e Cosmetic improvements for qtjson_adapter.hpp
508bc019 Cosmetic improvements for rapidjson_adapter.hpp
d7901d48 Cosmetics improvements for picojson_adapter.hpp
3211a04d Cosmetic improvements for nlohmann_json_adapter.hpp
0f57cb31 Cosmetic improvements for jsoncpp_adapter.hpp
e11c17c3 Cosmetic improvements for json11_adapter.hpp
6f1f4acb Cosmetic improvements for basic_adapter.hpp
3ddbe585 Cosmetic improvements for validation_visitor.hpp
09d21423 Update xcode project files
0481a0bb Minor tidy up of const auto usage
94cef2fa Add example showing local file resolution

git-subtree-dir: src/Valijson/valijson
git-subtree-split: 2dfc7499a31b84edef71189f4247919268ebc74e
@EqualDust
Copy link

IMHO it is a dishonest attitude closing this issue since the uninstaller is currently broken and most of the time does not work.

@JanPokorny
Copy link

@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
Copy link

EqualDust commented Nov 29, 2021 via email

@Mallchad
Copy link

Mallchad commented 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.

@denelon denelon removed this from Done in Client-Current Jul 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Experimental This experimental feature can be enabled in settings Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
None yet
Development

Successfully merging a pull request may close this issue.