注意:この記事では.NET Framework 2.0までについてのみ記述しています。
これはTipというより、「解剖」という感じでしょうか。
.NET Framework再頒布可能パッケージはVersion 1.0が「dotnetredist.exe」、1.1が「dotnetfx.exe」というファイル名でマイクロソフトのサイトからダウンロードできます。
これらのファイルはCabの自己展開書庫ですので、アーカイバで展開することができます。実際に展開してみると、次のようなファイルが作成されます。
・.NET Framework 1.1再頒布可能パッケージ(dotnetfx.exe)を展開した時に作成されるファイル
ファイル名 | サイズ(バイト) | 製品バージョン |
---|---|---|
install.exe | 98,304 | 1.1.4322.573 |
InstMsi.exe | 1,707,856 | 2.0.2600.1 |
InstMsiW.exe | 1,821,008 | 2.0.2600.0 |
netfx.msi | 5,942,272 | |
netfx1.cab | 14,638,532 |
・.NET Framework 1.0再頒布可能パッケージ(dotnetredist.exe)を展開した時に作成されるファイル
ファイル名 | サイズ(バイト) | 製品バージョン |
---|---|---|
dotnetfx.exe | 22,702,664 | 1.0.3705.15 |
・dotnetredist.exe内のdotnetfx.exeを展開した時に作成されるファイル
ファイル名 | サイズ(バイト) | 製品バージョン |
---|---|---|
install.exe | 98,304 | 1.0.3705.0 |
InstMsi.exe | 1,707,856 | 2.0.2600.1 |
InstMsiW.exe | 1,821,008 | 2.0.2600.0 |
netfx.msi | 5,942,272 | |
netfx1.cab | 13,754,653 |
この内、InstMsi.exeとInstMsiW.exeはWindows Installer 2.0再頒布可能パッケージです。よって、dotnetfx.exeにはWindows Installer 2.0再頒布可能パッケージが含まれていることが分かります。(現在マイクロソフトからダウンロードできるWindows Installer 2.0 Redistributableファイルの製品バージョンは2.0.2600.2ですので、同じではありません。)
dotnetfx.exeを実行すると、ファイルを展開し、install.exeを実行します。install.exeはコンピュータにWindows Installer 2.0以上がインストールされているか調べ、されていなければ、InstMsi.exeまたはInstMsiW.exeにより、Windows Installer 2.0をインストールします。その後、netfx.msiを実行して.NET Frameworkをインストールします。
以上から、.NET FrameworkはMSIファイルによりインストールされ、またdotnetfx.exeとWindows Installer 2.0以前の再頒布可能パッケージを同時に配布するのは意味がないということが分かります。
.NET Framework 2.0再頒布可能パッケージの中身は、1.1とは大きく異なります。2.0の再頒布可能パッケージには、Windows Installerの再頒布可能パッケージが含まれていません。しかし、install.exeがnetfx.msiを実行してインストールする点は同じです。
(この記事は、「.NETプログラミング研究」の第55号で紹介したものを基にしています。)
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。