本文へスキップ

Setup.exe のサイレントインストール:/S スイッチ、フォルダー指定、展開

NSIS 製の Setup.exe を /S でサイレント実行し、/D= でインストール先を指定し、サイレントでアンインストールし、Intune、PDQ、スクリプトで展開する方法。

更新日 2026年10月31日 · 読了 4 分

IT 部門はウィザードをクリックして進めたりはしません。スクリプトや展開ツールからインストーラーを実行し、勝手に完了することを期待します。ExeTup が生成するインストーラーはすべて NSIS インストーラーであり、NSIS は何十年も前からサイレントインストールに対応しています。このガイドでは、スイッチ、落とし穴、そして一般的な展開ツールがそれらをどう呼び出すかを説明します。

スイッチ

Setup.exe /S

ビルド時に設定した既定値(既定のフォルダー、ショートカット、選択したインストール範囲)でインストールします。ウィンドウは一切表示されません。このスイッチは大文字と小文字を区別します。/s ではなく /S です。

Setup.exe /S /D=C:\Apps\My App

別のフォルダーにインストールします。/D= のルールは次のとおりです。

  • コマンドラインの最後のパラメーターでなければならない。
  • パスはスペースを含んでいても引用符で囲まない。
  • これも大文字と小文字を区別する。

サイレントアンインストール:

"C:\Program Files\My App\unins000.exe" /S

アンインストーラーはインストールフォルダー内の unins000.exe という名前で、設定 → アプリに登録されるため、winget uninstall やほとんどの展開ツールからも見つけられます。

サイレントインストールでも行われること

  • ビルド時の選択に従って、すべてのユーザー向け(Program Files へ、昇格が必要)またはユーザーごとにインストールします。マシン単位のインストーラーを昇格していないプロンプトからサイレント実行すると、何も表示せずに失敗します。昇格したシェルか、展開ツールのシステムコンテキストから実行してください。
  • 有効にしていれば、スタートメニューとデスクトップのショートカットを作成します。
  • アンインストーラーとバージョンを Windows の設定に登録します。
  • 「インストール後に起動」が有効でも、終了後にアプリを起動しません。サイレントモードではそのページがスキップされます。
  • 複数の言語が設定されている場合は最初の言語を使用し、言語選択ダイアログはスキップされます。

終了コード

サイレントインストールが成功すると 0 で終了します。0 以外のコードは中断されたことを意味し、多くの場合、昇格が拒否されたか、インストーラーがすでに実行中だったことが原因です。スクリプトではコードを確認してください。

Setup.exe /S
if %errorlevel% neq 0 exit /b %errorlevel%

PowerShell では Start-Process -Wait -PassThru を使って .ExitCode を読み取ってください。そうしないと Setup.exe は即座に制御を返します。

$p = Start-Process -FilePath ".\Setup.exe" -ArgumentList "/S" -Wait -PassThru
exit $p.ExitCode

展開ツール

  • Microsoft Intune:Win32 アプリ(.intunewin)としてパッケージ化し、インストールコマンドに Setup.exe /S、アンインストールコマンドに "%ProgramFiles%\My App\unins000.exe" /S を指定します。検出規則には、HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\My App 配下のレジストリエントリか、メインの .exe を使います。
  • PDQ Deploy、ManageEngine、Chocolatey:システムコンテキストで Setup.exe /S を実行する「Install」ステップを用意します。
  • グループポリシー:GPO によるソフトウェアインストールは MSI ファイルを要求します。代わりに Setup.exe /S を実行するスタートアップスクリプトを使ってください。
  • winget:InstallerType: nullsoft を含むマニフェストで winget にスイッチを伝えます。インストーラーは安定した URL でホストされている必要があります。

アップグレード

インストール済みのバージョンの上から新しい Setup.exe /S を実行すると、ファイルがその場で置き換えられ、Windows の設定のバージョンも更新されます。ユーザーは先にアプリを閉じておく必要があります。実行中の .exe は上書きできません。

よくある質問

スイッチは /S ですか、/silent ですか?

大文字の /S です。NSIS インストーラーは /silent と /verysilent を無視します。これらは Inno Setup のスイッチです。

スペースを含むフォルダーを渡せますか?

はい、引用符なしで渡せます:Setup.exe /S /D=C:\Program Files\My App。/D= パラメーターは行の最後に置く必要があります。

サイレントインストールに管理者権限は必要ですか?

すべてのユーザー向けにビルドしたインストーラーの場合のみ必要です。ユーザーごとのインストーラーは昇格なしでサイレント実行できるため、ユーザーが管理者でない管理対象ノート PC で役立ちます。

アンインストーラーはどこにありますか?

インストールフォルダー内の unins000.exe です。同じ /S スイッチでサイレントアンインストールできます。

関連ガイド