wingetsilent-installwhatsappmessagingtutorial

How to Install WhatsApp Desktop Silently with winget on Windows

Install WhatsApp Desktop silently with winget — MSIX install via Microsoft Store, QR-pairing setup, and uninstall flags. Personal + Business variants.

· 4 min read
How to Install WhatsApp Desktop Silently with winget on Windows

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:

  1. Install WhatsApp silently via winget
  2. Tell users to launch it once and scan the QR with their phone
  3. 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

Continue reading