microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
22.97k stars 1.43k forks source link

`winget list` should be able to show hidden apps #977

Open superusercode opened 3 years ago

superusercode commented 3 years ago

Description of the new feature/enhancement

A minor issue (major if sysadmin) with the current implementation of winget list is that it does not show manually hidden apps from the program install list. Programs are hidden officially using the registry via installers and manual tweaking, but they can also be hidden manually by the user using Hide from Uninstall List and similar programs.

i.e. image

Hidden programs cannot be upgraded as of the current version of winget.

Ideally programs should be visible via winget list regardless of status (shown/hidden), or at the very least visible when combined with a flag (winget list -hidden) or winget is run as an admin.

Additionally, it would be nice to have the ability to toggle the visibility of apps from winget.

Proposed technical implementation details (optional)

superusercode commented 3 years ago

Previous comment from @ecovio1

a -hidden flag will be nice from a running as admin shell.

AFAIK, this is mostly done per app basis via
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
or
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

under a program folder ,
creating a new dword value , where Value Name is SystemComponent and Value Data is 1.
or manually renaming the program's DisplayName key to anything else random.

or hiding the whole "Programs and Features page" completely per user basis
from GPolicy>User Configuration > Administrative Templates > Control Panel > Programs.
Trenly commented 1 year ago

[Policy] Command-List