以前は、Visual Studio2008setup.binを使用してブートストラッパーを生成していました。解決が困難な問題がいくつかあり、dotNetInstallerを使用しました。VS 2008で生成されたブートストラッパーの優れた点の1つは、.NETFrameworkのダウンロード場所を制御できたことです。MSBuildタスクを使用することで、componentsLocationを指定できます。
<GenerateBootstrapper
ApplicationFile="$(TargetFileName)" ApplicationName="MyApp"
ApplicationUrl="http://$(InstallerHost)$(DownloadUrl)"
BootstrapperItems="@(BootstrapperFile)"
CopyComponents="True" ComponentsLocation="Relative"
OutputPath="$(OutputPath)"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\" />
ここでは、ComponentsLocation = "Relative"を使用でき、ブートストラッパーは独自のWebサーバーからダウンロードします。これが私が望むものです。VS 2008ブートストラッパーがなくなったら、同じ機能を使用したいと思います。新しいブーストラッパーは、定義されたサーバーからdotNetFx35setup.exeをダウンロードしますが、問題は、この「.NETブートストラッパー」が必要なパッケージをダウンロードするためにMicrosoftのサーバーに接続することです。次のコマンドを実行しようとしています。
dotNetFx35setup.exe /?
ダウンロード場所を制御するためのオプションは表示されませんでした。Webサーバーには、Windows SDK(v6.0A)がBootstrapper\Packagesディレクトリ内に持つパッケージ構造が含まれます。構造は次のようになります。
Packages
DotNetFX
DotNetFX30
DotNetFX35
DotNetFx35Client
DotNetFx35SP1
.....
.NET Framework 3.5への依存関係を述べると、DotNetFX35ディレクトリ構造がbin/Debugディレクトリにコピーされます。このディレクトリをWebサーバーにコピーしましたが、次のようになります。
DotNetFX35
dotNetFX20
dotNetFX30
dotNetFX35
x64
netfx35_x64.exe
x86
netfx35_x86.exe
dotNetMSP
dotNetFx35setup.exe
他のディレクトリには、主にMSI、MSP、およびMSUファイルが含まれています。したがって、.NETFrameworkのダウンロードを制御する方法に関するポインタ。dotNetFx35setup.exeファイルを使用するべきではありませんか?そうでない場合-どちらを使用すればよいですか?