There is something to be said of Linux package managers that allows you to install all sorts of software in a consistent manner, right from the command-line without a lot of fuss. If you are a Windows user who would like a similar experience for the Windows platform, give winget a try. If you’re a developer like me, you spend a lot of time installing all sorts of software when you are setting up a new machine. The winget package manager tool can certainly help a lot in getting a lot of that software installed directly from the command-line.
Well, what kind of software can I download and install using winget? Some examples include: .NET runtimes, Discord, Docker, VSCode, PowerShell, Azure Data Studio, Zoom, Vim, Node, Notepad++, and a whole lot more. If you want to see if the software that you’re looking for is in the repository, head on over to winget.run and search for it. If this is something that you’re interested in, read on to see how you can install it and use it.
Acquisition
If you’re running Windows 11, you already have it as the tool is bundled with the Operating System. If you’re running a recent version of Windows 10, you probably have it as well or you can download and run the installer from winget.run or get it through the Microsoft Store. Search for “winget” or “App Installer” and you’ll come across the package by Microsoft Corporation.
If the tool is installed, you can open your terminal and enter winget
and get output similar to what’s shown below:
Search for a Package
Look for a package by entering winget search [name of software]
. Below is an example of me searching for WinDirStat, a classic tool for getting statistics on your Windows directories and files. Upon first use, you may get a prompt like the one shown below in the screenshot, asking to agree to terms and conditions before using the tool.
Install a Package
To install a package, enter winget install [package name]
. Check out my example below:
If multiple packages are found with the same name (like shown above), you can install the one you’re interested in by specifying the package Id that’s provided. In my example above, I install GIMP, the open-source graphics editor by entering: winget install GIMP.GIMP
.
Uninstall a Package
You can uninstall a package, just as easily as you installed it by entering: winget uninstall [packagename]
.
Update a Package
You can also install updates in a similar fashion. To get a list of all installed software with updated packages, enter: winget upgrade
.
You can update a specific piece of software by entering winget upgrade [package name]
.
Alternatively, you can update all packages by entering winget upgrade --all
.
Closing Remarks
This tool – App Installer, a.k.a winget, is not the only package manager for Windows. Chocolatey is another that has existed for quite some time now and has garnered a lot of attention and goodwill from the community. Another one – Ninite takes a more web-based GUI approach to simplifying the sometimes painful process of installing software on Windows. However, it’s great to see Microsoft’s own solution in this space. Minimally, it acknowledges the need for such tools where power users such as developers can use it to install lots of software with little friction. As it is a command-line based tool, I very well imagine that it can be utilized in scripts and other automated (or semi-automated) processes.