Install and Update Software Fast With Winget on Windows 11
Winget ships with Windows 11 as part of App Installer, giving you Chocolatey-style package management with zero extra setup. Instead of hunting download pages and clicking through installers, you search a curated repository and let the tool fetch, silently install, and later update everything. It is also scriptable, which makes rebuilding or provisioning a new machine almost trivial.
What you need
- Windows 11 (winget comes preinstalled; verify by opening Terminal)
- An internet connection
- Administrator rights for machine-wide installs
Step by step
- Open Windows Terminal and run winget --version. If the command is missing, update the Microsoft Store's App Installer package first.
- Search before installing: winget search vscode returns matching packages with IDs like Microsoft.VisualStudioCode. The ID is what you use everywhere else.
- Show details before trusting a package: winget show prints publisher, version, homepage, and installer type so you can confirm it is the official build, not a lookalike upload.
- Install with winget install . Add --silent to suppress installer wizards, and -e to force exact ID matching, which prevents accidental installs of similarly named packages: winget install -e --silent Microsoft.VisualStudioCode.
- Batch your essentials into a single command line or a small script: winget install -e Git.Git Mozilla.Firefox 7zip.7zip VLC.MediaPlayer runs them back to back.
- Audit what needs updating with winget upgrade, then refresh everything at once with winget upgrade --all. Pin anything you want frozen using winget pin add .
- Export your set for reuse: winget export -o apps.json captures installed packages and versions. On a new machine, winget import apps.json reinstalls them in one pass. Review the JSON first and delete entries you no longer want.
- Uninstall cleanly when needed with winget uninstall , and list everything currently managed via winget list.
For apps outside the repository, winget can also fetch an installer directly from a URL: pass the link as the package argument and it downloads and runs the same way. Third-party sources exist too, but adding them means trusting their curation, so keep community sources minimal.
Common mistakes
- Skipping -e and installing a typosquatted package with a near-identical ID
- Running winget upgrade --all blindly when a specific app version must stay pinned for compatibility
- Expecting winget to cover every app; some vendors ship only store-exclusive or web-only builds
- Forgetting that per-user versus machine-wide scopes differ; use --scope machine when a tool must serve all accounts
Related guides
A fresh batch of installs pairs perfectly with [[windows-11-debloat-startup-apps]] to stop them hijacking boot. Automate the disk cleanup they generate with [[storage-sense-automation]], and if a package misbehaves badly enough, [[reset-windows-11-without-losing-files]] resets app state while keeping files intact.