microsoft / microsoft/winget-cli

Can we have package manifests for manual-only updates? (i.e. manual update hints)

Open
#5,612 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Manifest Area-Output Command-Upgrade Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Description of the new feature / enhancement

Some software packages have licenses that specify that the download and / or installation are only free when users visit and manually download the package from their respective publisher and do not allow for automated downloads directly from their servers and/or silent installs.

e.g.
Nmap - https://nmap.org/oem/
Npcap - https://npcap.com/oem/
FileZilla - https://trac.filezilla-project.org/ticket/12768

there is currently in the works a "package deny" list... https://github.com/microsoft/winget-pkgs/issues/97604
https://github.com/microsoft/winget-pkgs/blob/master/.github/policies/flaggedPackages.yml

but i think it would still be useful to have some sort of prompt and let the user know that there is a known newer version available and they should update it manually (or using that app's built-in updater, if it has such a function)

Proposed technical implementation details

in the WinGet package manifests have the possibility to define update packages like normal but instead of installer download url only specify a message to be shown in the terminal console, something along the lines of:

"We have detected that you have version xx.yy.aaa of package $XYZZY and there is a newer version available: yy.zz.bbb, but publisher license terms do not allow us to install or update it with WinGet. Please visit the publisher's website to download the update manually or add a blocking exclusion pin in the WinGet configuration to stop being notified about newer versions of this app."

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 reviewing the proposed package manifest changes and the existing package deny list and flaggedPackages.yml references. Determine how a manifest could provide a manual-update message and how the WinGet CLI would display it instead of downloading or installing the update. Done means a defined manifest format and user-facing behavior for notifying about newer versions without automated installation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.