Previously I've used to Visual Studio 2008 setup.bin to generate a bootstrapper. I had some issues with it which were difficult to resolve and turned to dotNetInstaller. One great thing with the VS 2008 generated bootstrapper, was that I was able to control the download location for the .NET framework. By using the MSBuild task I could specify the 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\" />
Here I'm able to use the ComponentsLocation="Relative" and the bootstrapper would download from our own web server - which is what I want. When I no longer have the VS 2008 bootstrapper, I would like to have the same feature. The new boostrapper downloads the dotNetFx35setup.exe from a defined server, but the problem is that this ".NET bootstrapper" connects to Microsoft's servers for downloading the needed packages. Trying to run the following command:
dotNetFx35setup.exe /?
did not show any options to control the download location. The web server will contain the package structure which the Windows SDK (v6.0A) has within the Bootstrapper\Packages directory. The structure looks like this:
Packages
DotNetFX
DotNetFX30
DotNetFX35
DotNetFx35Client
DotNetFx35SP1
.....
When I state a dependency to the .NET Framework 3.5, the DotNetFX35 directory structure gets copied into the bin/Debug directory. I've copied this directory onto the web server and it looks like this:
DotNetFX35
dotNetFX20
dotNetFX30
dotNetFX35
x64
netfx35_x64.exe
x86
netfx35_x86.exe
dotNetMSP
dotNetFx35setup.exe
The other directories contains mainly MSI, MSP and MSU files. So any pointers on how to control downloading of the .NET framework. Shouldn't I use the dotNetFx35setup.exe file? If not - which should I use?