microsoft / microsoft/winget-cli
Package Names not evaluated for normalized match
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Relevant area(s)
WinGet CLI
Relevant command(s)
winget uninstall
Brief description of your issue
Some package names contain characters like the restricted use symbol in the manifest. When attempting to list or uninstall packages where the PackageName contains these symbols, if the symbol is not entered, a match will not be found.
Steps to reproduce
PS C:\git\cp-tec-product> winget uninstall "Intel Driver & Support Assstant"
No installed package found matching input criteria.
PS C:\git\cp-tec-product> winget list intel
Name Id Version Source
-------------------------------------------------------------------------------------------------------------------------
Intel(R) Graphics Software & Drivers ARP\Machine\X64\Intel(R) Graphics Software & Drivers 1.0.1084.3
Intel® Graphics Command Center 9PLFNLNT3G5G 1.100.5688.0 msstore
Intel(R) Management and Security Status 9MTSNNP9CVTN 2521.8.2.0 msstore
Intel® Rapid Storage Technology Application 9MZNG5HZWZ1T 20.0.1024.0 msstore
Intel® Graphics Software 9P8K5G2MWW6Z 25.50.2012.0 msstore
Intel® Driver & Support Assistant Intel.IntelDriverAndSupportAssistant 25.4.36.6 winget
Intel(R) Wireless Bluetooth(R) ARP\Machine\X86\{00000170-0230-1033-84C8-B8D95FA3C8C3} 23.170.0.3
Intel(R) Integrated Sensor Solution ARP\Machine\X86\{5a549c68-7e1e-4bac-bbe2-d65553e330df} 3.10.100.4590
Expected behavior
I expected that normalization would make it so that these special characters did not need to be entered for a match to be found
Actual behavior
User would be required to enter the special characters, or use the exact package id, which increases friction
Environment
PS C:\git\cp-tec-product> winget --info
Windows Package Manager v1.12.460
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.22631.6491
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.27.460.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
DefaultProxy Disabled
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the WinGet CLI handling for winget uninstall and compare its package-name matching with winget list, using the reproduction commands and package names in this issue. The work is done when names containing restricted symbols can be matched without entering those symbols, while existing package ID matching remains usable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100