wingetsilent-installspotifymusictutorial
Spotify

How to Install Spotify Silently with winget on Windows

Install Spotify silently with winget — single-line command for unattended deployments, with auto-start removal and uninstall flags.

· 4 min read · updated May 29, 2026

Spotify is the background-music app for half of Windows users. Here's the silent install for fresh-machine setups, dev workstations, and shared family PCs.

TL;DR

winget install --id Spotify.Spotify -e --silent --accept-package-agreements --accept-source-agreements

Spotify installs per-user to %APPDATA%\Spotify. ~20 seconds. No admin required.

What gets installed

Field Value
Package ID Spotify.Spotify
Publisher Spotify AB
Installer type EXE (Squirrel.Windows)
License Proprietary
Latest version 1.2.90.451
Homepage spotify.com/download
Default install path %APPDATA%\Spotify

The desktop client is a thin shell around Spotify's web stack — Chromium Embedded Framework plus their C++ playback engine. About 400 MB installed.

Per-user only

Spotify's installer doesn't support --scope machine. Each user gets their own install in their AppData. On shared machines, every user has to install it themselves (or you script the install per-user-profile during onboarding).

Suppress the auto-launch

Spotify's installer launches the app immediately after install. To prevent this in deployment scripts:

winget install --id Spotify.Spotify -e --override "/silent"

The Squirrel installer accepts the GNU-style --silent flag (also /silent for compatibility).

Disable auto-start on login

Spotify quietly adds itself to Windows startup. To remove:

Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "Spotify" -ErrorAction SilentlyContinue

Or via Spotify UI: Settings → Startup and window behavior → "Open Spotify automatically after you log into the computer" off.

There's no winget-level flag for this — it's a Spotify in-app preference, applied on first launch.

Microsoft Store variant

Spotify is also on the Store. It's the sandboxed UWP wrapper:

winget install --id 9NCBCSZSJRSB -e --source msstore

The Store variant updates via Store, has stricter system access (no global hotkeys for media keys, e.g.). For most users the standard Spotify.Spotify is better.

Specify version

winget install --id Spotify.Spotify -e --version 1.2.85.450 --silent

List versions:

winget show --id Spotify.Spotify --versions

⚠️ Spotify self-updates aggressively — it'll auto-update past whatever winget installed within a day. To freeze, disable Spotify's updater:

$updateExe = "$env:APPDATA\Spotify\SpotifyMigrator.exe"
if (Test-Path $updateExe) { Rename-Item $updateExe "$updateExe.disabled" }

Re-enable by reversing the rename.

Pin to silence winget noise

Because Spotify self-updates faster than winget manifests refresh, winget upgrade --all often nags about Spotify forever. Silence it:

winget pin add --id Spotify.Spotify

Now winget leaves Spotify alone and Spotify's own updater handles it. See winget pin guide.

Block telemetry / disable Spotify Connect ads

For privacy-conscious deployments, drop a prefs file:

$prefsPath = "$env:APPDATA\Spotify\prefs"
@'
ui.show_friend_feed=false
app.player.autoplay-on-empty-context=false
ads.opted_out=true
'@ | Out-File -Encoding utf8 $prefsPath

These are Spotify's documented prefs flags. Full list in their support docs.

Verify

winget list --id Spotify.Spotify

Or launch:

& "$env:APPDATA\Spotify\Spotify.exe"

Upgrade silently

winget upgrade --id Spotify.Spotify -e --silent --accept-package-agreements --accept-source-agreements

Most of the time Spotify is already on the latest version (its built-in updater is fast). winget upgrade catches edge cases where the auto-updater was disabled or blocked.

Uninstall silently

winget uninstall --id Spotify.Spotify --silent --disable-interactivity

To also wipe cached music (frees several GB if you've used Spotify a while):

winget uninstall --id Spotify.Spotify --silent
Remove-Item "$env:APPDATA\Spotify" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$env:LOCALAPPDATA\Spotify" -Recurse -Force -ErrorAction SilentlyContinue

Your playlists, follows, and library all live on Spotify's servers — local wipe doesn't affect them.

In a media-focused setup

$apps = @(
  "Spotify.Spotify",
  "VideoLAN.VLC",
  "OBSProject.OBSStudio",
  "Audacity.Audacity"
)

foreach ($id in $apps) {
  winget install --id $id -e --silent `
    --accept-package-agreements --accept-source-agreements
}

# Remove Spotify from startup
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "Spotify" -ErrorAction SilentlyContinue

Common errors

"Spotify is already installed" — winget sees the existing per-user install. To overlay:

winget install --id Spotify.Spotify -e --silent --force

0x80073D02 — Spotify is in use — Spotify keeps a background process even after window close (system tray). Kill it:

Get-Process Spotify -ErrorAction SilentlyContinue | Stop-Process -Force
winget upgrade --id Spotify.Spotify

See package in use fix.

Spotify won't launch after install — Squirrel installer corrupted on disk. Wipe + reinstall:

Remove-Item "$env:APPDATA\Spotify" -Recurse -Force
Remove-Item "$env:LOCALAPPDATA\Spotify" -Recurse -Force
winget uninstall --id Spotify.Spotify
winget install --id Spotify.Spotify -e --silent

See also

Continue reading