Unofficial GUI for Microsoft's Windows Package Manager (winget). Kinda like Synaptic, but for Windows. Not associated with either Microsoft or the Synaptic project, and Microsoft does not endorse this software.
Apache License 2.0
136
stars
3
forks
source link
As of v1.5.441-preview, winget now has package pinning as a preview, its PowerShell module outputs C# objects, and multiple packages can be sent in an `install` (for example) command at once. #164
Perhaps the most exciting part is the C# output from the PowerShell module. This will make it much easier for me to load the package list, as I can just query the module for all the available packages and check the info for each one. Unfortunately, that may also result in not being able to get all the manifest data as I do now, or maybe it'll be there? Will need to figure out an option to switch between using winget's PowerShell module for loading the package list (should be fastest due to not needing to download and extract the manifests, but may not have all the data, and still might be a bit slow at getting the DataTable filled initially, or whatever takes so long for the DataGridView and progress bar to parse; would still probably have way more stuff like the Store source as it would just rely on winget rather than having to implement REST support myself), the currently-default internal download, extraction, and moving via just libguinget and .NET, downloading via libguinget and .NET and extracting via 7-Zip and/or copying with Robocopy (need to switch to just a plain move and have 7-Zip only extract .yaml files), and (if implemented) downloading a json file that will be compiled on my server and/or any other 3rd-party servers.
Package pinning will also be nice, as I'll be able to add that to the UI and provide an interface to list currently-pinned packages and allow new ones to be manually added to the list.
Multiple packages in a command at once will make the lists way shorter, but there may need to be an option somewhere to use short commands if it's not rolled out to everyone before I get this implemented (I'm sure it'll be out way before I get around to it).
Perhaps the most exciting part is the C# output from the PowerShell module. This will make it much easier for me to load the package list, as I can just query the module for all the available packages and check the info for each one. Unfortunately, that may also result in not being able to get all the manifest data as I do now, or maybe it'll be there? Will need to figure out an option to switch between using winget's PowerShell module for loading the package list (should be fastest due to not needing to download and extract the manifests, but may not have all the data, and still might be a bit slow at getting the DataTable filled initially, or whatever takes so long for the DataGridView and progress bar to parse; would still probably have way more stuff like the Store source as it would just rely on winget rather than having to implement REST support myself), the currently-default internal download, extraction, and moving via just libguinget and .NET, downloading via libguinget and .NET and extracting via 7-Zip and/or copying with Robocopy (need to switch to just a plain move and have 7-Zip only extract .yaml files), and (if implemented) downloading a json file that will be compiled on my server and/or any other 3rd-party servers.
Package pinning will also be nice, as I'll be able to add that to the UI and provide an interface to list currently-pinned packages and allow new ones to be manually added to the list.
Multiple packages in a command at once will make the lists way shorter, but there may need to be an option somewhere to use short commands if it's not rolled out to everyone before I get this implemented (I'm sure it'll be out way before I get around to it).
Here's the changelog with links to those changes I mentioned: https://github.com/microsoft/winget-cli/releases/tag/v1.5.441-preview