本文へスキップ

MSIとEXEインストーラーの違い:Windowsアプリはどちらで配布すべきか

MSIパッケージとSetup.exeの本当の違い、IT部門が本当にMSIを必要とするケース、MSIXの位置づけ、そしてほとんどのデスクトップアプリがEXEで配布される理由を解説します。

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

どちらも最終的にはプログラムがインストールされるので、選択は見た目だけの問題に思えます。実際はそうではありませんが、インストーラーツールのベンダーが言うほど大きな違いでもありません。ここでは、それぞれの形式が何なのか、違いがどこで効いてくるのか、そして自分のアプリでどう決めればよいかを説明します。

MSIとは

.msi ファイルはプログラムではなくデータベースです。ファイル、レジストリキー、ショートカット、機能をテーブルで記述し、Windows Installer サービス(msiexec)がそのデータベースを読み取ってインストールを実行します。この設計がMSIに独特の性質を与えています。

  • トランザクション型のインストール。 途中で失敗すると、Windows Installer がロールバックします。
  • 修復。 破損したインストールを元のパッケージから修復できます。
  • 標準化されたスイッチ。 msiexec /i app.msi /qn は、これまでに作られたすべてのMSIをサイレントインストールします。/x でアンインストールします。
  • グループポリシーによる展開。 Active Directory でMSIパッケージをコンピューターやユーザーに割り当て・公開できます。
  • ログと資産管理。 インストールは Windows Installer のデータベースに記録され、資産管理ツールがそれを読み取ります。

その代償は柔軟性のなさです。MSIには独自のスクリプト機能がないため、少しでも変わったことをしようとすると「カスタムアクション」になり、ここがMSIプロジェクトの苦労の種です。作成ツールには WiX(XML)、Advanced Installer、InstallShield があります。

EXEインストーラーとは

Setup.exe は、ファイルを内包し、作者が指示したとおりの処理を行うプログラムです。NSIS、Inno Setup、ExeTup が生成するのはこの種類です。性質は次のとおりです。

  • 自由度。 どんなウィザードの流れ、どんなロジック、どんなファイル配置でも可能です。
  • 自己完結。 Windows Installer サービスやそのルールに依存しません。
  • サイレントスイッチは標準ではなく慣習によるもの:NSIS は /S、Inno Setup は /VERYSILENT。展開ツールは一般的なものを把握しています。
  • Windows の設定からアンインストールできます。MSIが使うのと同じレジストリキーにアンインストーラーを登録するため、ユーザーには違いが分かりません。
  • Windows Installer の意味でのトランザクションや修復はありません。実際には、インストーラーを再実行すれば修復できます。

EXEの中には、MSIを内包して msiexec を代わりに実行する「ブートストラッパー」もあります。これはEXEで包んだMSIインストールであり、MSIの性質を受け継ぎます。

違いが重要になる場面

グループポリシーのソフトウェアインストールにはMSIが必要です。顧客がGPOのソフトウェアインストール機能で展開している場合、EXEでは対応できません。ただ、多くの組織は Intune、SCCM、PDQ に移行しており、これらはサイレントスイッチ付きのEXEインストーラーを問題なく実行できるので、決めつけずに確認しましょう。

リパッケージ。 企業のIT部門は、ベンダーのインストーラーを自社用のMSIにリパッケージすることがあります。クリーンでサイレント対応のEXEならこれは簡単ですが、雑なEXEでは難しくなります。

Microsoft Store にはMSIXが必要で、これは上の2つのどちらでもありません。

それ以外のすべて(コンシューマー向けソフトウェア、ツール、ゲーム、手動またはスクリプトでインストールする社内アプリ)は、圧倒的にEXEインストーラーで配布されています。VLC、7-Zip、Chrome のオンラインインストーラー、ほとんどの Electron アプリ、ほとんどのゲームはEXEです。

MSIXについて簡単に

MSIXは Microsoft の新しいパッケージ形式です。サンドボックス化され、インストールとアンインストールがクリーンで、ホストされた .appinstaller からの自動更新に対応し、Store では必須です。コード署名が(例外なく)必要で、コンテナー内で動作させるために変更が必要なアプリもあります。Store の外での普及はまだ限定的です。

決め方

  1. 顧客は特にグループポリシーのソフトウェアインストールで展開していますか? MSI。
  2. Microsoft Store が配布チャネルですか? MSIX。
  3. それ以外:EXE。IT部門向けにサイレントスイッチをドキュメント化しておきます。

ExeTup が生成するEXEインストーラーは、/S スイッチと /D= フォルダーパラメーター、Windows の設定に表示されるアンインストーラー、ファイルのプロパティに含まれるバージョン情報を備えており、3番目のケースを満たします。Intune などで展開する方法はサイレントインストールを参照してください。

よくある質問

MSIはEXEより安全ですか?

いいえ。どちらもユーザーが許可した権限で動作します。Windows とユーザーがインストーラーの作成者を確認できるのは、形式ではなくコード署名によるものです。

IT部門はEXEをサイレントで展開できますか?

はい、インストーラーのサイレントスイッチを使えば可能です。Intune、SCCM、PDQ、Chocolatey、winget はいずれもEXEインストーラーに対応しています。MSIを必須とするのは、グループポリシー自身のソフトウェアインストール機能だけです。

EXEインストーラーをMSIに変換できますか?

直接は変換できません。リパッケージツールでEXEのインストール内容をキャプチャしてMSIにするか、同じファイルから WiX や Advanced Installer でMSIを作成します。

WindowsはMSIに対して別のウィザードを表示しますか?

どちらも作者が定義したウィザードを表示します。MSIの既定のダイアログはやや古めかしく見えますが、NSIS や Inno Setup のEXEインストーラーはおなじみの Modern UI スタイルを使っています。

関連ガイド