microsoft / microsoft/winget-cli
The separate names for App Installer and winget create confusion
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Edit:
This issue started out as "winget uninstall microsoft.winget.source_8wekyb3d8bbweshould uninstall winget.exe and let user reinstall from store".
And along the way, it was learned that the problem was that the naming of the different components creates confusion, leading to this issue.
The new purpose of this issue is:
What can we do to make the components necessary for winget cli more coherent in name, or how can we make sure the diferent components are not creating confusion when using winget.
Problem/how to reproduce
When running winget uninstall microsoft.winget.source_8wekyb3d8bbwe, winget.exe is still available for use, even after restarting the terminal. The appx package microsoft.winget.source_8wekyb3d8bbwe is removed (as shown by winget and Get-AppxPackage), but it cannot be installed again, the Store does not show any action buttons for it:

I also noticed that winget list now warns that something went wrong:
~> winget.exe list
Failed in attempting to update the source: winget
Failed when searching source; results will not be included: winget
Name Id Version
--------------------------------------------------------------------------------------------------------------------------
[abbreviated]
Expected behaviour
I would have expected the winget uninstall action to remove winget.exe and the package, and that I would be able to just reinstall the package from the Store.
Attempts at recovery
I tried:
- Reboot (no effect)
- going to the Store, finding the App Installer package and trying to update/reinstall (no buttons available)
- going to https://aka.ms/getwinget --> reinstall package (This actually fixes it!)
workaround
Go to https://aka.ms/getwinget, and reinstall the package.
Can be scripted as:
Invoke-RestMethod aka.ms/getwinget -outfile winget.msixbundle
Add-AppxPackage .\winget.msixbundle
# (Give it a minute or two to silently install in the background)
do {Start-Sleep 10; Write-Host -NoNewline '.'} until (winget list | Select-String 'winget.+')
Version
~> winget --version
v1.3.2091
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
The issue names no source files or tests. Start by reproducing the uninstall and recovery steps with winget 1.3.2091, then trace the App Installer and winget package boundaries; the work is done when the component names and uninstall/reinstall behavior are coherent and documented by the resulting tests or documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, powershell
- Domain
- cli, devtools, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100