Showing results for 
Search instead for 
Did you mean: 

Word of the Week: Winget

Cisco Employee
Cisco Employee

One of the best things about any Debian/Ubuntu Linux variant (there are many based on Debian and Ubuntu) is its package manager, apt. Other distributions have their own package managers, but apt is my favorite. Want to get your Linux installation up to date? Just run "sudo apt update" followed by either "sudo apt upgrade" or "sudo apt dist-upgrade". Want to find a package? "apt search <package name>". You'll get any number of matches. Find the one you want and "sudo apt install <package name>". 

Now Windows has a package manager called Winget. If you're running Windows 11, you should have it already installed. (If you're not running Windows 11, I recommend upgrading. It really is much better than Windows 10.)

Winget doesn't work the same as apt but it's similar enough to make installing and updating software a little more like you do it in Linux. For example, open up an administrator terminal and type "winget update". You'll see a list of software package for which updates are available. If you want to update just one of them, there's a column in the display that contains the package ID. Just run "winget update <package id>" to update that package. If you want to upgrade all of them, type "winget update --all". Run it as user and it will prompt you when necessary for admin privileges. 

I was surprised to see that there were 35 updates available for my Windows laptop. I performed a "winget update --all" and it's still updating my applications. You know how you get a notification that there's a new version of Java available? I'm slow, so the notification disappears before I can get my mouse to click on it. Well, you'll never have to worry about racing to click on update notifications again. Just run "winget update" and you'll see if there's a Java update available. And run "winget update --all" to update Java and all the other applications.

It's a phenomenal time-saver. You don't have to find the web site or download link for a package you want to update, and you don't have to download and install the update yourself. Winget does it all for you. Most packages will run the GUI installer for the application, which is fine. Some packages refuse to update because they're managed by Cisco. That makes sense. 

One thing to note is that it won't always update your applications to the latest version. It may update to the next version, after which you need to update it again. That's a Windows thing. It's not terribly annoying, just be aware that it may be the case.

Not every application is stored with its version number. If you want to see those, try "winget update --include-unknown". 

 Want to use winget from a GUI? Try "winget install wingetui".  Here's a sample of what it looks like:


I'm very impressed, and I think you will be, too, if you use Windows. Give it a try. 

2 Replies 2

Cisco Employee
Cisco Employee

Very cool. I didn't know there was such tool available for Windows. I am running Windows 10 and Winget is also available, maybe because I installed Windows Powertoys (also a very nice toolset).

For MacOS, I use homebrew to install and update all my software packages.  Homebrew doesn't just install the software package you want, it also figure out all the dependencies for that package and automatically install them for you.

Yeah, that's what I love about Linux package managers. All of them (that I know of) resolve dependencies automatically and install them. 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: