winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 3b3a1083c23e8ae62ca1d0c7702e974426a888dc
parent d6a043bd866d07e1f043314188e585024c654224
Author: Kaleb Luedtke <jluedtk@jci.com>
Date:   Tue, 30 May 2023 16:22:41 -0500

Make --uninstall-previous argument stable (#3282)


Diffstat:
Mdoc/Settings.md | 11-----------
Mschemas/JSON/settings/settings.schema.0.2.json | 5-----
Msrc/AppInstallerCLICore/Argument.cpp | 2+-
Msrc/AppInstallerCLIE2ETests/FeaturesCommand.cs | 1-
Msrc/AppInstallerCommonCore/ExperimentalFeature.cpp | 4----
Msrc/AppInstallerCommonCore/Public/winget/ExperimentalFeature.h | 5++---
Msrc/AppInstallerCommonCore/Public/winget/UserSettings.h | 2--
Msrc/AppInstallerCommonCore/UserSettings.cpp | 1-
8 files changed, 3 insertions(+), 28 deletions(-)

diff --git a/doc/Settings.md b/doc/Settings.md @@ -242,17 +242,6 @@ You can enable the feature as shown below. }, ``` -### uninstallPreviousArgument - -This feature enables the Windows Package Manager to override the upgrade behavior to UninstallPrevious by passing the `--uninstall-previous` argument with the upgrade or install command. -You can enable the feature as shown below. - -```json - "experimentalFeatures": { - "uninstallPreviousArgument": true - }, -``` - ### dependencies Experimental feature with the aim of managing dependencies, as of now it only shows package dependency information. You can enable the feature as shown below. diff --git a/schemas/JSON/settings/settings.schema.0.2.json b/schemas/JSON/settings/settings.schema.0.2.json @@ -209,11 +209,6 @@ "type": "boolean", "default": false }, - "uninstallPreviousArgument": { - "description": "Enable argument to override upgrade behavior to UninstallPrevious", - "type": "boolean", - "default": false - }, "pinning": { "description": "Enable support for package pinning", "type": "boolean", diff --git a/src/AppInstallerCLICore/Argument.cpp b/src/AppInstallerCLICore/Argument.cpp @@ -325,7 +325,7 @@ namespace AppInstaller::CLI case Args::Type::OpenLogs: return Argument{ type, Resource::String::OpenLogsArgumentDescription, ArgumentType::Flag, Argument::Visibility::Help }; case Args::Type::UninstallPrevious: - return Argument{ type, Resource::String::UninstallPreviousArgumentDescription, ArgumentType::Flag, ExperimentalFeature::Feature::UninstallPreviousArgument }; + return Argument{ type, Resource::String::UninstallPreviousArgumentDescription, ArgumentType::Flag, Argument::Visibility::Help }; case Args::Type::Force: return Argument{ type, Resource::String::ForceArgumentDescription, ArgumentType::Flag, false }; default: diff --git a/src/AppInstallerCLIE2ETests/FeaturesCommand.cs b/src/AppInstallerCLIE2ETests/FeaturesCommand.cs @@ -52,7 +52,6 @@ namespace AppInstallerCLIE2ETests WinGetSettingsHelper.ConfigureFeature("experimentalArg", true); WinGetSettingsHelper.ConfigureFeature("experimentalCmd", true); WinGetSettingsHelper.ConfigureFeature("directMSI", true); - WinGetSettingsHelper.ConfigureFeature("uninstallPreviousArgument", true); WinGetSettingsHelper.ConfigureFeature("windowsFeature", true); var result = TestCommon.RunAICLICommand("features", string.Empty); Assert.True(result.StdOut.Contains("Enabled")); diff --git a/src/AppInstallerCommonCore/ExperimentalFeature.cpp b/src/AppInstallerCommonCore/ExperimentalFeature.cpp @@ -44,8 +44,6 @@ namespace AppInstaller::Settings return userSettings.Get<Setting::EFDirectMSI>(); case ExperimentalFeature::Feature::Pinning: return userSettings.Get<Setting::EFPinning>(); - case ExperimentalFeature::Feature::UninstallPreviousArgument: - return userSettings.Get<Setting::EFUninstallPreviousArgument>(); case ExperimentalFeature::Feature::Configuration: return userSettings.Get<Setting::EFConfiguration>(); case ExperimentalFeature::Feature::WindowsFeature: @@ -83,8 +81,6 @@ namespace AppInstaller::Settings return ExperimentalFeature{ "Direct MSI Installation", "directMSI", "https://aka.ms/winget-settings", Feature::DirectMSI }; case Feature::Pinning: return ExperimentalFeature{ "Package Pinning", "pinning", "https://aka.ms/winget-settings", Feature::Pinning}; - case Feature::UninstallPreviousArgument: - return ExperimentalFeature{ "Uninstall Previous Argument", "uninstallPreviousArgument", "https://aka.ms/winget-settings", Feature::UninstallPreviousArgument }; case Feature::Configuration: return ExperimentalFeature{ "Configuration", "configuration", "https://aka.ms/winget-settings#configuration", Feature::Configuration }; case Feature::WindowsFeature: diff --git a/src/AppInstallerCommonCore/Public/winget/ExperimentalFeature.h b/src/AppInstallerCommonCore/Public/winget/ExperimentalFeature.h @@ -25,9 +25,8 @@ namespace AppInstaller::Settings // Before making DirectMSI non-experimental, it should be part of manifest validation. DirectMSI = 0x2, Pinning = 0x4, - UninstallPreviousArgument = 0x8, - Configuration = 0x10, - WindowsFeature = 0x20, + Configuration = 0x8, + WindowsFeature = 0x10, Max, // This MUST always be after all experimental features // Features listed after Max will not be shown with the features command diff --git a/src/AppInstallerCommonCore/Public/winget/UserSettings.h b/src/AppInstallerCommonCore/Public/winget/UserSettings.h @@ -72,7 +72,6 @@ namespace AppInstaller::Settings EFDependencies, EFDirectMSI, EFPinning, - EFUninstallPreviousArgument, EFConfiguration, EFWindowsFeature, // Telemetry @@ -145,7 +144,6 @@ namespace AppInstaller::Settings SETTINGMAPPING_SPECIALIZATION(Setting::EFDependencies, bool, bool, false, ".experimentalFeatures.dependencies"sv); SETTINGMAPPING_SPECIALIZATION(Setting::EFDirectMSI, bool, bool, false, ".experimentalFeatures.directMSI"sv); SETTINGMAPPING_SPECIALIZATION(Setting::EFPinning, bool, bool, false, ".experimentalFeatures.pinning"sv); - SETTINGMAPPING_SPECIALIZATION(Setting::EFUninstallPreviousArgument, bool, bool, false, ".experimentalFeatures.uninstallPreviousArgument"sv); SETTINGMAPPING_SPECIALIZATION(Setting::EFConfiguration, bool, bool, false, ".experimentalFeatures.configuration"sv); SETTINGMAPPING_SPECIALIZATION(Setting::EFWindowsFeature, bool, bool, false, ".experimentalFeatures.windowsFeature"sv); // Telemetry diff --git a/src/AppInstallerCommonCore/UserSettings.cpp b/src/AppInstallerCommonCore/UserSettings.cpp @@ -261,7 +261,6 @@ namespace AppInstaller::Settings WINGET_VALIDATE_PASS_THROUGH(EFDependencies) WINGET_VALIDATE_PASS_THROUGH(EFDirectMSI) WINGET_VALIDATE_PASS_THROUGH(EFPinning) - WINGET_VALIDATE_PASS_THROUGH(EFUninstallPreviousArgument) WINGET_VALIDATE_PASS_THROUGH(EFConfiguration) WINGET_VALIDATE_PASS_THROUGH(EFWindowsFeature) WINGET_VALIDATE_PASS_THROUGH(AnonymizePathForDisplay)