2013-06-19 37 views
6

verwenden ich WiX 3.7 ein Bootstrap-Programm zu schreiben, die .net 4.5 und dann MSI meiner Anwendung installiert:Was ist der Unterschied zwischen NetFx45WebLink und NetFx45RedistLink ist

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

Die WiX documentation sagen, dass NetFx45Redist eine eigenständige Einrichtung ist während der NetFx45Web ist ein Web-Setup. Nachdem ich den Bootstrapper mit der ID NetFx45Redist erstellt hatte, hatte er die gleiche Größe wie bei der Erstellung mit NetFx45Web Id angegeben. Ich war neugierig, also habe ich die WiX-Quellen (v3.7) heruntergeladen. Ich war überrascht zu sehen, dass es einen kleinen Unterschied zwischen den beiden PackageGroup Elementen gab.

Die DownloadUrl für NetFx45Webhttp://go.microsoft.com/fwlink/?LinkId=225704 ist, während der eine für NetFx45Redisthttp://go.microsoft.com/fwlink/?LinkId=225702 ist. Gemäß dem RemotePayload\@Size Attribut NetFx45Web ist 1005568 Bytes und NetFx45Redist ist 50352408 Byte.

Ich erwartete, dass NetFx45Redist das .net 4.5-Setup in meinem Bootstrapper enthalten wird und kein Download erforderlich sein wird. Ich sehe das falsch. Welchen PackageGroup soll ich dann verwenden und was ist der Unterschied zwischen den 2 heruntergeladenen .net 4.5 Installationen?

Antwort

7

Beide Paketgruppen sind zum Herunterladen der Dateien von Microsoft autorisiert. Beide bieten vollständige Setups von Microsoft .NET 4.0-Frameworks. Der kleinere ist ein Bootstrapper, der nur die Teile herunterlädt, die das System vermisst. Der größere hat alle Teile, die ein System benötigen könnte.

Es ist ein wenig überraschend, dass WixNetFxExtension keine Nicht-Download-Paketgruppe bietet. Da Sie jedoch bereits in den Quellcode NetFx4.5.wxs geblickt haben, sollte es einfach sein, die gewünschten Attribute in Ihre eigene Paketgruppe zu kopieren.

EDIT:

Ich möchte auch darauf hinweisen, dass eine Bootstrap Befehlszeilenargumente nimmt als here beschrieben. -layout dvd würde Pakete in einen Ordner namens dvd herunterladen, der für die Offline-Installation verwendet werden kann. (Offensichtlich wäre NetFx45Web dafür nicht geeignet.)

+1

Ich spielte damit ein bisschen und hier ist, was ich gefunden habe: 1) wenn der Web Installer heruntergeladen wird, nimmt es weniger Platz in Anspruch, aber während Reparaturen das gesamte .net Framework muss erneut heruntergeladen werden, wenn es fehlt 2) Wenn das Standalone-Installationsprogramm heruntergeladen wird, dauert es etwa 50 MB mehr (was sich in der Größe der Anwendung in Programmen und Funktionen widerspiegelt), aber während der Reparatur ist kein Download erforderlich. – ceco

Verwandte Themen