X
Tech

This is the fastest, safest way to install free Windows apps

A simple, open-source Windows tool lets you skip the tedious process of downloading, installing, and manually updating apps. Meet the Winget command-line utility.
Written by Ed Bott, Senior Contributing Editor
person working on Windows laptop
champpixs/Getty Images

Ask a longtime Windows user to share their biggest frustrations about the operating system, and you'll probably get an earful about the headaches of installing and maintaining apps. And for good reason!

For starters, it can be a challenge to find trustworthy downloads. If you're not paying close attention to the results in your search engine, it's easy for a malware author to trick you into clicking a link on a copycat site that installs the app you wanted plus a little something extra. In recent years, this type of search poisoning campaign has been brutally effective at targeting people who are using Google to try to find popular apps like Zoom, TeamViewer, and VLC Media Player.

Also: Windows on Arm redux: Can Microsoft deliver a silicon surprise before year's end?

Even if you find a legit download, keeping that app up to date can be a hassle. And if you miss an important security update, you can find yourself vulnerable to malicious intruders.

If you'd like to reduce the risk of encountering those scenarios and generally simplify your Windows app management burden, allow me to introduce the Windows Package Manager, aka Winget.

All my Linux-centric followers are doing double-takes right now. Wait, a package manager for Windows? Isn't that a Linux thing?

Also: Is Windows 10 too popular for its own good?

Well, yes. In case you haven't noticed, Microsoft has gotten serious about open source in recent years, and one of the results is the Microsoft Community Package Manifest Repository. That's a trustworthy, properly vetted collection of installer files that can be managed with the help of an open-source command-line tool called Winget.

How Winget works

Winget works with all currently supported versions of Windows 10 and Windows 11. Yes, you're going to have to open a command prompt, such as a PowerShell session or a Cmd.exe window, to use Winget. But it's shockingly easy, once you get proficient with a few basic techniques. Trust me, it's worth it.

Also: Here's why Windows PCs are only going to get more annoying

Make sure you're signed in using an account in the administrator's group, then right-click Start and click the appropriate option: Windows PowerShell (Admin) on Windows 10, Terminal (Admin) on Windows 11.

At the resulting command line, you can simply type winget and press Enter to see all your options.

winget-command-line-options

Just type winget without anything else to see what you can do.

That syntax gives you an idea of what you can accomplish here. Use winget list, for example, to see a list of every program installed on your PC, including those from the Microsoft Store and those that are included with a default installation of Windows.

Using Winget to install an app

You can use Winget to download and install a Windows desktop program by adding the install command.

If you're using Windows 10, one of the first things I suggest is using Winget to replace the built-in Windows PowerShell app with the newer, more capable, cross-platform PowerShell 7 and Windows Terminal. (Both are included by default when you install Windows 11.)

Use these commands:

winget install Microsoft.PowerShell

winget install Microsoft.WindowsTerminal

(They're not case-sensitive, so don't worry about capitalization.)

How to search the repository

Winget is capable of searching the repository so you can find a program using part of its name or the name of the developer.

If you're looking for Apple's iTunes, for example, you can find it using the following command:

winget search iTunes

winget-search-itunes

Use this search command to locate the exact ID for a program you want to install.

As you can see, that search turns up the program you wanted as well as a few others that have iTunes in their name or saved as a tag. Use winget install Apple.iTunes to download and install the app immediately.

(Hint: Mozilla Firefox and every channel of Google Chrome are also available with Winget, so if you're setting up a new PC and want to install either browser, use winget install Mozilla.Firefox or winget install Google.Chrome.

Also: How to downgrade from Windows 11 to Windows 10 (there's a catch)

To see every app available from a publisher, add the --id command (note the two hyphens before the command) followed by the string you want to search for. This command returns a very long list showing every program in the repository that includes Microsoft in its full name: winget search --id Microsoft

If you prefer a web-based search interface, try https://winget.run, which puts a friendlier face on the search results.

winget-run-web-search

Use this web-based search tool if you'd rather avoid the command line.

The search results page returns a wealth of information about the package you're looking for, including the full command line that you can use to install it. This example includes the command to install Microsoft's free PowerToys utility using the -e and --id switches; together, those options force Winget to use an exact match for the package ID.

winget-run-web-search-2

Click the copy button to the right of the command in the How To Install box, then paste it into the Terminal window.

Using Winget to update apps

Finally (and best of all) you can use Winget to automatically check for apps for any update it's capable of managing. Use the command winget upgrade to see a list of programs that have newer versions available for installation. Using that list, you can update each one manually, or use this command to automate the entire process:

winget upgrade --all

winget-upgrade-all

This command will find, download, and install updates for any compatible program, even if you installed it manually.

Best of all, this process works on supported apps even if they were originally installed the old-fashioned way, by downloading a full Installer and running Setup. It even works for the many Microsoft runtime libraries (Visual C++ Redistributable packages) that apps install along the way.

I make it a point to check for updates using Winget at least once a month. You should, too.

Editorial standards