[Package Issue]: MSYS2.MSYS2 prompts 'require explicit targeting for upgrade' but fails with UpgradeBehavior: deny

Aperta
#464,178 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
32/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github, yaml
Ambito
devtools

Direzione di ricerca

Read the MSYS2.MSYS2 manifest and the related winget-cli issue 4299 mentioned in the proposal. Determine how RequireExplicitUpgrade and UpgradeBehavior: deny interact, then assess the proposed options for preventing misleading upgrade prompts. Done means the issue has a decided behavior and a concrete follow-up; the issue does not name a manifest path or test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Needs-Triage
Checklist
  • 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

Package Issue (incorrect metadata, upgrade broken, etc.)

Package Identifier

MSYS2.MSYS2

Package Version

All versions (e.g. 20260611 -> 20260927)

Description

When running winget upgrade --all, WinGet reports that an update for MSYS2.MSYS2 is available and prompts the user that explicit targeting is required:

The following packages have an upgrade available, but require explicit targeting for upgrade:
Name  Id          Version  Available Source
-------------------------------------------
MSYS2 MSYS2.MSYS2 20260611 20260927  winget

However, running winget upgrade MSYS2.MSYS2 as instructed fails with:

Non è possibile aggiornare il pacchetto con WinGet. Utilizzare il metodo fornito dall'autore per aggiornare il pacchetto.
(English: Cannot upgrade package with WinGet. Please use the method provided by the author to upgrade the package.)
Steps to Reproduce
  1. Have MSYS2 installed via WinGet (winget install MSYS2.MSYS2).
  2. Run winget upgrade --all.
  3. Notice MSYS2 is listed under "require explicit targeting for upgrade".
  4. Run winget upgrade MSYS2.MSYS2.
Cause & UX Friction

The manifest combines RequireExplicitUpgrade: true with UpgradeBehavior: deny.
Because of RequireExplicitUpgrade: true, WinGet advertises to the user that the package can be upgraded if targeted explicitly. But when targeted explicitly, UpgradeBehavior: deny blocks the operation.

Since MSYS2 updates via pacman -Syu and does not update the Windows registry DisplayVersion, users are stuck with a permanent, misleading "upgrade available" prompt unless they manually discover and run winget pin add --id MSYS2.MSYS2.

Proposed Action
  • Discuss whether packages with UpgradeBehavior: deny should be pinned automatically upon installation or if RequireExplicitUpgrade: true should be reconsidered alongside https://github.com/microsoft/winget-cli/issues/4299 so users are not told to explicitly target an upgrade that is guaranteed to be denied.
Lingua principale
Nessun dato sulla lingua
Stelle
11.3k
Fork
12.2k
Merge medio
2h 16m
PR unite (30g)
566

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/winget-pkgs

Tutte le issue di microsoft/winget-pkgs

Issue simili

Altre issue su DevTools

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.