Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between NetFx45WebLink and NetFx45RedistLink

I used WiX 3.7 to write a bootstrapper which installs .net 4.5 first and then my application's MSI:

<Chain>
  <PackageGroupRef Id="NetFx45Redist"/>
  <MsiPackage Id="MainAppPackage"
              After="NetFx45Redist"
              SourceFile="..\bin\Debug\MyApp.msi"/>
</Chain>

The WiX documentation says that NetFx45Redist is a standalone setup while the NetFx45Web is a web setup. After I built the bootstrapper with Id set to NetFx45Redist it had the same size compared to when I build it with NetFx45Web Id specified. I was curious so I downloaded the WiX sources (v3.7). I was surprised to see that there was little difference between the two PackageGroup elements.

The DownloadUrl for NetFx45Web is http://go.microsoft.com/fwlink/?LinkId=225704, while the one for NetFx45Redist is http://go.microsoft.com/fwlink/?LinkId=225702. According to the RemotePayload\@Size attribute NetFx45Web is 1005568 bytes and NetFx45Redist is 50352408 bytes.

I expected that NetFx45Redist will include the .net 4.5 setup in my bootstrapper and no download will be required. I see that's wrong. Which PackageGroup should I use then and what is the difference between the 2 downloaded .net 4.5 installations?

like image 926
Ceco Avatar asked Jun 19 '13 12:06

Ceco


1 Answers

Both package groups are authored to download the files from Microsoft. Both provide full setups of Microsoft .NET 4.0 frameworks. The smaller one is a bootstrapper that then downloads just the pieces the system is missing. The larger one has all the pieces any system might need.

It is a bit surprising that WixNetFxExtension doesn't offer a non-download package group. But, since you have already peeked into the NetFx4.5.wxs source code, it should be a simple matter to copy the attributes that you want into your own package group.

EDIT:

I should also point that a bootstrapper takes command-line arguments as described here. -layout dvd would download packages to a folder named dvd, which can be used for off-line installation. (Obviously, NetFx45Web wouldn't be appropriate for that.)

like image 60
Tom Blodget Avatar answered Nov 01 '22 15:11

Tom Blodget