Open KevinLaMS opened 4 years ago
I'd take a peak at linux package managers and see how they address it, they've been handling this exact problem from the beginning and it's been a non-issue.
Right, this's the same issue I reported
At the moment, when installing apps with multiple search results, the following nomenclature is working perfectly:
winget install --name <appName> -e
Note that the appName is Case Sensitive !
I also ran into this issue, i think if there is an exact match, winget should take this package and install it
not only is it hard to install, there is no help from winget at all. a very simple example is trying to install Java.
Java in particular is a tricky area for any package manager. There are many different providers for JREs and JDKs. If there was only one package with the name, tag, or moniker for Java the Windows Package Manager would be able to install it.
One example is winget install vscode
. Only one package has that moniker so in that case, the correct package would be installed.
Here's another example for upgrade
command:
C:\Users\me>winget upgrade -e Python.Python.3
Multiple installed packages found matching input criteria. Please refine the input.
Name Id
-------------------------------------------------------------
Python 3 Python.Python.3
Python 2.7.18 (64-bit) {A5F504DF-2ED9-4A2D-A2F3-9D2750DD42D6}
C:\Users\me>winget show -e Python.Python.3
Found Python 3 [Python.Python.3]
Version: 3.9.7150.0
Publisher: Python Software Foundation
Author: Python Software Foundation
Moniker: python3
Description: Python is a programming language that lets you work more quickly and integrate your systems more effectively.
Homepage: https://www.python.org
License: PSF LICENSE AGREEMENT FOR PYTHON
License Url: https://docs.python.org/3/license.html
Installer:
Type: Burn
Locale: en-US
Download Url: https://www.python.org/ftp/python/3.9.7/python-3.9.7-amd64.exe
SHA256: 3f63f4c77a6da13f9bae715eb6644a48bd5f900601e0f1f233862e8ca1a96dd8
C:\Users\me>winget upgrade --id Python.Python.3 -e
Multiple installed packages found matching input criteria. Please refine the input.
Name Id
-------------------------------------------------------------
Python 3 Python.Python.3
Python 2.7.18 (64-bit) {A5F504DF-2ED9-4A2D-A2F3-9D2750DD42D6}
Why on Earth is it even matching "Python 2" with "Python 3"?!
Here is another example, only to add test-cases:
winget upgrade --Id Microsoft.ASPNetCore.5-x64 --exact --source winget --silent:
Se encontraron varios paquetes instalados que coinciden con los criterios de entrada. Por favor, vuelve a ajustar la búsqueda.
Nombre Id
---------------------------------------------------------------------------------------
Microsoft ASP.NET Core - Shared Framework (x64) Microsoft.ASPNetCore.5-x64
Microsoft ASP.NET Core 3.1.16 - Shared Framework {f316ce75-c233-4afb-a6e8-2dd7fe72cb8e}
I would like to choose between the packages winget finds by inputting a number, for example. yay handles this perfectly imo
Yet another example, in which --exact
doesn't work.
EDIT: The ID can't be in quotation marks, apparently. Might be worthwhile to document that somewhere.
EDIT2: At least, that was the case for OpenJS.NodeJS.LTS
. Doesn't help here, it seems.
This issue was raised on the docs. https://github.com/MicrosoftDocs/windows-uwp/issues/2474
Description of the new feature/enhancement
I am having problems installing applications where the name of a package is a subset of another package name. I get this problem when trying to install PowerShell from "winget.exe". The following is the command I entered for installing PowerShell. C:\Users\namehere>winget.exe install Microsoft.Powershell Multiple apps found matching input criteria. Please refine the input. Name Id Version
Powershell Microsoft.Powershell 7.0.1 PowerShell-Preview Microsoft.PowerShell-Preview 7.1.0-preview.3 I can not find any way to install Powershell (not PowerShell-Preview).
While we have the -e for exact, it is not intuitive.
winget install Microsoft.Powershell --exact --exact or -e for short
We should noodle on how to intuitively eliminate the "preview" Should this have been moved to the version so that is was a prerelease? Maybe it is just a bug in the version.