Commands for installing GitHub Desktop without prompts, removing it again and detecting it from deployment tools. A command is shown only when it is certain: from the manifest or the installer technology’s documented default.
Related guide: Silent install switches: MSI, NSIS, Inno Setup · Uninstall a program with the registry or PowerShell
With winget
PowerShell
winget install --id GitHub.GitHubDesktop -e --silent --accept-package-agreements --accept-source-agreementswinget upgrade --id GitHub.GitHubDesktop -e --silentwinget uninstall --id GitHub.GitHubDesktop -e --silentBy installer
64-bit · EXE · Current user
Silent install
GitHubDesktopSetup-x64.exe --silent- Uninstall registry key
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GitHubDesktop
64-bit · MSI · All users
Silent install
msiexec /i GitHubDesktopSetup-x64.msi /qn /norestartWrite a log
msiexec /i GitHubDesktopSetup-x64.msi /qn /norestart /l*v "%TEMP%\github-desktop-install.log"Uninstall
msiexec /x {DA7017AA-1461-48F5-9B6D-B4D895B154BB} /qn /norestart- MSI product code
- {DA7017AA-1461-48F5-9B6D-B4D895B154BB}
- Uninstall registry key
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DA7017AA-1461-48F5-9B6D-B4D895B154BB}
- UpgradeCode
- {00D8E2EE-13EA-5BEB-87F0-70EFC46A7D4A}
ARM64 · EXE · Current user
Silent install
GitHubDesktopSetup-arm64.exe --silent- Uninstall registry key
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GitHubDesktop
ARM64 · MSI · All users
Silent install
msiexec /i GitHubDesktopSetup-arm64.msi /qn /norestartWrite a log
msiexec /i GitHubDesktopSetup-arm64.msi /qn /norestart /l*v "%TEMP%\github-desktop-install.log"Uninstall
msiexec /x {23C90CF4-57F6-4986-816E-2323C1475525} /qn /norestart- MSI product code
- {23C90CF4-57F6-4986-816E-2323C1475525}
- Uninstall registry key
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{23C90CF4-57F6-4986-816E-2323C1475525}
- UpgradeCode
- {00D8E2EE-13EA-5BEB-87F0-70EFC46A7D4A}
PowerShell: download, verify, install
Downloads the official file, checks its SHA256 and installs it silently.
install-github-desktop.ps1
$url = 'https://desktop.githubusercontent.com/releases/3.6.9-e0ba6bb8/GitHubDesktopSetup-x64.exe'
$sha256 = 'F0017AF2EFB38D22ECFDC519ED387449F112C5CAB486C41214C173230DE953C1'
$file = Join-Path $env:TEMP 'GitHubDesktopSetup-x64.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList '--silent' -Wait install-github-desktop.ps1
$url = 'https://desktop.githubusercontent.com/releases/3.6.9-e0ba6bb8/GitHubDesktopSetup-x64.msi'
$sha256 = 'E2BAB1785C348D0C29CB79C1030B07B902322E63FFD4025EF9BFD175DB600555'
$file = Join-Path $env:TEMP 'GitHubDesktopSetup-x64.msi'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process msiexec.exe -ArgumentList '/i', ('"{0}"' -f $file), '/qn', '/norestart' -Wait install-github-desktop.ps1
$url = 'https://desktop.githubusercontent.com/releases/3.6.9-e0ba6bb8/GitHubDesktopSetup-arm64.exe'
$sha256 = '7489F3D91184A02E8A607DB3A7F34B187516D6DA1729360950AAEE92FC60204C'
$file = Join-Path $env:TEMP 'GitHubDesktopSetup-arm64.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList '--silent' -Wait install-github-desktop.ps1
$url = 'https://desktop.githubusercontent.com/releases/3.6.9-e0ba6bb8/GitHubDesktopSetup-arm64.msi'
$sha256 = 'A43454544F991EB244B1E0F384B9316DA7965F78908B29388FCCC26805FFC433'
$file = Join-Path $env:TEMP 'GitHubDesktopSetup-arm64.msi'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process msiexec.exe -ArgumentList '/i', ('"{0}"' -f $file), '/qn', '/norestart' -Wait