2013-06-19 30 views
6

użyłem WiX 3.7 napisać inicjującego, który instaluje .NET 4.5, a potem mojego aplikacji MSI:Jaka jest różnica między NetFx45WebLink i NetFx45RedistLink

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

WiX documentation mówi, że NetFx45Redist to samodzielna konfiguracja natomiast NetFx45Web to konfiguracja internetowa. Po tym, jak zbudowałem bootstrapper z identyfikatorem ustawionym na NetFx45Redist, miał on ten sam rozmiar w porównaniu do tego, kiedy zbudowałem go z podanym NetFx45Web Id. Byłem ciekawy, więc pobrałem źródła WiX (v3.7). Byłem zaskoczony widząc, że między tymi dwoma elementami jest niewielka różnica.

DownloadUrl do NetFx45Web jest http://go.microsoft.com/fwlink/?LinkId=225704, a jeden dla NetFx45Redist jest http://go.microsoft.com/fwlink/?LinkId=225702. Zgodnie z RemotePayload\@Size atrybut NetFx45Web ma 1005568 bajtów, a NetFx45Redist ma 50352408 bajtów.

Spodziewałem się, że NetFx45Redist będzie zawierał instalację .net 4.5 w moim bootstraperze i nie będzie wymagane pobieranie. Widzę, że to jest złe. Którego z nich powinienem używać wtedy i jaka jest różnica między 2 pobranymi instalacjami .net 4.5?

Odpowiedz

7

Obie grupy pakietów są tworzone w celu pobrania plików z firmy Microsoft. Oba zapewniają pełną konfigurację frameworków Microsoft .NET 4.0. Mniejszy jest bootstraperem, który pobiera tylko te części, których brakuje w systemie. Większy ma wszystkie elementy, których może potrzebować każdy system.

To jest trochę zaskakujące, że WixNetFxExtension nie oferuje grupy pakietów nie pobierających. Ale skoro już przejrzałeś kod źródłowy NetFx4.5.wxs, prostą sprawą jest skopiowanie atrybutów, które chcesz do swojej grupy pakietów.

EDIT:

Należy również wskazać, że inicjującego trwa argumentów wiersza poleceń, jak opisano here. -layout dvd pobiera pakiety do folderu o nazwie dvd, który może być używany do instalacji w trybie off-line. (Oczywiście, NetFx45Web nie byłby do tego odpowiedni).

+1

Grałem z nim trochę i oto co znalazłem: 1) po pobraniu instalatora sieciowego zajmuje on mniej miejsca, ale podczas napraw cały framework .net należy go pobrać ponownie, jeśli go brakuje 2) po pobraniu samodzielnego instalatora zajmuje około 50 MB (co znajduje odzwierciedlenie w wielkości aplikacji w programach i funkcjach), ale podczas napraw nie jest wymagane pobieranie. – ceco