During Build 2020, Microsoft released a preview of Winget. At that same time, AppGet, which I was using along with Chocolatey, announced it was shutting down as a result. I haven’t spent much time looking at Winget, but since I have to transition off of AppGet and I needed to setup a new machine, I started looking at it more.
As of now, Winget can be installed one of three ways:
- Joining the Windows Package Manager Insiders Program, getting approved, then installing the preview version of the App Installer app
- Join the Windows Insider preview program
- Grab the latest release from the GitHub repository
We’ll proceed with the last option. When installing, use the *.appxbundle file. You’ll notice that a dialogue box will appear like the box below. Just dismiss the box.
In PowerShell or another command line tool, we can use
winget plus an action such as
install to install a package or
show to show package information. For a complete list of commands, use the command
If we wanted to install node and typed
winget install node, Winget cannot simply install node. Rather, you’ll get a listing of 4 different packages like so:
1 2 3 4 5 6 7 8 PS C:\> winget install node Multiple apps found matching input criteria. Please refine the input. Name Id Version Matched ---------------------------------------------------- Node.js OpenJS.Nodejs 14.4.0 Moniker: node Renode Renode.Renode 1.9.0 Nodist Nodist.Nodist 0.9.1 Tag: node.js CodeLite IDE CodeLite.CodeLite 14.0.0 Tag: NodeJS
If I tried refining using
winget install --moniker node, I’ll still get the Node.js and Renode package. Generally speaking, the acceptable way to filter the package is to use the Id like so
winget install --id OpenJS.Nodejs. This is not the ideal pattern, but it’s a step in the right direction.
Below is a screenshot representing what I’ve depicted above: