microsoft / microsoft/winget-cli

Winget says package is already installed, when it isn't

Open
#3,910 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-External Area-Matching Issue-Bug Side-by-Side
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Brief description of your issue

2 flavors of FFmpeg cannot be installed alongside each other, but the error message doesn't make sense and is confusing.

Steps to reproduce
  • winget install --id 'Gyan.FFmpeg' --scope machine
  • winget install --id 'Gyan.FFmpeg.Shared' --scope machine
Expected behavior

Either both packages install, or the second command explains that Gyan.FFmpeg.Shared cannot be installed alongside Gyan.FFmpeg (ideally, it would also explain that Gyan.FFmpeg.Shared is a superset of Gyan.FFmpeg, and propose to uninstall Gyan.FFmpeg automatically before installing Gyan.FFmpeg.Shared).

Actual behavior

The second command just says the package is already installed, which is not true and confusing. What's particularly problematic to me, is that the commands use IDs, so it doesn't make sense to me that 2 packages with different IDs cause this behavior.

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

Windows: Windows.Desktop v10.0.22631.2715
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3133.0

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

Start by running the two winget install commands from the report against the stated package-manager environment, then trace the install conflict handling that produces the “already installed” message. Done means the second command either installs successfully or clearly explains the conflict between Gyan.FFmpeg and Gyan.FFmpeg.Shared, including any supported resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.