Skip to content
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

Some packages will not listed by winget upgrade, even upgrade packages are available in winget repository #16011

Closed
Karl-WE opened this issue Jun 3, 2021 · 7 comments
Milestone

Comments

@Karl-WE
Copy link

Karl-WE commented Jun 3, 2021

Brief description of your issue

this is a copy of microsoft/winget-cli#1093 (comment) as it is not yet clear if this is a repository issue or a winget issue. Once identified the other one could be closed.

Certain packages that are installed on a device will not be handled (or not handled correctly) via Winget upgrade
This might also affect other packages. In this case the source and target installers are MSI so there is no confusion about different installers.

winget list shows the packages and their installer IDs. (see environment)

Steps to reproduce

  1. have outdated versions of C++ Redist 2005, 2008, 2010, 2012, 2013 or 2015-2019 installed
  2. run winget upgrade
  3. notice these packages are not listed that upgrades are available e.g. 2015-2019 14.28.x to 14.29.30037 or other combinations

Expected behavior

winget upgrade should list available upgrades for these packages

Actual behavior

winget upgrade does not list upgrades for these packages

Environment

Windows Package Manager v1.0.11451
Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.

Windows: Windows.Desktop v10.0.21390.1
Paket: Microsoft.DesktopAppInstaller v1.11.11451.0

Windows 10 Insider Dev 21390

Any other software?
Upgraded the packages manually via winget install
result:

PS C:\WINDOWS\system32> winget list c++
Name ID Version

Microsoft Visual C++ 2012 Redistributable (x86) - 11.0.61030 {33d1fd90-4274-48a1-9bc1-97e33d9c2d6f} 11.0.61030.0
Microsoft Visual C++ 2015-2019 Redistributable (x64) - 14.29.30037 {4b2f3795-f407-415e-88d5-8c8ab322909d} 14.29.30037.0
Microsoft Visual C++ 2012 Redistributable (x64) - 11.0.61030 {ca67548a-5ebe-413a-b50c-4b9ceb6d66c6} 11.0.61030.0
Microsoft Visual C++ 2015-2019 Redistributable (x86) - 14.29.30037 {dfea0fad-88b2-4a1f-8536-3f8f9391f4ef} 14.29.30037.0

@ghost ghost added the Needs: Triage label Jun 3, 2021
@Karl-WE
Copy link
Author

Karl-WE commented Jun 3, 2021

@OfficialEsco
Copy link
Contributor

Just a quick comment on the VC++ Redistributable packages, we have been trying to get it to work, but those damn things won't register..
I would say this is a special case and a developer issue, since it registers in Programs and Features as Microsoft Visual C++ 2012 Redistributable (x86) and in "Windows" as Microsoft Visual C++ 2012 x64 Additional Runtime and Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030

@Karl-WE
Copy link
Author

Karl-WE commented Jun 3, 2021

Hello @OfficialEsco
this is a the case for all 2012 and newer afaik that they have these subcomponents as you stated. in settings > apps / programs and features these are usually hidden (except you use Sereby's AIO package).

@OfficialEsco
Copy link
Contributor

Yeah, however we can't even make VC++2008Redist-x64 match even tho it registers in both places as Microsoft Visual C++ 2008 Redistributable - x64... I believe if we make that work we should be able to crack the case on how to fix the other VC++ Redistributable packages too.

@denelon denelon added Help-Wanted This is a good candidate work item from the community. and removed Needs: Triage labels Jun 3, 2021
@coehlrich
Copy link
Contributor

After looking at the log file for Winget after running the upgrade command and checking to see how Winget normalizes names
I noticed that Winget removes the 32 bit or 64 bit part from the app name when searching for the corresponding package which wouldn't normally be a problem but since the Visual C++ packages have different packages for 32 bit and 64 bit Winget doesn't know if the installed Visual C++ version corresponds to the 32 bit or 64 package (Winget also searches for the product code but the Visual C++ packages that I have checked don't have the product code set).

@Trenly
Copy link
Contributor

Trenly commented Apr 30, 2024

@Karl-WE - I think this has now been identified as the root cause being microsoft/winget-cli#2995

Would you be okay closing this issue, since it's now been identified that the CLI is the cause?

@Karl-WE
Copy link
Author

Karl-WE commented Apr 30, 2024

Hi @Trenly thank you for housekeeping. I believe this issue is no longer.

@Karl-WE Karl-WE closed this as completed Apr 30, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot removed the Help-Wanted This is a good candidate work item from the community. label Apr 30, 2024
@denelon denelon added this to the 1.10 Packages milestone Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants