Skip to main content
    All posts
    Silent Install
    Inno Setup
    NSIS
    InstallShield

    Silent Install Switches: Inno, NSIS & InstallShield

    InstallMage TeamMarch 18, 20268 min read

    Almost every "why won't this app deploy?" ticket eventually traces back to the same root cause: the wrong silent install switch. Different installer frameworks invent their own command-line conventions, and the documentation is scattered across vendor forums, GitHub issues, and decade-old blog posts.

    This is the cheat sheet we wish existed when we started — by framework, with the edge cases that actually bite in production.

    How to identify the framework

    Open the EXE in a hex editor or run strings. You can also use InstallMage's detection engine, which fingerprints 12+ frameworks from the PE header in milliseconds. Common signatures:

    • Inno Setup Setup Data → Inno Setup
    • Nullsoft.NSIS.exehead → NSIS
    • InstallShield in the version info → InstallShield
    • Squirrel.Windows → Squirrel (Electron)
    • An embedded .msi stream → MSI-wrapped EXE

    MSI (msiexec)

    The reference implementation. If you have an MSI, you have a guarantee.

    msiexec /i "App.msi" /qn /norestart /l*v "C:\Logs\install.log"
    • /qn — fully quiet, no UI
    • /qb — basic UI (progress bar only)
    • /norestart — never auto-reboot
    • /l*v — verbose log (essential for debugging)

    Inno Setup

    The most common modern installer. Two silent levels:

    Setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
    • /SILENT — shows progress bar but suppresses prompts
    • /VERYSILENT — fully hidden (use this for Intune)
    • /SUPPRESSMSGBOXES — kills any leftover dialogs
    • /SP- — disables "This will install..." prompt
    • /DIR="C:\Path" — custom install dir

    Gotcha: some Inno installers ship with custom [Code]sections that bypass /VERYSILENT. Always test on a clean VM first.

    NSIS (Nullsoft Scriptable Install System)

    Common in open-source apps and older vendor installers.

    Setup.exe /S /D=C:\Program Files\App
    • /S — silent (capital S, case-sensitive)
    • /D=path — install directory (must be the LAST parameter, no quotes around the path even if it contains spaces)

    Gotcha: the /D= syntax is uniquely picky. Quotes will silently break it.

    InstallShield

    The most painful framework. Two flavors:

    InstallShield with embedded MSI

    Setup.exe /s /v"/qn /norestart"

    The outer /s silences the InstallShield wrapper; the/v passes the inner string to msiexec.

    Legacy InstallShield (no MSI)

    Requires a recorded response file:

    # Step 1 — record once on a clean VM:
    Setup.exe /r /f1"C:\setup.iss"
    
    # Step 2 — replay on every endpoint:
    Setup.exe /s /f1"C:\setup.iss"

    Squirrel.Windows (Electron)

    Used by Slack, GitHub Desktop, Discord, and most Electron apps.

    Setup.exe --silent

    Gotcha: Squirrel installs per-user by default into%LocalAppData%, which breaks SYSTEM-context Intune deployments. You need to deploy in user context or repackage.

    WiX-built MSI bundles (Burn)

    Bundle.exe /quiet /norestart

    Burn bundles also accept /log "path.log" for diagnostics and/passive for a progress-only UI.

    Wise / 7-Zip SFX / Other legacy

    Wise: /s. 7-Zip self-extractors: depends on the embedded payload — try -y or look at the SFX config. Many legacy installers respond to/silent, /quiet, -q, or /? for a hint.

    Universal first-pass discovery

    When you have no idea what framework you are dealing with, try these in order:

    Setup.exe /?
    Setup.exe /help
    Setup.exe -h
    Setup.exe /VERYSILENT
    Setup.exe /S
    Setup.exe /quiet

    Stop guessing

    InstallMage's detection engine identifies the installer framework, pulls the verified switch from our community recipe library, and falls back to AI inference for unknown installers. Browse hundreds of community-verified recipes or read the full EXE-to-MSI guide for the bigger picture.

    Try a free conversion and let the AI find the silent switch for you.

    Keep reading