winget-cli icon indicating copy to clipboard operation
winget-cli copied to clipboard

"No installed package found matching input criteria." when attempting to update

Open tranquilcarbon opened this issue 2 years ago • 39 comments

Brief description of your issue

when i run winget upgrade, several programs have updates. for some, such as mozilla thunderbird, attempting to run the update causes a "No installed package found matching input criteria." error.

if i uninstall the program and reinstall using winget, it works find however.

example command: winget upgrade Mozilla.Thunderbird

Steps to reproduce

use command winget upgrade Mozilla.Thunderbird on version 102.4.1. it might appear.

Expected behavior

winget begins to upgrade the application

Actual behavior

winget throws a error "No installed package found matching input criteria."

Environment

Windows Package Manager v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.2251
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.18.2691.0

Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

current affected programs:

Mozilla Thunderbird
(Mozilla.Thunderbird)

tranquilcarbon avatar Nov 10 '22 12:11 tranquilcarbon

Same issue here.

Location: UK image

TheITCloudGuy avatar Nov 10 '22 20:11 TheITCloudGuy

Same issue here.

Location: UK image

perhaps this is a issue with something in the UK, does winget use region specific servers or something like that?

additionally, i have attached a screenshot, in case this helps. image

tranquilcarbon avatar Nov 11 '22 12:11 tranquilcarbon

Same issue here in Germany since more than a week i think. Screenshot 2022-11-19 134100 (basically the same just with German language)

since i am in Germany it is probably not an issue regarding something in the UK

LukasDotEU avatar Nov 19 '22 12:11 LukasDotEU

Yeah, I don't think it is country-specific - I'm in NYC and it's completely broken here too:

image

Not only that, but it also mis-detects the version to be 7.2.5.0 when I actually have 7.3.0 installed for some time now...

szlevi avatar Nov 19 '22 21:11 szlevi

having that problem for a long time. winget upgrade lists a package. but then it doesnt upgarde, neiter by using --all nor by using any variant of its name. after a couple of days it usually works.

PS C:\Users\Michael> winget upgrade
Name                ID                                Version Verfügbar Quelle
------------------------------------------------------------------------------
LibreOffice 7.4.2.1 TheDocumentFoundation.LibreOffice 7.4.2.1 7.4.2.3   winget
1 Aktualisierungen verfügbar.
1 Paket hat eine Versionsnummer, die nicht bestimmt werden kann. Wenn Sie „--include-unknown“ verwenden, werden möglicherweise weitere Ergebnisse angezeigt.
PS C:\Users\Michael> winget upgrade Libreoffice
Es wurden keine anwendbaren Aktualisierungen gefunden.
PS C:\Users\Michael> winget upgrade TheDocumentFoundation.LibreOffice
Es wurden keine anwendbaren Aktualisierungen gefunden.
PS C:\Users\Michael> winget upgrade --all
Name                ID                                Version Verfügbar Quelle
------------------------------------------------------------------------------
LibreOffice 7.4.2.1 TheDocumentFoundation.LibreOffice 7.4.2.1 7.4.2.3   winget
1 Aktualisierungen verfügbar.
1 Paket hat eine Versionsnummer, die nicht bestimmt werden kann. Wenn Sie „--include-unknown“ verwenden, werden möglicherweise weitere Ergebnisse angezeigt.
PS C:\Users\Michael>

irzyxel avatar Nov 26 '22 05:11 irzyxel

I have same issue with a couple of packages. In the beginning I was able to solve the issue by uninstalling the package and install it again with Winget but after a couple of updates it fails again

SamaelAmbrona avatar Nov 28 '22 15:11 SamaelAmbrona

In addition, I just discovered my PuTTY was removed - is it possible that, while failing to install the new one, winget first did successfully remove my existing version? If so, that's very much not cool...

szlevi avatar Nov 28 '22 19:11 szlevi

In addition, I just discovered my PuTTY was removed - is it possible that, while failing to install the new one, winget first did successfully remove my existing version? If so, that's very much not cool...

@szlevi Please note that this was done intentionally to align with the publisher's changelog:

Note: installing the 0.78 or later Windows installer will not automatically uninstall 0.77 or earlier, due to a change we've made to work around a bug. We recommend uninstalling the old version first, if possible. If both end up installed, uninstalling both and then re-installing the new version will fix things up.

Please see https://github.com/microsoft/winget-pkgs/pull/87021

mdanish-kh avatar Nov 28 '22 19:11 mdanish-kh

In addition, I just discovered my PuTTY was removed - is it possible that, while failing to install the new one, winget first did successfully remove my existing version? If so, that's very much not cool...

@szlevi Please note that this was done intentionally to align with the publisher's changelog:

Note: installing the 0.78 or later Windows installer will not automatically uninstall 0.77 or earlier, due to a change we've made to work around a bug. We recommend uninstalling the old version first, if possible. If both end up installed, uninstalling both and then re-installing the new version will fix things up.

Please see microsoft/winget-pkgs#87021

Ah, I see, thanks. So it's just a temp issue, right?

szlevi avatar Nov 28 '22 19:11 szlevi

Ah, I see, thanks. So it's just a temp issue, right?

That depends on the publisher. If future installers perform "in-place" upgrade instead of requiring the version to be manually uninstalled first, the behavior will be duly updated in the winget's manifest.

mdanish-kh avatar Nov 28 '22 19:11 mdanish-kh

i've found another package that has the same issue, the microsoft visual C++ redistributable 2013, specifically the x64 version has the issue, not the x86 version which updated fine. can we have a developer explain why this issue is appearing? WindowsTerminal_CnyqQ1UGZm

tranquilcarbon avatar Nov 30 '22 10:11 tranquilcarbon

The matching logic is based on comparing what values are written to the registry (it's the same thing that powers what you see in Windows Apps & Features), and what metadata is listed in manifests in all configured sources. Sometimes the installer isn't reporting things consistently to the registry and in other cases, the manifest doesn't have all the variations of what is reported.

WinGet looks at package family name, product code, upgrade code, display name, and display version. Depending on what is available, heuristics are used to determine the "best match" when there isn't an exact match.

As the Visual C++ Redistributable packages can be installed side-by-side for different versions and different architectures, it's been more challenging to capture all the correct metadata for all the variations. We are incrementally making improvements with both the manifests and the client (matching logic and upgrade/install logic), but clearly there is still more work to be done.

denelon avatar Dec 01 '22 00:12 denelon

without any known changes, libreoffice today suddenly updated just fine. 7.4.2.1 -> 7.4.2.3

irzyxel avatar Dec 03 '22 14:12 irzyxel

Facing this very same issue while upgrading Powershell, i don't know yet if this happens only with certain packages

xd003 avatar Feb 24 '23 11:02 xd003

There are a couple of classes of issues. One is when the installer type has changed. For the most part, I think we've isolated that path and resolved it.

Another is when it's an MSI based installer and we aren't getting a good match for the "Product Code" or "Upgrade Code".

Another is when the package is installed in either "user" or "machine" scope and the upgrade is defaulting to the opposite scope, or the user has a requirement in their settings which doesn't match the installed scope or the default scope specified in the manifest.

denelon avatar Feb 27 '23 18:02 denelon

[Policy] Command-Upgrade

Trenly avatar Jun 16 '23 03:06 Trenly

Hi everyone, I'm from Colombia and I'm getting the same issue.

I have solved it adding flag --include-unknown

As my understanding, when the winget command try to get the apps to update, there are some packages with a "Broken" version in the repository. I don't understand the consecuences of upgrade with --include-unknown flag, but it works for me.

winget upgrade --all --include-unknown

erickvelasco11 avatar Jul 22 '23 18:07 erickvelasco11

Encounter the same issue: image

pplmx avatar Aug 02 '23 02:08 pplmx

Still facing this issue even now :/

xd003 avatar Aug 05 '23 11:08 xd003

I'm getting the same issue after successfully upgrading about 4-5 apps, then none would upgrade after that and I was met with the "no installed package found matching input criteria." message when trying to upgrade any of the 7 that remained.

I done some googling (as you do) and tried with a slightly different command syntax, instead of specifying the ID I just specified the name of the application.

So instead of winget upgrade --id VideoLAN.VLC I tried winget upgrade "VLC Media Player"

This appeared to work, at least for VLC Media Player.

I'm really not sure of the implications of doing it this way, I'm not sure if my Winget just had a temporary issue and it would have worked using the original commands eventually (as others have mentioned on google)

lreynolds1989 avatar Aug 09 '23 11:08 lreynolds1989

Exactly same behaviour for Git, specifying it by ID did not work, specifying it by the Name did work. Very odd!

lreynolds1989 avatar Aug 09 '23 11:08 lreynolds1989

I got the same issue running the winget upgrade -all command from an elevated PowerShell. But it worked when I ran it in a non-elevated cmd.exe. Real PITA having to type my admin user and password for every single update

BartJolling avatar Sep 11 '23 12:09 BartJolling

FYI, upgrade worked here for Microsoft .NET SDK 7.0.203 (x64) (to version 7.0.401) -- by not using the app Id (in this case Microsoft.DotNet.SDK.7), but by entering the complete name between quotes. Like so winget upgrade "Microsoft .NET SDK 7.0.203 (x64)". You may even have to do a --force. image JJ

jonkeren avatar Sep 15 '23 15:09 jonkeren

I know it's an old thread, but I was having this issue as well. I solved it by running these two commands.

winget uninstall Microsoft.Winget.Source_8wekyb3d8bbwe winget source reset --force

huskylogic avatar Oct 06 '23 01:10 huskylogic

I have same issue for VLC Media Player (VideoLAN.VLC) .

sh0ou avatar Oct 24 '23 03:10 sh0ou

I have same issue for VLC Media Player (VideoLAN.VLC) .

Same here. I got it working by doing what @jonkeren wrote in his post (https://github.com/microsoft/winget-cli/issues/2686#issuecomment-1721441017)

Use the name instead of the id.

ELFswe avatar Oct 26 '23 03:10 ELFswe

Just to note I'm seeing the same behaviour with winget install on a clean Windows 11 (reset) build. I've got a script with a number of packages to install based on the ID and it just loops this error for all of them

GingerGraham avatar Oct 29 '23 19:10 GingerGraham

this error also occurs when updating .net and anaconda

toarujs avatar Dec 25 '23 00:12 toarujs

Any update on this issue? Same for SSMS. And using a name instead of ID is nice as a workaround, but not as a fix :(

ztrhgf avatar Jan 02 '24 14:01 ztrhgf

I know it's an old thread, but I was having this issue as well. I solved it by running these two commands.

winget uninstall Microsoft.Winget.Source_8wekyb3d8bbwe winget source reset --force

Thanks, it worked finally😱

This thing had been bugging me since 2021 with similar issues for it being present but no progress. ✔

One thing is that the winget source reset --force needs to run in elevated prompt meaning cmd/powershell with administrative privileges that it👍🏼

Final command to run in cmd or powershell with admin rights :-

winget uninstall Microsoft.Winget.Source_8wekyb3d8bbwe 
winget source reset --force

On reset windows ask to accept the agreement that it will detect location, accept it and that is it.

Is there any plan to revive appget?

JoydeepMallick avatar Feb 08 '24 10:02 JoydeepMallick