-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple apps found matching input criteria when trying to install PowerShell 7.0.1 #282
Comments
I have the same issue trying to Install FireFox. |
It seems that if there is an exact match, then that should be installed. |
I was able to install or upgrade PowerShell using the exact match parameter |
A better solution to installing PowerShell7 is to use the install-powershell command in power shell's github repo. It gives you much more flexibility. It can also be remoted over PS Remoting, which winget appears to not handle. |
Good point but I believed winget was designed in similar functionality to apt utility, meaning you have to be on the server/machine in some form to use it. I guess you can use PS and winget together to extend that functionality...my 2c |
I ran into the same problem today. I would expect it to be interactive like: "Multiple packages matched your query. Please select one of the following: Anyway thanks for the awesome work 💪 |
This worked fine about 2 days ago, but the 7.1.0 preview version was not available at that time. Unfortunately, I am not having any success using the '-e' switch either. :( |
Ran into this same issue as well.
Thanks for the great work on this! |
The problem is, preview version should not even come up when the version is specified. Names are similar but versions are different. It's as if version is totally ignored. |
The search is case sensitive! (microsoft/winget-pkgs#884) |
How would I discover -e. And what does '-e' mean? |
@doctordns --info doesn't exist on install but it will return the options. First thing i tried was winget team -> Loving this cli so far by the way! 👍 |
I had a similar problem trying to install Discord
( and I kinda left it at that and installed it manually ) |
@orta it would probably work if you used problem is that:
There are other problems though, mainly disregard for version. I cannot think of any good reason why this should not work: that's nuts! |
My takeaway here is the semantic text being used here. Right now
|
How does Winget KNOW that I do not want both versions loaded? I have two versions of Snagit, Multiple versions of.NET, etc.
And if 'install' is a verb, then 'show' should be 'get'.
From my phone so apologies for the typos.
!
|
BTW
will install 7.0.0 to install the latest run
This worked for me, but others have reported that it didn't work (I see a PR has been made to make this work):
|
I had that issue and |
@pressRtowin can you share output like I did from the same two commands? I'd like to see what might be different. |
I have no issues installing powershell... |
@pressRtowin it looks like two instances of Plexamp were installed on your system. That's the same as the "Cura" example I have above. I don't know if the Plexamp installer actually recognizes the earlier version and upgrades it or if it is designed to support "side by side" installation. Some packages are designed with this intentional behaviors. For packages that aren't, you might need to have the manifest modified for the "UpgradeBehavior" to specify uninstall to remove the "older" version before installing the "newer" version. |
@denelon Doesn't really explain why winget is giving a "Please refine the input." error and not some type of installation error, especially when I'm specifying an exact match using the ID fields which are clearly different in the two matches that it finds. The duplicate IDs in |
Generally, the "Please refine the input" error happens when the client needs the user to disambiguate between multiple options. This happens several places in the code. If the -id is not distinctly identifying the package manifest or a "single" entry in "Add / Remove Programs" this happens. I believe what is happening is either the two entries in "Add / Remove Programs" aren't unique enough (I think there is work here in the client), or for some reason more than one manifest matched some set of criteria. This may be similar to microsoft/winget-pkgs#16038 |
@pressRtowin can you re-create the conditions in a virtual machine and share the logs? You may very well have encountered a bug, or something changed with the manifests, and the problem was corrected. I would be more than happy to take a look at how we could fix the problem if this is a reproduceable bug. |
Getting a similar situation trying to upgrade the .NET 5.0 SDK. Because I also have the 6.0 preview, it picks that up too, and returns "refine the input" even if I specify the ID of the 5.0 package: `C:> winget upgrade --id Microsoft.dotnet
|
This issue still exists: PS C:\WINDOWS\system32> winget upgrade
|
Any news on this - it's rendering winget basically unusable for alot of packages, in part because "exact" doesn't seem to mean exact at all. For example: winget upgrade -e "Microsoft Visual C++ 2013 Redistributable (x86)"
|
Matching is looking at the values in the manifest and the values in Apps & Features. The runtimes are a bit of a challenge based on how versioning was implemented. We're still working on finding the best solution. |
This is still not working for
Why on Earth is it even matching "Python 2" with "Python 3"?! |
Stumbled upon this issue when trying to perform
I did see in this discussion issue that people are mentioning to use the -e flag (or --exact), but when doing so I still get the same output as mentioned above. I also looked at the casing as this seems to be case sensitive, but no luck there either. |
C:\Users\Elias> winget uninstall Toinane.Colorpicker
Multiple installed packages found matching input criteria. Please refine the input.
Name Id
--------------------------------------------------------
Colorpicker Toinane.Colorpicker
Colorpicker 2.0.3 {2fa01720-ea93-5692-9697-66fad2caf3bf}
C:\Users\Elias> winget uninstall -e --id Toinane.Colorpicker
Multiple installed packages found matching input criteria. Please refine the input.
Name Id
--------------------------------------------------------
Colorpicker Toinane.Colorpicker
Colorpicker 2.0.3 {2fa01720-ea93-5692-9697-66fad2caf3bf} Can we re-open this issue? :) |
I too want this issue reopened, I have installed a number of packages, some of which refuse to install without the -e flag. Better behavior should be to try with exact match first and should that fail offer the interactive prompt @marvinpuethe proposed. |
This issue was related to PowerShell and the "install" command. There are various reasons why the winget client is having trouble with disambiguation. I've created a couple of new issues for specific impacted scenarios so we can isolate and resolve them. In some cases, the problem needs to be fixed in the manifest, or the package installer itself rather than the winget client. We need specific actionable issues so we can isolate the cause(s), and resolve them. Some of the Issues are too broad and generic to be confident they have been resolved. Sadly when those are encountered, we end up with multiple reports of something that isn't quite the same. In those cases, I have been trying to create discrete Issues to identify the specific scenario impacted. There are a few exceptions, and in those cases, I close the original as a duplicate, and refer to another issue we're working on. Sometimes one fix impacts multiple different scenarios. I blogged about some tips with using multiple sources. |
What worked for me was using capital 's' in 'shell', so using this line instead: |
I fixed this by replacing |
Can confirm. Microsoft Teams is currently impossible to upgrade using the Replacing |
The I was trying to |
PS C:\> winget upgrade -e --id 'Microsoft.VC++2015-2022Redist-x86'
Multiple installed packages found matching input criteria. Please refine the input.
Name Id
---------------------------------------------------------------------------------------------------------
Microsoft Visual C++ 2015-2022 Redistributable (x86) Microsoft.VC++2015-2022Redist-x86
Microsoft Visual C++ 2015-2019 Redistributable (x64) - 14.29.30135 {fa7f6d52-f85e-48ef-8f56-a37268aa5772}
PS C:\> Regardless whether it's even worth updating this package, how does one get more specific than this? |
@FLevent29 this is a bug. We're working on additional schema changes to better match what we see in Apps & Features. This is one of our prime test cases for ensuring the matching logic is improved. The schema has been updated, now we need to do the work in the client to leverage the fields. Please add your 👍 to #980. |
I will also leave this here in the hope that it will get fixed
|
Facing same with Python 2 & .NET SDK 👽 winget upgrade -e Python.Python.2
Multiple installed packages found matching input criteria. Please refine the input.
Name Id
-------------------------------------------------------------
Python 2 Python.Python.2
Python 2.7.18 (64-bit) {A5F504DF-2ED9-4A2D-A2F3-9D2750DD42D6} 👽 winget upgrade -e Microsoft.dotnet
Multiple installed packages found matching input criteria. Please refine the input.
Name Id
-----------------------------------------------------------------------
Microsoft .NET SDK Microsoft.dotnet
Microsoft .NET SDK 5.0.405 (x64) {343a89ec-9510-4063-9421-b0767cc25d40} amazing tool btw, thanks |
People just follow the recommendation! Example:
REFINE THE INPUT! Use Id, version, or anything that distinguishes the package. |
I'm seeing this as well:
I then perform:
and then going back to:
You can see it upgraded one of them. If I do the the upgrade command again, I get this:
And if I issue this command, this is the result:
... you can see the IDs are identical. Using the |
Brief description of your issue
When I try to install PowerShell 7.0.1, winget cannot seem to locate the correct one
Steps to reproduce
None of these work
winget install PowerShell
winget install Powershell
winget install Microsoft.Powershell
winget install --id Microsoft.Powershell --version 7.0.1
Expected behavior
It should pick up Powershell 7.0.1 (btw, that should have been named PowerShell not Powershell)
Actual behavior
I get the following:
Environment
The text was updated successfully, but these errors were encountered: