Relevant area(s)
WinGet CLI
Relevant command(s)
winget uninstall
Brief description of your issue
I was trying to use winget to install the 2.0.1 Windows App SDK package for a test automation scenario (its manifest has a small bug in its package name which prevents the uninstall command from locating the package- I'm working on separately trying to fix that). Anyway, when testing uninstall with the private version of the manifest, winget reports success, but the packages are still installed.
WinGet’s non-elevated seems to use FindPackagesByPackageFamily(..., PACKAGE_FILTER_HEAD, ...), which does not resolve this framework package. Also, elevated lookup can encounter multiple packages under the shared package family. The installer deploys several MSIX identities (framework, Main, Singleton, and DDLM), while the WinGet manifest exposes only one PackageFamilyName.
Returning success after finding nothing to remove is independently a bug, even if framework uninstall is unsupported, IMO.
Steps to reproduce
winget uninstall --manifest C:\data\test\wasdk-2.0.1-corrected --version 2.0.1 --disable-interactivity --silent --verbose-logs
where the corrected manifest has this edit:
diff --git a/manifests/m/Microsoft/WindowsAppRuntime/2/0/2.0.1/Microsoft.WindowsAppRuntime.2.0.installer.yaml b/manifests/m/Microsoft/WindowsAppRuntime/2/0/2.0.1/Microsoft.WindowsAppRuntime.2.0.installer.yaml
index 399985db33e..baf7279229e 100644
--- a/manifests/m/Microsoft/WindowsAppRuntime/2/0/2.0.1/Microsoft.WindowsAppRuntime.2.0.installer.yaml
+++ b/manifests/m/Microsoft/WindowsAppRuntime/2/0/2.0.1/Microsoft.WindowsAppRuntime.2.0.installer.yaml
@@ -11,7 +11,7 @@ InstallerSwitches:
Silent: --quiet
SilentWithProgress: --quiet
UpgradeBehavior: install
-PackageFamilyName: Microsoft.WindowsAppRuntime.2.0_8wekyb3d8bbwe
+PackageFamilyName: Microsoft.WindowsAppRuntime.2_8wekyb3d8bbwe
AppsAndFeaturesEntries:
- DisplayName: WindowsAppRuntime.2.0
DisplayVersion: 2.0.1
Expected behavior
WinGet removes WASDK 2.0.1, or returns a clear unsupported or ambiguous-package error.
Actual behavior
Found WindowsAppRuntime.2 [Microsoft.WindowsAppRuntime.2]
Starting package uninstall...
Successfully uninstalled
Exit code is 0 , but the package remains installed:
Microsoft.WindowsAppRuntime.2 2.0.1.0 x86
Microsoft.WindowsAppRuntime.2 2.2.0.0 x64
The verbose log contains:
No package found with family name:
microsoft.windowsappruntime.2_8wekyb3d8bbwe
Environment
Windows Package Manager v1.29.290
© 2026 Microsoft. All rights reserved.
Windows: Windows.Desktop v10.0.26689.1002
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.29.289.0
WinGet Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User) %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User) %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root C:\Program Files\WinGet\Packages
Portable Package Root (x86) C:\Program Files (x86)\WinGet\Packages
Installer Downloads %USERPROFILE%\Downloads
Configuration Modules %LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules
Links
---------------------------------------------------------------------------
Privacy Statement https://aka.ms/winget-privacy
License Agreement https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale
Admin Setting State
--------------------------------------------------
LocalManifestFiles Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride Disabled
LocalArchiveMalwareScanOverride Disabled
ProxyCommandLineOptions Disabled
ConfigurationProcessorPath Disabled
DefaultProxy Disabled
Relevant area(s)
WinGet CLI
Relevant command(s)
winget uninstall
Brief description of your issue
I was trying to use winget to install the 2.0.1 Windows App SDK package for a test automation scenario (its manifest has a small bug in its package name which prevents the uninstall command from locating the package- I'm working on separately trying to fix that). Anyway, when testing uninstall with the private version of the manifest, winget reports success, but the packages are still installed.
WinGet’s non-elevated seems to use
FindPackagesByPackageFamily(..., PACKAGE_FILTER_HEAD, ...), which does not resolve this framework package. Also, elevated lookup can encounter multiple packages under the shared package family. The installer deploys several MSIX identities (framework, Main, Singleton, and DDLM), while the WinGet manifest exposes only one PackageFamilyName.Returning success after finding nothing to remove is independently a bug, even if framework uninstall is unsupported, IMO.
Steps to reproduce
winget uninstall --manifest C:\data\test\wasdk-2.0.1-corrected --version 2.0.1 --disable-interactivity --silent --verbose-logs
where the corrected manifest has this edit:
Expected behavior
WinGet removes WASDK 2.0.1, or returns a clear unsupported or ambiguous-package error.
Actual behavior
Exit code is 0 , but the package remains installed:
Microsoft.WindowsAppRuntime.2 2.0.1.0 x86
Microsoft.WindowsAppRuntime.2 2.2.0.0 x64
The verbose log contains:
Environment