A Graphical Winget Alternative: WingetUI

August 21, 2023
10 min read

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.

This screenshot shows the Welcome to Winget page with a wizard to help you configure and customize WingetUI. When WingetUI starts up the first time, it offers either a default or a custom configuration.
Figure 1: The Welcome page provides two startup configurations: default and custom. | Used with permission from Microsoft. View Full Size

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!

This screenshot shows the completion page with a message that says, “Systems are now ready to go!” There are options to check out WingetUI overviews, support the developer, or view WingetUI on GitHub. At the bottom, select Finish to complete the WingetUI installation.
Figure 2: Select Finish, and then WingetUI is installed and ready to run. | Used with permission from Microsoft. View Full Size

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 initial WingetUI screen is empty while it’s downloading manifest data.
Figure 3: This screenshot was captured while WingetUI was still discovering manifests; it shows 4,915 packages of the more than 13,000 packages on the winget servers. | Used with permission from Microsoft.

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.

This screenshot shows the Software Updates page, which lists package names, package IDs, installed version, new version, and source. When WingetUI scans for updates, in this case it finds 10 items with newer versions available.
Figure 4: WingetUI’s scan of installed software finds ten packages that can be updated. | Used with permission from Microsoft. View Full Size

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.

This screenshot shows that the CPU-Z update is being downloaded. For subsequent items, there’s a message that indicates it’s waiting for other installations to finish. When WingetUI runs, it handles updates individually from top to bottom in that order.
Figure 5: As WingetUI runs, it processes updates one at a time, from top to bottom. Here, it’s working on CPU-Z. | Used with permission from Microsoft. View Full Size

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.”

When attempting an update to Discord, WingetUI conveys an installer error message upon failure.
Figure 6: When winget calls an installer, it also conveys its error messages to the desktop. | Used with permission from Microsoft. View Full Size

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.

When WingetUI runs into trouble, it uses a special character sequence. This screenshot shows a repeated string of special characters.
Figure 7: The interesting string (- \ | / -) that repeats on the Discord update status line signals a problem. | Used with permission from Microsoft. View Full Size

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.

This screenshot shows the Software Updates page with three available updates: Discord, SUMo, and Edge. Check the status line at bottom to see what went wrong for Discord, SUMo and Edge.
Figure 8: Three packages fail to update in WingetUI: Discord, SUMo, and Edge. All are easy to fix. | Used with permission from Microsoft. View Full Size

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!

This screenshot shows that Discord 1.0.9013 is installed. Winget and WingetUI will sometimes misidentify the running Discord version. It happens!
Figure 9: After the fact, winget reports that the latest version is installed; beforehand, winget and WingetUI report that the previous version is running until I restart the PC. | Used with permission from Microsoft. View Full Size

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 this screenshot, WingetUI “About” reports the program version and status for supported package managers such as Gsudo, Winget, Scoop, Chocolatey, Pip, and Npm.
Figure 10: The About WingetUI page also reports on package manager status for winget and others. | Used with permission from Microsoft. View Full Size

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.

Ed Tittel

Ed Tittel

Ed Tittel is a long-time computing industry writer, consultant, and occasional expert witness. He’s the author of over 100 computer trade books, countless articles, and other stuff. For more info, please visit https://edtittel.com.