How to Use the Winget Package Manager in Windows 11 to Batch Install and Update Apps

Setting up a newly formatted Windows PC or deploying software across new office workstations has traditionally been an exhausting, manual process. Users spend hours opening web browsers, searching for developer download portals, downloading dozens of independent .exe and .msi installer files, manually unchecking bundled bloatware checkboxes, and repeatedly clicking through installation wizards. Keeping those applications updated over time requires opening each app individually to check for updates. To bring the speed, automation, and scriptability of Linux package managers (like apt and pacman) or macOS Homebrew to Windows, Microsoft developed Winget (Windows Package Manager). Built natively into Windows 11, Winget lets you discover, install, update, and batch-configure software from an elevated command prompt.

How Winget Operates Under Windows Architecture

Winget acts as an official command-line package orchestration engine:

  • Community and Microsoft Certified Repository: Winget connects to Microsoft’s curated open-source community repository as well as the Microsoft Store catalog, hosting thousands of popular applications—from Google Chrome, Discord, and VLC to VS Code, Git, and Docker Desktop.
  • Silent and Automated Installations: By passing silent execution arguments, Winget downloads genuine installer binaries directly from publisher CDN servers and executes installations silently in the background with zero GUI prompt interruptions.
  • Single-Command Global Updates: Winget scans all installed software across your PC, cross-references version numbers against repository manifests, and updates every outdated app on your computer simultaneously with a single terminal command.
  • Declarative JSON Configuration Files: System administrators can create declarative configuration scripts that install dozens of pre-configured applications automatically when onboarding new developer PCs.

Step-by-Step: Verifying and Updating Winget on Windows 11

Winget is included out of the box in Windows 11 via the App Installer package:

  1. Right-click the Start menu button and select Terminal (or search for PowerShell and run as Administrator).
  2. Verify that Winget is installed and check its version:
    winget --version

    The terminal outputs the installed version (e.g., v1.9.25180).

  3. If the command is not recognized, open the Microsoft Store, search for App Installer, and update the package to enable the Winget CLI tool.

Searching and Installing Applications with Winget

Installing software using Winget eliminates web browsing entirely:

1. Searching for an Application

To verify the exact package identifier for an application:

winget search "Mozilla Firefox"

The terminal outputs matching results, detailing the package Name, unique Id (e.g., Mozilla.Firefox), latest version, and repository source.

2. Installing an Application by Exact ID

Always install using the unique package --id to prevent accidental installation of similarly named tools:

winget install --id Mozilla.Firefox

Winget verifies the installer hash, downloads the package directly from Mozilla’s official CDN, and installs the software silently.

3. Forcing Silent, Unattended Installation

To suppress all user account control (UAC) and setup wizard dialogues completely:

winget install --id VideoLAN.VLC --silent --accept-package-agreements --accept-source-agreements

Updating All Installed Applications with a Single Command

One of Winget’s most powerful capabilities is comprehensive system-wide patch management:

1. Checking for Available Software Updates

To scan your PC and list every installed program that has a newer version available:

winget upgrade

Winget prints a neat tabular report displaying the application name, installed version, and the latest available release version.

2. Upgrading All Applications Simultaneously

To upgrade every outdated application across your entire PC in one automated sequence:

winget upgrade --all --include-unknown

Winget loops through every outdated package sequentially, downloading updates and executing installers in the background.

Batch Installing Software via Export and Import Files

When provisioning a brand new computer, you can export your entire software stack from your old PC and install it onto the new machine automatically:

1. Export Installed Software Stack to a JSON File

winget export -o C:\Users\Username\Desktop\apps_backup.json

2. Import and Batch Install on the New PC

Transfer the JSON file to your new computer and run:

winget import -i .\apps_backup.json --accept-package-agreements --accept-source-agreements

Windows automatically downloads and installs every software tool on the list without manual intervention.

Winget vs Chocolatey vs Scoop Comparison

Feature Winget (Windows Package Manager) Chocolatey Scoop
Developer & Official Backing Native Microsoft (Pre-installed in Win 11) Independent commercial open-source Open-source community
Installation Medium Official publisher CDNs + Store Community repository scripts Portable app extractions
Need for Third-Party Installs Zero (native to Windows 11) Requires running bootstrap scripts Requires PowerShell bootstrap
Microsoft Store Integration Native (installs UWP & Store apps) No No
Admin Rights Requirement Standard UAC elevation Requires persistent Administrator shell Runs primarily in user space

Troubleshooting Common Winget Issues

If Winget encounters errors during installation or updates:

  • Installer Hash Mismatch (Error 0x80190194): Occurs when a software vendor releases a new patch before the community manifest update is merged. Run winget source update to synchronize the latest repository manifests.
  • Application Currently Running: If an application (like Google Chrome or Slack) is actively running during an upgrade command, the installer may pause or fail. Close running apps before executing winget upgrade --all.
  • Pinning Packages to Prevent Updates: If you must keep a specific legacy software version, use the pin command: winget pin add --id Package.Name.

Frequently Asked Questions

Can Winget uninstall software?

Yes. Simply execute winget uninstall --id Package.Name. Winget triggers the official application uninstaller silently.

Is software installed via Winget safe from malware?

Yes. Every manifest submitted to the Windows Package Manager repository undergoes automated Microsoft SmartScreen, VirusTotal, and static code analysis pipelines before being approved and merged.

Can I use Winget in automated PowerShell scripts and batch files?

Yes. System administrators frequently integrate Winget commands into Task Scheduler, Microsoft Intune deployment scripts, and Ansible playbooks for automated workstation management.

Get the best tech tips delivered straight to your inbox.

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