Commands for installing Tower 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 SaaSGroup.Tower -e --silent --accept-package-agreements --accept-source-agreementswinget upgrade --id SaaSGroup.Tower -e --silentwinget uninstall --id SaaSGroup.Tower -e --silentBy installer
64-bit · EXE · Current user
Silent install
Tower-14.2.587.exe --silent- Uninstall registry key
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Tower
64-bit · MSI · All users
Silent install
msiexec /i Tower-14.2.587.msi /qn /norestartWrite a log
msiexec /i Tower-14.2.587.msi /qn /norestart /l*v "%TEMP%\tower-install.log"- Uninstall registry key
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MSI:Tower
PowerShell: download, verify, install
Downloads the official file, checks its SHA256 and installs it silently.
install-tower.ps1
$url = 'https://www.git-tower.com/apps/tower3-win/587-d266412d/Tower-14.2.587.exe'
$sha256 = 'DB99E9B012704E27B9FBCE0F1145E3538569D985D7ED8DB58DAFEE69BC44A628'
$file = Join-Path $env:TEMP 'Tower-14.2.587.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-tower.ps1
$url = 'https://www.git-tower.com/apps/tower3-win/587-d266412d/Tower-14.2.587.msi'
$sha256 = '41D2901B3026CE0C1B6F1562825F13341387AC000367F72FEBB2FACA06AE01B4'
$file = Join-Path $env:TEMP 'Tower-14.2.587.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