Вопрос

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?

Это было полезно?

Решение

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.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top