microsoft / microsoft/winget-cli
Can we have package manifests for manual-only updates? (i.e. manual update hints)
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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