How to Bulk Install Apps on Windows 11 with One Winget Script (2026 Guide)§
A new Windows PC should feel exciting. Instead, it usually means an evening of downloading installers, unchecking bundled-toolbox offers, and clicking Next forty times. Winget — the package manager built into Windows 10 and 11 — fixes this: every app installs from one command. And with the NexaTools Winget Bulk Install Script Generator, you can turn your entire app list into a single ready-to-run script in about 30 seconds.
What is a winget bulk install script?§
A winget bulk install script is a plain .ps1 (PowerShell) or .bat (batch) file that runs winget install for every app on your list, one after another, with the right flags to skip prompts:
winget install --id Google.Chrome -e --accept-package-agreements --accept-source-agreements
Chain 15 of those together with logging and you have a new-PC setup script you can reuse on every machine you touch — your laptop, the family desktop, or a fleet of fresh Windows 11 installs.
The 3-step method (no scripting knowledge needed)§
- Paste your app list into the Winget Script Generator — one app per line. Winget IDs (
7zip.7zip), plain names (discord), and even Microsoft Store Product IDs (9WZDNCRFJBMP) all work. - Pick your options — silent install, machine-wide scope, exact ID matching. The generator applies the flags exactly as the official winget CLI expects.
- Download
install-apps.ps1orinstall-apps.bat, right-click → Run with PowerShell, and walk away. Every app installs unattended, and the script prints a success/fail summary at the end.
Everything is generated locally in your browser — your app list is never uploaded anywhere.
Which flags actually matter?§
| Flag | What it does | Use it when |
|---|---|---|
-e / --exact |
Matches the ID exactly instead of fuzzily | Always — avoids installing the wrong package |
--accept-package-agreements --accept-source-agreements |
Skips license prompts | Always, or the script stalls waiting for input |
-h / --silent |
Runs the installer silently | Unattended setups; some legacy installers ignore it |
--scope machine |
Installs for all users | Deployment scripts run as Administrator |
-s msstore |
Pulls from the Microsoft Store source | Store-only apps like widgets and legacy UWP apps |
Preset packs: the 60-second new PC§
The generator ships with curated starter packs — Essentials (7-Zip, PowerToys, VLC, Notepad++), Browsers, Developer (Git, VS Code, Python, Node, Docker), Media, Gaming (Steam, Discord), and Security. Click a pack, tweak the list, download. That's the whole setup.
Going further§
- Debloat at the same time: pair the script with the Windows Setup & Debloat Script Generator to remove preinstalled apps and lock down telemetry in the same pass.
- Need offline installers instead? For LTSC or machines without the Store, the Microsoft Store Link Generator pulls direct
.msixbundle/.appxdownload links from Microsoft's CDN. - Update everything later: because every app is winget-tracked,
winget upgrade --all --include-unknownupdates your entire setup in one command. - Move between PCs:
winget export -o my-apps.jsonsaves your installed list; import it anywhere withwinget import -i my-apps.json.
FAQ§
Is winget safe? Yes — packages come from signed manifests for winget-source apps and from the Microsoft Store for msstore-source apps. Stick to exact IDs (-e) to avoid look-alikes.
Do I need admin rights? Not for most apps. Winget defaults to per-user installs; only use --scope machine (elevated) for system-wide deployment.
PowerShell blocks my .ps1 file — why? Windows execution policy protects downloaded scripts. Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, or use the generated .bat file instead, which runs without that friction.
Does it work on Windows 10? Yes — winget runs on Windows 10 1709+ and all Windows 11 builds. Install it from the Store (Microsoft.DesktopAppInstaller) if it's missing.
Setting up a PC should take one script, not one evening. Generate yours free at the Winget Bulk Install Script Generator — no signup, no uploads, no limits.