Skip to content

Instead of some packages going to WinGet\Links and others to PATH, pick one #6181

@github-account1111

Description

@github-account1111

Relevant area(s)

WinGet CLI

Description of the new feature / enhancement

I find it burdensome that WinGet just scatters packages throughout the system. The user then has to scour through directories trying to find the installed package or recall what they even have installed in the past. There is:

  • The usual C:\ProgramData\Microsoft\Windows\Start Menu\Programs that points to C:\Program Files
  • C:\Program Files\WinGet\Links that points to C:\Program Files\WinGet\Packages
  • PATH that seems to also point to C:\Program Files\WinGet\Packages
  • More?

Here's an example of what I'm talking about. WinGet creates a link under WinGet\Links for this package:

[CLI ] Extracting archive to: C:\Users\usr\AppData\Local\Temp\WinGet\CGSecurity.TestDisk.7.3\extracted
[CLI ] Successfully extracted archive
[CORE] Created target install directory: C:\Program Files\WinGet\Packages\CGSecurity.TestDisk_Microsoft.Winget.Source_8wekyb3d8bbwe
[REPO] Creating new Portable Index with version [Latest] at 'C:\Program Files\WinGet\Packages\CGSecurity.TestDisk_Microsoft.Winget.Source_8wekyb3d8bbwe\CGSecurity.TestDisk_Microsoft.Winget.Source_8wekyb3d8bbwe.db'
[CORE] Renaming directory to: C:\Program Files\WinGet\Packages\CGSecurity.TestDisk_Microsoft.Winget.Source_8wekyb3d8bbwe\testdisk-7.3-WIP
[CORE] Symlink created at: C:\Program Files\WinGet\Links\fidentify_win.exe with target path: C:\Program Files\WinGet\Packages\CGSecurity.TestDisk_Microsoft.Winget.Source_8wekyb3d8bbwe\testdisk-7.3-WIP/fidentify_win.exe
...
[CORE] Symlink created at: C:\Program Files\WinGet\Links\testdisk_win.exe with target path: C:\Program Files\WinGet\Packages\CGSecurity.TestDisk_Microsoft.Winget.Source_8wekyb3d8bbwe\testdisk-7.3-WIP/testdisk_win.exe
[CLI ] Portable target directory already exists in PATH registry: C:\Program Files\WinGet\Links

but modifies PATH for this package:

[CLI ] Extracting archive to: C:\Users\usr\AppData\Local\Temp\WinGet\DMDE.DataRecovery.GUI.4.4.4\extracted
[CLI ] Successfully extracted archive
[CORE] Created target install directory: C:\Program Files\WinGet\Packages\DMDE.DataRecovery.GUI_Microsoft.Winget.Source_8wekyb3d8bbwe
[REPO] Creating new Portable Index with version [Latest] at 'C:\Program Files\WinGet\Packages\DMDE.DataRecovery.GUI_Microsoft.Winget.Source_8wekyb3d8bbwe\DMDE.DataRecovery.GUI_Microsoft.Winget.Source_8wekyb3d8bbwe.db'
[CORE] Moving portable exe to: C:\Program Files\WinGet\Packages\DMDE.DataRecovery.GUI_Microsoft.Winget.Source_8wekyb3d8bbwe\changelog.txt
...
[CORE] Moving portable exe to: C:\Program Files\WinGet\Packages\DMDE.DataRecovery.GUI_Microsoft.Winget.Source_8wekyb3d8bbwe\template.txt
[CORE] Appending portable target directory to PATH registry: C:\Program Files\WinGet\Packages\DMDE.DataRecovery.GUI_Microsoft.Winget.Source_8wekyb3d8bbwe
[CORE] Install directory added to PATH: C:\Program Files\WinGet\Packages\DMDE.DataRecovery.GUI_Microsoft.Winget.Source_8wekyb3d8bbwe

Proposed technical implementation details

Decide on a location and stick to it. I think the first location makes the most sense because that's where Windows programs have always gone. The second one is also decent but I don't see the point in it when the first one exists? The third one is plain stupid. That's not what PATH is even for, and, according to WinGet's own portable program specs, that shouldn't even happen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-FeatureThis is a feature request for the Windows Package Manager client.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions