microsoft / microsoft/winget-pkgs

[Package Issue]: Microsoft.VCRedist.2005.x64 incorrectly identifies as x86

Open
#162,060 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Bug
Dominant language
No language data
Stars
11.1k
Forks
9.7k
Avg merge
1h 32m
Merged PRs (30d)
376

Description

Please confirm these before moving forward
  • I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
  • I have not been informed if the issue is resolved in a preview version of the winget client.
Category of the issue

Side-By-Side installation.

Brief description of your issue

When looking to install Microsoft Visual C++ 2005 Redistributable, winget offers both .x86 and .x64 packages.

PS > winget search --source winget --id Microsoft.VCRedist.2005

Name                                            Id                          Version
-------------------------------------------------------------------------------------
Microsoft Visual C++ 2005 Redistributable       Microsoft.VCRedist.2005.x86 8.0.61001
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x64 8.0.61000

However, the .x64 package ID is not correctly retained upon installation of Microsoft.VCRedist.2005.x64.
Instead, the installed package identifies using the ID Microsoft.VCRedist.2005.x86.

This also affects update detection, as x86 and x64 have different available versions.

Steps to reproduce

Install Microsoft Visual C++ 2005 Redistributable (x64)

winget install -e --source winget --id Microsoft.VCRedist.2005.x64

Check for details of installed package

winget list --source winget --id Microsoft.VCRedist.2005
Actual behavior

While the package Name is correct, the package ID incorrectly uses the .x86 architecture identifier.

PS > winget list --source winget --id Microsoft.VCRedist.2005

Name                                            Id                          Version   Available
-----------------------------------------------------------------------------------------------
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x86 8.0.61000 8.0.61001

Installing Microsoft.VCRedist.2005.x86 if Microsoft.VCRedist.2005.x64 is already installed will overwrite the x64 version (8.0.61000) with the x86 version (8.0.61001).

Installing the x64 version after the x86 version will result in a duplicate entry in winget for the package ID Microsoft.VCRedist.2005.x86.

PS > winget list --source winget --id Microsoft.VCRedist.2005

Name                                            Id                          Version
-------------------------------------------------------------------------------------
Microsoft Visual C++ 2005 Redistributable       Microsoft.VCRedist.2005.x86 8.0.61001
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x86 8.0.61000
Expected behavior

Installed package ID should use the .x64 architecture identifier

PS > winget list --source winget --id Microsoft.VCRedist.2005

Name                                            Id                          Version   Available
-----------------------------------------------------------------------------------------------
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x64 8.0.61000 8.0.61000

Installing the x86 version should not override an already-installed x64 version.
Installing both versions should result in different package ID entries.

PS > winget list --source winget --id Microsoft.VCRedist.2005

Name                                            Id                          Version   Available
-----------------------------------------------------------------------------------------------
Microsoft Visual C++ 2005 Redistributable       Microsoft.VCRedist.2005.x86 8.0.61001
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x64 8.0.61000 8.0.61000
Environment
Windows Package Manager v1.8.1791
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.3810
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.23.1791.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
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                        Enabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled
Screenshots and Logs

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the supplied winget install and list commands, then compare the Microsoft.VCRedist.2005.x86 and Microsoft.VCRedist.2005.x64 package metadata. Check that installing the x64 package retains its .x64 ID, that update detection is correct, and that installing both architectures produces separate entries.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
cli, tooling
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.