WhatsApp Desktop got a complete rewrite in 2024 — out went the Electron wrapper, in came a native MSIX client. Here's the silent install for fresh-machine setup and how to handle the QR pairing flow.
TL;DR
winget install --id WhatsApp.WhatsApp -e --silent --accept-package-agreements --accept-source-agreements
WhatsApp Desktop installs as an MSIX package per-user via the Windows AppX subsystem. ~20 seconds. No admin required.
On first launch, the app shows a QR code. Open WhatsApp on your phone → Settings → Linked Devices → Link a Device → scan. Done.
What gets installed
| Field | Value |
|---|---|
| Package ID | WhatsApp.WhatsApp |
| Publisher | WhatsApp LLC (Meta) |
| Installer type | MSIX |
| License | Proprietary |
| Homepage | whatsapp.com/download |
| Default install path | %LOCALAPPDATA%\Packages\5319275A.WhatsAppDesktop_cv1g1gvanyjgm |
The new WhatsApp uses Microsoft's MSIX (modern Windows app) packaging — sandboxed, auto-updated via Microsoft delivery network, native Windows 11 design.
Microsoft Store variant
WhatsApp is also installable via the msstore source — same MSIX, different delivery channel:
winget install --id 9NKSQGP7F2NH -e --source msstore
Behaviour is identical. The default winget source uses Microsoft's package CDN; the msstore source uses Store updates. Most users won't notice a difference.
WhatsApp Business
For businesses using WhatsApp Business:
winget install --id WhatsApp.WhatsApp.Business -e --silent
Runs side-by-side with personal WhatsApp. Different installer, different MSIX identity — they don't conflict.
QR-code sign-in (no way around it)
WhatsApp doesn't allow silent sign-in. The QR pairing is intentional security — your phone is the authoritative device, the desktop is a "linked device" that mirrors messages.
For deployment scripts targeting end-users, the workflow is:
- Install WhatsApp silently via winget
- Tell users to launch it once and scan the QR with their phone
- After pairing, WhatsApp remembers them (encrypted session stored locally)
There's no --credentials flag and there won't be one — Meta's threat model treats this as a security boundary.
Auto-launch behaviour
WhatsApp Desktop doesn't add itself to Windows startup by default — a nice change from the Electron era. If a user enables auto-start later (Settings → General → "Start at login"), it goes in:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\WhatsApp
To force-disable for fleet deployments:
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "WhatsApp" -ErrorAction SilentlyContinue
Specify version
winget install --id WhatsApp.WhatsApp -e --version 2.2447.5 --silent
List versions:
winget show --id WhatsApp.WhatsApp --versions
Note: MSIX apps auto-update via Microsoft's delivery network. Pinning a version is less effective than for traditional Win32 apps because MSIX maintenance updates can happen outside winget's view.
Verify
winget list --id WhatsApp.WhatsApp
Or launch from Start menu — MSIX install registers the Start menu entry.
Upgrade silently
winget upgrade --id WhatsApp.WhatsApp -e --silent --accept-package-agreements --accept-source-agreements
In practice MSIX apps auto-update without winget's help. winget upgrade catches edge cases where Microsoft Store delivery failed.
Uninstall silently
winget uninstall --id WhatsApp.WhatsApp --silent --disable-interactivity
For MSIX apps, uninstall is clean — the sandboxed app folder is removed entirely. Optionally also remove the linked-device record from your phone (WhatsApp on phone → Settings → Linked Devices → tap the desktop → Log Out).
To also wipe any local session leftover:
winget uninstall --id WhatsApp.WhatsApp --silent
Remove-Item "$env:LOCALAPPDATA\Packages\5319275A.WhatsAppDesktop_cv1g1gvanyjgm" -Recurse -Force -ErrorAction SilentlyContinue
Comparison with WhatsApp Web
WhatsApp Web (web.whatsapp.com in your browser) does the same thing — QR-pair, mirror messages. Desktop's advantages:
- Native notifications (badge count in taskbar)
- Better performance (~30 MB RAM vs browser's overhead)
- Works offline (cached messages viewable; sending queues until reconnect)
- No browser tab to lose
For deployments where users have desktops always-on, the Desktop client is the better experience. For thin clients / VDI, Web might be simpler.
In a messaging-focused setup script
# Install multi-platform messaging
$apps = @(
"WhatsApp.WhatsApp",
"Telegram.TelegramDesktop",
"SignalMessenger.Signal",
"Discord.Discord",
"SlackTechnologies.Slack"
)
foreach ($id in $apps) {
winget install --id $id -e --silent `
--accept-package-agreements --accept-source-agreements
}
Common errors
"WhatsApp is already installed"
The msstore variant and the winget variant share an underlying MSIX. winget detects either. Force-overlay:
winget install --id WhatsApp.WhatsApp -e --silent --force
"MSIX package failed to register"
Windows AppX subsystem can stall after Windows Update. Restart the service:
Restart-Service AppXSvc
Restart-Service ClipSVC
Then retry winget.
QR code won't scan
- Adjust the desktop window size — too small and the QR is harder for phones to read
- Ensure the phone WhatsApp is up to date (older versions of WhatsApp can't link new device protocol)
- Try increasing screen brightness
0x80073D02 — WhatsApp is in use
WhatsApp Desktop runs in the system tray after window close. Kill it:
Get-Process | Where-Object { $_.Name -like "*WhatsApp*" } | Stop-Process -Force
winget upgrade --id WhatsApp.WhatsApp
See package in use fix.
Sign-in keeps expiring
WhatsApp links automatically expire after 14 days of phone inactivity. If your phone hasn't been online for 2+ weeks, the desktop session signs out and you re-pair. Stay connected to keep the link active.
See also
- WhatsApp on winget.tech → — full package details
- How to install Telegram silently → — sibling messenger
- How to install Discord silently → — voice + chat
- Fresh Windows 11 setup → — full workflow
