-
Notifications
You must be signed in to change notification settings - Fork 903
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
Uninstaller Service Enhancements #305
Comments
For MSIs and uninstall, there are quite a few valid exit codes that signify the product is no longer installed - 0, 1641, and 3010 signify success plus possible reboot. 1605/1614 signify the product is not installed, so can't uninstall. |
- Add valid exit codes - Switch to return the same install args/uninstall args with a base class that defines the properties and command builders. - Override those custom builders for CustomInstaller, which should return nothing b/c it is unknown what it would return.
Only build uninstall command args if there is no silent uninstall key, but allow setting up the proper uninstaller for other actions.
When an uninstall finishes, the exit code of zero may not be the only valid exit code. Allow the installer type to validate the exit code against its valid uninstall exit codes. This will catch things like with MSI with 0, 1641, and 3010 (all successful codes), and also 1605 and 1641 (for when the product was not installed, perhaps uninstalled by a different means) as also valid since the end state is that the application is no longer installed.
Added a bug label as well, since the uninstaller was ignoring valid exit codes. |
When not silent, the uninstaller should confirm with the user or skip the attempt if confirm is already selected.
* stable: (GH-305) Uninstaller confirm when not silent (maint) formatting
Some uninstallers will not do that. Ensure that the location exists.
* stable: (maint) formatting (chocolateyGH-305) Create log location
@mrdima you may want to pay attention to the new feature |
You get fun weird issues with opening a log file location and the whole thing can fail for non-obvious reasons.
When the auto uninstaller sends messages through, be sure the user can also see those messages. They are helpful when there are errors.
When the autouninstaller has a failing exit code, present that to the user.
If auto uninstaller fails, do not fail the package by default. Allow the user to change the feature `failOnAutoUninstaller` to allow for packages to fail when the uninstall feature fails.
* stable: (chocolateyGH-315) Nuget stops when uninstall fails (chocolateyGH-316) Prevent reboots (chocolateyGH-305) Do not fail by default on auto uninstaller (chocolateyGH-304) Reduce sleep time to 2 seconds (chocolateyGH-305) Include exit code when there is an error (chocolateyGH-305) Log info instead of Debug (chocolateyGH-305) Don't attempt to log on uninstall Conflicts: src/chocolatey/infrastructure.app/builders/ConfigurationBuilder.cs src/chocolatey/infrastructure.app/services/ChocolateyPackageService.cs
This will lengthen short 8.3 paths so that choco can work with them.
* stable: (GH-296) Enhance installer template (GH-296) Add readme template (GH-305) get full path to cache folder (posh) add aliases for filetype/url64bit (GH-60) Fix: Pin errors on pkg folders w/versions (log) add debug logging around list (GH-302) Fix: choco pin list fails (log) use warn level messages as result summaries (log) add debug log search filter for nuget list (GH-317) Throw on non-existing features (GH-319) always log debug output to log file Conflicts: src/chocolatey/chocolatey.csproj
When the user selects `Yes`, proceed with the uninstaller. Otherwise skip.
When the user selects `Yes`, proceed with the uninstaller. Otherwise skip.
* stable: (version) 0.9.9.7 (chocolateyGH-337) Add fault tolerance to registry keys (chocolateyGH-305) Fix: uninstaller confirm if no silent (doc) update changelog/nuspec
If the underlying application is not uninstalled by autouninstaller, warn the user they will need to take manual action
* stable: (GH-341) Do not allow combining paths with colon (spec) don't allow interactive windows in specs (GH-219)(GH-56) Allow PowerShell interaction (spec) Set uninstall base scenario (GH-305) add warning if application not uninstalled Conflicts: src/chocolatey.tests.integration/infrastructure/commands/CommandExecutorSpecs.cs src/chocolatey.tests/infrastructure/filesystem/DotNetFileSystemSpecs.cs src/chocolatey/infrastructure.app/services/ChocolateyPackageService.cs src/chocolatey/infrastructure/commands/CommandExecutor.cs
If you haven't found anything else, assume the installer type is NSIS.
* stable: (24 commits) (GH-839) Switch to apply package parameters to dependent packages (maint) formatting methods / parameters in calls (GH-958) If SSLv3 in Posh v2 Fails, Use Original (GH-746) Use HTTPS if available when HTTP url (GH-957) Skip Get-WebFileName When FTP (GH-948) Ensure passwords / keys are not logged (GH-952) Get-ChocolateyWebFile enhancements (doc) update generated docs (maint) formatting (docs) move GenerateDocs.ps1 / update (GH-932) Do not set unknown checksum to 'md5' (GH-719) Reset ServerCertificateValidationCallback (GH-305) add MSP/MSU installer types (GH-305) update exitcodes to long (GH-954) Pending fails when lib does not exist (GH-950) Install-ChocolateyPackage - UseOriginalLocation (maint) formatting (GH-922) Automatically determine checksum type (maint) fixes for shimgen (GH-948) Do not log sensitive arguments ...
On by default- moved to Turn on Auto Uninstaller by default #308The text was updated successfully, but these errors were encountered: