7-Zip is one of the few "must-install" utilities on any Windows machine. Here's how to drop it onto a fresh machine silently — no clicks, no prompts, perfect for deployment scripts and Task Scheduler jobs.
TL;DR
Open Terminal as Administrator and run:
winget install --id 7zip.7zip -e --silent --accept-package-agreements --accept-source-agreements
That's it. 7-Zip installs, registers the right-click context menu, and is ready to use. ~10 seconds on a typical machine.
Why install silently?
Silent installs matter when:
- You're scripting a fresh Windows setup (guide)
- You're deploying to multiple machines via SCCM, Intune, or PSRemoting
- You're running unattended Task Scheduler jobs
- You're writing CI / golden-image build scripts
The --silent flag tells winget to pass installer-specific silent flags to the underlying installer. For 7-Zip's EXE installer, that's /S — no UI, no progress dialog, just an install.
What gets installed
| Field | Value |
|---|---|
| Package ID | 7zip.7zip |
| Publisher | Igor Pavlov |
| Installer type | EXE |
| License | LGPL-2.1 |
| Homepage | 7-zip.org |
| Default install path | C:\Program Files\7-Zip |
The 7-Zip installer registers file associations for .7z, .zip, .rar, .tar.gz, and dozens more, plus the right-click "7-Zip" context menu.
Variations
Per-user install (no admin)
7-Zip doesn't officially support per-user mode, but you can try:
winget install --id 7zip.7zip -e --scope user --silent
If it fails, you need admin.
Specify version
Older 7-Zip releases (24.x, 23.x) sometimes had registry quirks that newer releases fixed. To pin a specific version:
winget install --id 7zip.7zip -e --version 24.09 --silent
List available versions:
winget show --id 7zip.7zip --versions
Override silent flags
If winget's --silent isn't actually silent (rare for 7-Zip), force the installer's native silent switch:
winget install --id 7zip.7zip -e --override "/S /D=C:\Tools\7-Zip"
/D= lets you change the install directory. Useful for IT deploys where Program Files is restricted.
Verify after install
& "C:\Program Files\7-Zip\7z.exe" --help
You should see 7-Zip's help text. Or check via winget:
winget list --id 7zip.7zip
Shows the installed version if everything worked.
Upgrade silently
winget upgrade --id 7zip.7zip -e --silent --accept-package-agreements --accept-source-agreements
Or bulk:
winget upgrade --all --silent
See How to update all Windows apps.
Uninstall silently
winget uninstall --id 7zip.7zip --silent --disable-interactivity
Detailed guide: How to uninstall Windows apps with winget.
In a deployment script
PowerShell snippet for unattended Windows setup:
$apps = @(
"7zip.7zip",
"Microsoft.WindowsTerminal",
"Microsoft.PowerToys"
)
foreach ($id in $apps) {
winget install --id $id -e --silent `
--accept-package-agreements --accept-source-agreements
}
Wrap in Task Scheduler for one-shot machine provisioning.
Common errors
"7-Zip is already installed" — winget detects the existing install. To force-reinstall:
winget install --id 7zip.7zip -e --silent --force
"Installer hash does not match" — manifest is stale (publisher released a new version). Wait 24h or use --force. See hash mismatch fix.
"Access denied" — run Terminal as Administrator. See Access denied fix.
See also
- 7-Zip on winget.tech → — full package details
- How to install Windows apps with winget → — beginner guide
- Fresh Windows 11 setup → — full setup workflow
- Winget commands cheatsheet → — reference