A Graphical Winget Alternative: WingetUI
Although the Microsoft Windows Package Manager (winget) hasn’t been around very long—it was announced at Microsoft Build in May 2020—it has quickly become a go-to tool for Windows administrators and power users. Simply put, winget makes it easy to identify, install, update, and even uninstall more than 10,000 software packages for apps, applications, toolsets, frameworks, and more in Windows 10 and Windows 11.
WingetUI provides a free, graphical alternative to running winget at the command line. In this article, we’ll explore WingetUI by installing and using it, with ample illustrations to show what’s what.
Check Out the Other Winget Articles
This article is the fourth in a series about the winget package manager. For previous articles, see:
Finding and Installing WingetUI
Although its maker, Marti Climent, maintains a separate web presence for WingetUI, the right place to grab a copy is from its GitHub WingetUI project pages: that is, either from its GitHub home page or the latest release link there (always guaranteed to be current).
To install the tool, run its executable file on a Windows 10 or Windows 11 PC. This produces a Welcome to WingetUI page on the desktop with two configuration options—Default preferences and Customize WingetUI—as shown in Figure 1.
The easiest way to use WingetUI is to select Default preferences. Those who are intimately familiar with winget’s many sub-commands and options at the command line can put their knowledge to use with WingetUI, if they select Customize WingetUI instead. I will omit that coverage here. The first (Understand Winget, Microsoft’s Windows Package Manager) and second (Dealing With Winget Upgrade Issues) articles in this series, however, illuminate working with winget at the command line, which should also shed light on this branch in the WingetUI installation path.
Once you’ve made it through the various customizations—or simply select Default preferences—you’ll find yourself at the installer’s completion page, as shown in Figure 2. Here, you find pointers to learn more, donate to the developer, or access the WingetUI project page at GitHub. Select Finish (lower right) and you’re done!
By default, the WingetUI executable starts up next, and presents its user interface. At the top left, the Discover Packages option is pre-selected. It goes off to Microsoft’s packages servers to download a snapshot of its manifests data and finds 13,785 packages there. These represent all packages that winget—and by extension, WingetUI—knows about. At the upper right, use the search box to look for packages that include whatever string you enter. (For example, entering “PowerShell” turns up over 25 hits, most from Chocolatey and the remainder from either winget itself or the Microsoft Store.) Figure 3 shows the basic unadorned initial interface.
The real action of interest for most users is on the center button/tab labeled Software Updates. When I selected this on a test PC, as shown in Figure 4, it found 10 items in need of update. Notice the blue checkmarks to the left of each item: WingetUI selects all available updates by default. I already know at least one of them is potentially problematic. Indeed, you might be better off by clearing its checkbox right away. Those details follow later.
To start the update process, at the upper left, select Update selected packages (those with blue checkmarks). This runs the winget command for each item, one at a time, and reports results. Figure 5 shows early results after Item 1 (7-Zip) has already completed and while CPU-Z is underway. Subsequent items are queued up for handling, as also shown.
For winget in general—and thus, by extension, WingetUI—updating Discord.Discord is usually problematic. And sure enough, this installer throws an error message as it’s running, as shown in Figure 6. In fact, it reads “Installation has failed.”
From long experience, I’ve learned that winget does not handle Discord updates well. It’s best to launch the application and let its built-in update function handle things. However, the remove-replace operation described in an earlier article in this series (Dealing with Winget Upgrade Issues) also generally works. After an error occurs, a unique status line appears in the WingetUI display at the bottom, as shown in Figure 7 (repeating sequences of - \ | / -). Despite the OK on the right, it didn’t update the package successfully.
Resolving WingetUI Issues Works Just Like Winget
In my earlier article Dealing with Winget Upgrade Issues, I cover a wide range of issues and fixes that can occur when using winget upgrade at the command line. These same strategies apply when using WingetUI also. Figure 8 shows that of the 10 upgrades found, 3 failed to complete successfully.
Here’s a quick rundown on the fixes for those items:
- Discord: As already described, opening Discord will cause it to auto-update if a new version is available. This usually works, as will a remove-replace operation, as described in the Dealing with Winget Upgrade Issues article mentioned previously.
- SUMo (Software Update Monitor): SUMo has a free and a for-a-fee version. Update links often try to move users from the former to the latter. To get around this, search for, download, and install SUMo lite.
- Microsoft Edge: All my regular web browsers (Google Chrome, Mozilla Firefox, and Edge) occasionally fail to update inside winget. It often has something to do with whether that specific browser is running or has active processes still running. To update these programs, you can use the About menu entries (works every time). You must relaunch the browser, however, to get the update to “take.”
Interestingly, even after I used the remove-replace operation to update Discord to the latest version (1.0.9013 as shown in Figure 9), winget and WingetUI continued to report it as the preceding version (1.0.9012). Sometimes, a restart is necessary for such changes to register with winget and, by extension, WingetUI. That’s what I did before capturing Windows Terminal/PowerShell for Figure 9 (which does show the current …9013 version as it was made; prior to the restart, the old numbers were reported instead). Don’t be alarmed if this happens to you!
Using Other Package Managers with WingetUI
Because winget is a relatively new package manager, many long-time Windows admins (including yours truly) are familiar with other package managers. Among other things, the Customize WingetUI installation fork lets you work with them, too. Figure 10 shows a list of candidates: it’s actually the program’s About page but lists the full complement of package managers it supports. I’ve been using Chocolatey since the early 2010s, so it shows up as installed and available in this screenshot.
In order of appearance, here are those package managers:
- Gsudo: Based on the Unix/Linux sudo utility, this tool supports elevated command line access for installing and managing software installations, upgrades, and uninstallations.
- Winget: Winget is the built-in Windows package manager that is the primary focus of this series of articles.
- Scoop: This package manager for Windows is widely used in a variety of development environments and has strong Linux roots.
- Chocolatey: Chocolatey is a NuGet-based command-line package manager and installer for Windows introduced in 2011.
- Pip: Pip is a package installer for the Python programming language that works with the Python Package index (and other software indexes similar to the winget manifests).
- npm: Self-described as “the world’s largest software registry,” Npm serves open-source developers, who want to share and borrow packages, support software development, and more.
More experienced Windows admins and power users are likely to be familiar with one or more of these.
Too long didn't read (TLDR): WingetUI lets those who are already using any or all these other package managers continue to do so inside the program itself. This can be especially helpful in environments where one or more of these tools supports in-house software development, distribution, or deployment.
Go Ahead: Give WingetUI a Go!
Especially for admins who provide users with mobile or take-home PCs, WingetUI helps users outside the office keep up with software updates and upgrades. Although winget (and WingetUI) work with applications, apps, and service components such as Microsoft.NET runtimes, Visual C++ redistributables, and others, they won’t update or upgrade the Windows operating system itself. For that, you must still use the Windows Update service or some in-house counterpart such as Microsoft Intune, Windows Autopilot, or Microsoft System Center Configuration Manager (SCCM). Other than that, with support for more than 13,000 packages in its database, winget and WingetUI can deal with most Windows apps and applications. On my small fleet of about a dozen PCs, that means winget and WingetUI handle 70-80 percent of all updates with ease and aplomb.