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

Winget -e incorrectly matches items

Open Swiftnc opened this issue 3 years ago • 1 comments

Brief description of your issue

Winget is incorrectly matching items when using the -e switch.

Steps to reproduce

Install a package (Such as Visual C++ 2013 x86) using the following command: winget install -e --id Microsoft.VC++2013Redist-x64 --scope machine --accept-source-agreements --accept-package-agreements

Verify it is installed by running winget list c++

Winget will correctly list that it is installed by showing this: Name Id Version Source

Microsoft Visual C++ 2013 Redistributable (x64) Microsoft.VC++2013Redist-x64 12.0.40664.0 winget (note, only the x64 version is installed)

Then check if the X86 version is installed explicitly with this command winget list -e --id "Microsoft.VC++2013Redist-x86" --accept-source-agreements

Winget will incorrectly now state that the x86 version is installed Name Id Version Source

Microsoft Visual C++ 2013 Redistributable (x86) Microsoft.VC++2013Redist-x86 12.0.40664.0 winget

Expected behavior

Winget should NOT detect the x86 version when it is not installed when running with the -e --id command lines

Actual behavior

Winget will incorrectly now state that the x86 version is installed Name Id Version Source

Microsoft Visual C++ 2013 Redistributable (x86) Microsoft.VC++2013Redist-x86 12.0.40664.0 winget

Environment

Windows Package Manager v1.2.10271

This happens with many versions of the C++ software but may also affect other applications as well.

Swiftnc avatar May 06 '22 15:05 Swiftnc

This is essentially the same as:

  • #1413

We are currently working on improving the matching heuristics and adding support in the client to leverage the "AppsAndFeatures" portion of the manifest schema.

denelon avatar May 06 '22 17:05 denelon