web-dev-qa-db-ja.com

.msiファイルとsetup.exeファイルの具体的な違いは何ですか?

よく検索しましたが、すべて推測された答えです。正確な答えを見つけるのを手伝ってください。

169
Babu

MSIはWindowsインストーラーデータベースです。 Windowsインストーラー(Windowsと共にインストールされるサービス)は、これを使用してシステムにソフトウェアをインストールします(ファイルのコピー、レジストリ値の設定など)。

Setup.exeは、ブートストラップまたは非msiインストーラーのいずれかです。非msiインストーラーは、それ自体からインストールリソースを抽出し、インストールを直接管理します。ブートストラップには、個々のファイルの代わりにMSIが含まれます。この場合、setup.exeはWindowsインストーラーを呼び出してMSIをインストールします。

setup.exeを使用したい場合があるいくつかの理由:

  • Windowsインストーラーでは、一度に1つのMSIのみをインストールできます。これは、MSIに他のMSI(たとえば、.NETフレームワークやC++ランタイムなどの依存関係)をインストールさせることが難しいことを意味します。 setup.exeはMSIではないため、複数のMSIを順番にインストールするために使用できます。
  • インストールの管理方法をより正確に制御したい場合があります。 MSIには、インストール、アップグレード、アンインストールなど、インストールの管理方法に関する非常に具体的なルールがあります。 setup.exeは、ソフトウェア構成プロセスを完全に制御します。これはreallyに多くの作業があるため追加のコントロールが必要な場合にのみ行う必要があります。
203
Kevin Kibler

.msiファイルは、WindowsインストーラーランタイムのないWindowsインストーラーファイルです。setup.exeは、実行可能なプログラム(おそらく、コンピューターにインストールするもの)にすることができます。

11
thbusch

MSIは、実行中のシステムにプログラムをインストールするインストーラーファイルです。

Setup.exeは、msiファイルをリソースの1つとして持つアプリケーション(実行可能ファイル)です。 Setup.exeを実行すると、msi(インストーラー)が実行され、アプリケーションがシステムに書き込まれます。

編集(コメントで提案されているように):セットアップ実行可能ファイルは、必ずしも内部でMSIリソースを持っているとは限りません

6
The Godfather