How to use the Windows Package Manager to update installed programs at once

Martin Brinkmann
May 27, 2021
Updated • Dec 25, 2023
Windows 10

Microsoft released the first final version of Windows Package Manager just a moment ago. The program adds new options to Windows to install, uninstall and manage programs installed on the system. You can check out the linked review above to find out more about the base functionality of the package manager for Windows.

In this guide, we'll be taking a close look at the upgrade feature that it supports. Unlike most Windows package managers, upgrading is not limited to the programs installed using the package manager, but to all programs installed on the device, provided that they are found in the repository of programs that it uses.

In other words: you can use the Windows Package Manager to update installed Windows programs in one go, with just a single command.

Here is how it works:

First thing you need to do is download the latest version of the Windows Package Manager from the official GitHub repository and install it on the system. It is available for Windows 10 devices only.

Once installed, open an elevated PowerShell prompt, e.g. by using the shortcut Windows-X and selecting Windows PowerShell (admin) from the "secret" menu that opens.

Run the command winget upgrade to get a list of programs for which updates are available. The recognition depends on the repository that is being used. The default community repository has over 1500 different programs at the time of writing.

Each program is listed with its name, ID, the installed and available version. The available version should be newer than the installed version.

Upgrade all out of date programs on Windows 10 with Winget

upgade-all installed windows programs with winget

While you can upgrade individual programs using winget upgrade programname, e.g. winget upgrade WizTree, you can also use the winget upgrade --all command to upgrade all out of date programs in one go.

The default option displays the installers of each program, but you may suppress this by adding the -h parameter for silent upgrade installations. Not all programs displays windows or options during installation though.

Each program is downloaded from the linked path, usually the official repository, and then installed on the device.

Once done, rerun the winget upgrade command to check if all upgrades for the outdated programs were installed on the device. Windows 10 users who want to have more control may run upgrades individually instead.

Closing Words

Windows Package Manager is a good option when it comes to upgrading programs that are out of date. Like any other program of its kind, it is limited to the programs that are in its database. While it is possible to create a custom repository and maintain a list of programs using it, it is probably too much work for individuals to do so.

Now You: how do you keep your programs up to date?

How to use the Windows Package Manager to update installed programs at once
Article Name
How to use the Windows Package Manager to update installed programs at once
Find out how to use Microsoft's Windows Package Manager program to upgrade all installed programs that have updates at once on Windows 10 devices.
Ghacks Technology News

Tutorials & Tips

Previous Post: «
Next Post: «


  1. Michael Ross said on June 1, 2021 at 2:04 pm

    upgrade -all bombs out with error number on malwarebytes, doesn’t have a lot of programs yet.

  2. owl said on May 31, 2021 at 9:38 am

    SUMo is popular, but unreliable. A few years ago, there was an incident where SUMo’s download server was infected with malware. Furthermore, I may see beta or release pending versions, even though I specified “stable”.
    SUMo could not manage updates properly, so I switched to PatchMyPC.
    What I lack in PatchMyPC, I get RSS on the app development side, and to information from SUMo.

    Considering zero-die attacks, etc., it is important to streamline the application of updates, so I will try the Windows Package Manager.

  3. Gerodinger said on May 30, 2021 at 9:23 am

    I use Software Update Monitor, SUMo for this purpose.

  4. Santiage said on May 29, 2021 at 3:48 pm

    Im worry about github developments scripts because i listen that some projects are infected with malware and another harmfull files. My choice is search and install manually soft updates.

  5. Powershell Is The King Of Shells said on May 28, 2021 at 10:49 pm

    and dont forget that you can always type more with beloved powershell

  6. Cassette said on May 28, 2021 at 9:32 pm

    I’ve been using Chocolatey for years and I even set up a weekly task to run an upgrade all command so I never have to mess with it. Windows Package Manager has an advantage over Chocolatey in that it knows what it already installed on the system and when it’s updated outside of when Package Manager does it. Chocolatey has those features, but not in the free version. WPM is still missing a few programs that I use that Chocolatey covers and I haven’t seen that it has a “pin” feature like Chocolatey where you can prevent it from updating selected programs.

  7. ULBoom said on May 28, 2021 at 3:17 am

    I guess. It would be nice to know where the updates come from and what has changed. There have been third party utilities to look for outdated programs forever. Nothing magical about CLI vs. GUI.

    It can be fairly difficult to add repositories to distros, the Linux community tends to keep packages well corralled. A home made Windows “repository” would be what, IDK, a list of links that have to be updated constantly? Not at all what distro repos comprise.

    I wonder what happens if winget finds programs on your computer it doesn’t like?

  8. Alex said on May 28, 2021 at 12:40 am

    I’ve been using Chocolatey for quite a while.

    choco install vlc firefox potplayer -y

    cup all -y

    choco uninstall googlechrome -y

  9. Anonymous said on May 28, 2021 at 12:19 am

    Download an install in bulk, by-passing my habitual VirusTotal scan. No thanks.

  10. Gavin B. said on May 27, 2021 at 11:14 pm

    Who keep the repository clean of malware?
    If we are not directly downloading from the original website?

    1. Kali said on May 29, 2021 at 12:52 am

      It’s nor really visible in the screenshots because of the blue background but winget seems to download the apps from the original websites

  11. VioletMoon said on May 27, 2021 at 7:42 pm

    Hmmm . . . I perceive a problem that prevents a Linux like experience. Several programs I run are one year or even lifetime “gratis” license programs with the serial associated directly with the installed program and version. For example, “Glary Utilities Pro.” The program updates occasionally; however, the updates are so minor that even an older Pro version of the program is better than a new “free” version, so I wouldn’t want it updated.

    Using a tool like “Patch My PC,” allows the user to uncheck any undesired updates and update all of the rest which could be over a dozen. Winget Upgrade [name of each program] would be a burden if I still want to use a licensed, Pro version of some program that would be included in the winget upgrade –all command. Maybe there is an exclusion command I missed.

    The other drawback I see with Windows Package Manager is it’s uselessness in setting up a fresh install. Say I have a dozen programs I want to install on a fresh Windows 10 machine; I can’t make that happen with Windows Package Manager. I would have to use something like Chocolately or Ninite, etc. to download/install a program before updating with the Windows Package Manager.

    With Linux, the situation is much different because programs are open source and serials/licenses aren’t an issue. As well, most distros have a prominent Software Repository that enables easy click, click, click checking for programs to install [if not already installed–I find Linux distros highly desirable because nearly anything I need is already packaged]. For me, it makes setting up a Linux machine incomparably faster and more secure than any Windows machine.

    The only way to replicate a Linux experience would be for Microsoft to offer a “software repository” for popular, desirable programs that the Windows Community agrees are useful to offer without adding bundleware, etc. to the programs.

    1. Plants said on September 21, 2021 at 5:42 pm


      Unless I’m missing something you can definitely do an automated install of all the programs on a fresh Windows install with winget. That’s like half the point. Winget is Chocolatey done properly.

    2. Honorius said on May 28, 2021 at 9:36 am

      > Say I have a dozen programs I want to install on a fresh Windows 10 machine; I can’t make that happen with Windows Package Manager.
      Just because you can’t do something doesn’t mean Windows Package Manager can’t do it.

      1. VioletMoon said on May 28, 2021 at 7:17 pm

        Okay–name any dozen programs you would like on a fresh Windows 10 install and use Windows Package Manager to download and install only those dozen programs without resorting to a line-by-line command.

        Show us your technique and mastery.

        Not this–which is the point I am making:

        winget install –id=Microsoft.Teams -e ; winget install –id=Zoom.Zoom -e ; winget install –id=Notion.Notion -e ; winget install –id=SlackTechnologies.Slack -e ; winget install –id=Toggl.TogglDesktop -e ; winget install –id=ShareX.ShareX -e ; winget install –id=Loom.Loom -e ; winget install –id=LogMeIn.LastPass -e ; winget install –id=Spotify.Spotify -e ; winget install –id=Discord.Discord -e ; winget install –id=TeamViewer.TeamViewer -e ; winget install –id=Microsoft.Skype -e ; winget install –id=Microsoft.Edge -e ; winget install –id=Mozilla.Firefox -e ; winget install –id=Google.Chrome -e ; winget install –id=Microsoft.OneDrive -e ; winget install –id=Google.DriveFileStream -e

      2. Honorius said on May 31, 2021 at 3:55 pm

        > without resorting to a line-by-line command.
        That was not in the original statement.
        Do you think we can’t see what you’re doing? You first blurted out something that does not correspond to reality (because you do not understand the tool, but you have a desire to blurt out in excess). And when the mistake was pointed out to you, you started making clarifications that changed the original terms.
        But even now you, again gibbering without understanding the question, so I show my “technique and mastery”:
        winget can import (and export) a list of applications. With one short command if you have that list (made beforehand with export or manually).
        And you once again showed that you’re blurting your tongue without even looking at the documentation.

        I miss the days when only experienced people could be Linux users, able to at least read the documentation for a program before smartly scribbling their “opinions” about it.

      3. Corky said on May 31, 2021 at 11:21 am

        Use a splat table and a foreach command.

      4. Cassette said on May 29, 2021 at 9:16 pm

        I would just create a batch file with all of the programs I want. The winstall GUI will do it for you. Then you just run that file and it installs everything in one go.

  12. Dumbledalf said on May 27, 2021 at 3:11 pm

    I tried it, it’s almost like how it was on Linux – sudo apt get update.

  13. Honorius said on May 27, 2021 at 2:44 pm

    > Now You: how do you keep your programs up to date? – can check, download, execute actions after download (for example extract or run setup).

  14. ard said on May 27, 2021 at 1:37 pm

    That took a long time for Microsoft to copy a feature that is already for ages available for Ubuntu and other Linux distro systems.
    In the End maybe MS starts to learn that convenience for computer users is an important issue.
    I only hope that MS has made the security make tight such that hackers cannot change the links to the upgrade sources, else you introduce a very dangerous route for malware/ransomware upload.
    Will do some tests first on my VB installation because risking it on my main machine.

    1. Steve said on May 28, 2021 at 2:21 am

      Well, if you read about what happened with npm, or for that matter browser extensions with similar names, or the same with Google Play Store apps, etc., then the lesson here is clear: do not trust automatic installations, upgrades, whatever and ALWAYS verify everything. For example: you download Google Chrome. Scan the .exe installer at VirusTotal. Check the digital signature of the .exe. Run it on a VM or at and see how it goes. Then, and only then, if everything is OK install it on your machine.

      1. Konstantinos said on June 6, 2021 at 4:50 am

        Dude you’re paranoid.

      2. Plants said on September 21, 2021 at 4:35 pm


        Steve is (he’s also illogical, since he doesn’t trust the package manager, but then immediately trusts virustotal). ard OTOH makes a very sensible point.

      3. Ron989 said on May 28, 2021 at 10:25 am

        ‘…Then, and only then, if everything is OK install it on your machine’.

        Whatever happened to ‘living dangerously’?!!

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.