How to Use Winget to Install, Update, and Manage Apps in Windows 11

Setting up a new Windows computer or manually updating dozens of desktop programs typically involves navigating multiple download portals, closing setup wizards, unchecking bundled software, and restarting applications one by one. The Windows Package Manager (known from the command line as winget) revolutionises application lifecycle management on Microsoft platforms. Native to Windows 11 and modern Windows 10 releases, winget allows users, developers, and system administrators to discover, install, update, and remove software silently through standard command-line syntax.

What Is the Windows Package Manager (winget)?

winget is Microsoft’s official open-source package management engine. Much like APT on Debian, Homebrew on macOS, or DNF on Fedora, winget fetches verified installer packages directly from software repositories (the Microsoft Community Repository and the Microsoft Store). Because installations run through authenticated SHA-256 hashes and SmartScreen telemetry, winget provides an automated, secure installation channel free from third-party advertising or poisoned download buttons.

Verifying winget on Your Windows 11 System

winget comes pre-installed on Windows 11 via the App Installer package distributed through the Microsoft Store. To confirm its availability and review your active version:

  1. Right-click the Start button and select Terminal (or PowerShell).
  2. Type the following command and press Enter:
winget --version

If the system outputs a version number (such as v1.7.x or later), winget is ready for operation. If the command is not recognised, open the Microsoft Store, search for App Installer, and click Update.

Finding and Installing Applications

To locate software in the official repositories, use the search parameter followed by the application name or vendor keyword:

winget search "Visual Studio Code"

winget displays a structured table containing the Name, unique Package ID, Version, and Source repository. To install an application cleanly without prompting for wizard confirmation, supply the exact Package ID with the silent flag:

winget install --id Microsoft.VisualStudioCode -e --silent

The -e parameter ensures an exact string match, while --silent suppresses graphical installer dialogues for automated execution in the background.

Upgrading All Outdated Software with a Single Command

One of winget’s most powerful capabilities is sweeping your entire system for outdated third-party software and pulling the latest updates concurrently.

To inspect all installed programs that currently have newer releases available:

winget upgrade

To update every eligible application across your system in sequence, execute:

winget upgrade --all --include-unknown

winget sequentially downloads the certified installers, closes previous versions if necessary, applies the updates, and clears the installation cache automatically.

Essential winget Commands Reference

Command Syntax Example Functionality
Search winget search <query> Queries community repository and Microsoft Store
Install winget install --id <ID> Downloads and executes package installation
List winget list Displays all currently installed software
Upgrade winget upgrade --all Updates all installed software to current releases
Uninstall winget uninstall --id <ID> Uninstalls application silently from the OS
Export winget export -o packages.json Exports manifest of installed software for machine backups
Import winget import -i packages.json Installs all applications listed in manifest file

Exporting and Restoring Software Manifests on New Machines

When migrating to a new laptop or staging corporate workstations, winget can replicate your complete software suite automatically:

  1. On your existing machine, open Terminal and run:
winget export -o ~/Desktop/MySoftware.json
  1. Copy MySoftware.json to a flash drive or cloud storage folder.
  2. On the new machine, open Terminal as Administrator and execute:
winget import -i ~/Desktop/MySoftware.json --accept-package-agreements --accept-source-agreements

winget parses the JSON manifest and installs every listed program sequentially without requiring manual intervention.

Frequently Asked Questions

Do I need Administrator permissions to use winget?

Searching for software and listing installed packages does not require administrative elevation. However, installing software that writes files to C:\Program Files or modifies system registry keys requires launching Terminal with Administrator privileges.

Can winget manage portable applications?

Yes. winget supports portable .exe binaries, registering them in user path environments so they can be executed directly from the terminal without standard setup wrappers.

How does Microsoft verify software packages in winget?

Packages submitted to the Windows Package Manager Community Repository undergo automated validation pipelines, including malware scanning via Microsoft Defender, static analysis, installer verification, and human pull-request reviews.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.