microsoft / microsoft/winget-cli
Visual C++ needs update every upgrade
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Brief description of your issue
Whenever winget upgrade --all is run, Visual C++ x64 needs to always be upgraded, from the same version number as it was last time before upgrading.
Name Id Version Available Source
-------------------------------------------------------------------------------------------------------------------------------------
Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.32532 Microsoft.VCRedist.2015+.x86 14.36.32532.0 14.38.32919.0 winget
And the id section shows x86 instead of x64.
Note that this DOES NOT happen when Visual C++ is installed with winget itself (and not from the website)
Steps to reproduce
-
Install Visual C++ 2015-2022 from: https://aka.ms/vs/17/release/vc_redist.x64.exe
-
Run
winget upgrade Microsoft.VCRedist.2015+.x64orwinget upgrade --all
Expected behavior
- Show correct, consistent
id(x64 when the name is x64) - Visual C++ should upgrade to the version it says is available
- OR, If the version inside Visual C++ metadata is incorrect, that should be fixed
Actual behavior
- Incorrect, inconsistent
id - Stays the same version despite upgrading, and asks for upgrade the next time
- Shows x86 in the
idcolumn when the name showsx64
Environment
Windows Package Manager v1.6.2721
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.22621.2361
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.2721.0
Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User) %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User) %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root C:\Program Files\WinGet\Packages
Portable Package Root (x86) C:\Program Files (x86)\WinGet\Packages
Installer Downloads %USERPROFILE%\Downloads
Links
---------------------------------------------------------------------------
Privacy Statement https://aka.ms/winget-privacy
License Agreement https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale
Admin Setting State
--------------------------------------------------
LocalManifestFiles Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride Disabled
LocalArchiveMalwareScanOverride Disabled
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
Reproduce the issue by installing the x64 Visual C++ redistributable from the linked installer, then run winget upgrade Microsoft.VCRedist.2015+.x64 and winget upgrade --all. Inspect the Visual C++ package metadata used by the upgrade flow; done means the displayed id is consistently x64 and the package upgrades to the advertised version without recurring upgrade prompts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100