Silent install switches: MSI, NSIS, Inno Setup
Most Windows installers can run without any window. The switch depends on the tool the installer was made with, so the first step is to find out which one it is.
Find out the installer type
Every app page on ExeAtlas names the installer type of each file (MSI, NSIS, Inno Setup, WiX, MSIX …). Otherwise, “winget show” prints it, the file’s Properties → Details often names the tool, and many installers print their switches when run with /? from a command prompt.
winget show --id VideoLAN.VLC.\setup.exe /?MSI (Windows Installer)
msiexec installs MSI packages. /qn shows no interface at all, /norestart prevents an automatic reboot, and /l*v writes a detailed log. Properties such as INSTALLDIR can be set on the same line when the package supports them. To uninstall, use the package’s ProductCode, a GUID shown on the silent install page of each app.
msiexec /i app.msi /qn /norestart /l*v "%TEMP%\app-install.log"msiexec /x {PRODUCT-CODE-GUID} /qn /norestartNSIS
Installers made with NSIS (Nullsoft) take /S, which is case sensitive. /D sets the install folder; it must be the last switch and is written without quotes, even when the path contains spaces. The uninstaller, usually uninstall.exe in the program folder, also accepts /S.
setup.exe /Ssetup.exe /S /D=C:\Program Files\App"C:\Program Files\App\uninstall.exe" /SInno Setup
/VERYSILENT hides all windows, /SUPPRESSMSGBOXES answers message boxes with the default, /NORESTART prevents a reboot and /SP- skips the “This will install…” prompt. /DIR sets the folder and /LOG writes a log. Inno uninstallers (unins000.exe) take the same /VERYSILENT switch.
setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-setup.exe /VERYSILENT /DIR="C:\Apps\App" /LOG="%TEMP%\app.log""C:\Program Files\App\unins000.exe" /VERYSILENT /NORESTARTWiX Burn bundles and InstallShield
Bundles made with the WiX toolset (Burn) accept /quiet, /norestart and /log. InstallShield setup programs that wrap an MSI pass the MSI switches through /v; the quotes are part of the syntax.
setup.exe /quiet /norestart /log "%TEMP%\bundle.log"setup.exe /s /v"/qn /norestart"MSIX and APPX
MSIX and APPX packages install without a dialog through PowerShell, for the current user. Removal goes through Remove-AppxPackage with the full package name.
Add-AppxPackage -Path .\App.msixGet-AppxPackage *AppName* | Remove-AppxPackageCheck the result
A silent installer returns an exit code: 0 means success, 3010 means success with a restart required, and 1641 means the installer started a restart. In PowerShell, start the installer with -Wait and read the code.
$p = Start-Process .\setup.exe -ArgumentList "/S" -Wait -PassThru$p.ExitCodeFrequently asked questions
Why does the installer still show a window?
The switch belongs to another installer type, or the program starts a separate setup (for example a runtime) that has its own switches. Check the type first; for EXE files that wrap an MSI, the MSI switches have to be passed through.
Does a silent install need administrator rights?
Installers that write to Program Files or HKLM do. Run the command from an elevated prompt, or deploy it with a tool that runs as SYSTEM such as Intune or Configuration Manager.