microsoft / microsoft/winget-cli
If no package is found with `winget install <package>` return search results for <package>.
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Discussed in https://github.com/microsoft/winget-cli/discussions/3827
Originally posted by bidaumm October 27, 2023
The suggestion comes from my usage of the ArchLinux Yay - Aur Helper
Yay allows you to search for and install an app in a single command which is such a nice workflow improvement.
For instance, if I want to install ProtonVPN I can do the following process:
> yay install proton
2 aur/protonvpn 1.0.0-3 (+73 6.27) (Out-of-date: 2023-10-10)
Official ProtonVPN metapackage that installs protonvpn-gui and protonvpn-cli, maintained by the ProtonVPN team.
1 aur/protonup-qt 2.8.2-1 (+43 1.89)
Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
> 2
Currently when installing apps via winget I have to use winget search followed by winget install and also copy n pasting text from the search command into the install command. 99% of the time I have to do this because I don't know the ID of the app, which can sometimes be different from the application name. Rivatuner is a good example of this:
> winget install rivatuner
No package found matching input criteria.
> winget search rivatuner
Name Id Version Source
-------------------------------------------------------
Rivatuner Statistics Server Guru3D.RTSS 7.3.4 winget
> winget install guru3d.rtss
Found Rivatuner Statistics Server [Guru3D.RTSS] Version 7.3.4
A huge boon would be to allow a configuration which modifies this process to if No package found matching input criteria. is encounter to instead perform the winget search function and then if something is returned provide the list of apps with a reference ID and a input for 'Please select the ID of the package you wish to install'
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 install and winget search command paths described in the issue, using the Rivatuner example to understand the current behavior. Define how a failed install should present search results, reference IDs, and selection input, then verify that a package can be selected and installed through the proposed workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100