2013-05-17 2 views
8

Es gibt viele unvollständige Fragen und Antworten zum Herunterladen und Installieren von .NET Framework (s), wenn sie nicht verfügbar sind, aber keine vollständiger Code scheint im Internet verfügbar zu sein.Komplettes WiX-Beispiel * .wxs zum Herunterladen und Installieren einer bestimmten Version von .NET Framework, wenn es nicht verfügbar ist

Können Sie einen minimalen kompilierbaren Code oder einen Link zu einem eindeutigen Beispiel bereitstellen, das eine setup.exe/MSI generiert? Ich glaube nicht, dass sich RTFM auf diese Frage bezieht, da MSI- und Bootstrap-Installer viele Idiosynkrasien haben, die nicht leicht absetzbar sind.

+3

Downvotes ohne Kommentare sind nicht wirklich hilfreich. –

+0

Setup Entwicklung ist Entwicklung. Es ist schlecht, jemanden zu bitten, deine Arbeit für dich zu tun. Wenn Sie möchten, dass es einfach ist, verwenden Sie InstallShield. Sie klicken nur auf das Kontrollkästchen .NET X und wählen dann Download aus dem Internet. Wenn es funktioniert, großartig. Wenn dies nicht der Fall ist, besteht immer noch die gleiche Komplexität unter den Deckungen. –

+4

Ich stimme nur mit Ihnen überein, wenn jemand ein lurker ist. Obwohl Setup-Bereitstellung Entwicklung ist, ist in Bezug auf Community-Sharing auf der Unterseite. Ihre Lösung ist nicht das, wonach ich gefragt habe. Ich suche das im Zusammenhang mit WiX. Es ist trivial, es in einem Visual Studio-Projekt zu tun.Und wenn ich keine Antwort bekomme, werde ich die Zeit nutzen, um es selbst zu lösen und es mit allen zu teilen. –

Antwort

8

Hinweis, diese Information ist vollständig im Handbuch verfügbar. Es kann in den folgenden Orten mit Beispielen zu finden:

How To: Install the .NET Framework Using Burn

How To: Check for .NET Framework versions

WixNetfxExtension

That being said

WiX verwenden, können Sie nicht ein MSI generieren zu installieren. Netz [X]. Sie können es jedoch verwenden, um eine Bootstrapped-Installer-Programmdatei zu generieren.

Zum Glück, einschließlich der .Net-Installer ist trivial einfach in einem WiX-Bundle-Projekt. Fügen Sie einfach einen Verweis auf die WixNetFxExtension.dll (in sein sollte "[Wix Install location] \ bin") in Ihrem Paket enthalten Projekt, und dann sind die folgenden in Ihrem <Chain>:

<PackageGroupRef id="[.Net package]" /> 

wo [.Net package] ist:

  • NetFx40Web
  • NetFx40Redist
  • NetFx40ClientWeb
  • NetFx40ClientRedist
  • NetFx45Web
  • NetFx45Redist

Zum Beispiel kann ein Bündel, das auf .NET 4.5 Web Installer enthält:

<Bundle Name="E.G." Version="1.0.0.0" Manufacturer="Me" UpgradeCode="[Guid]"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/> 
    <Chain> 
     <PackageGroupRef Id="NetFx45Web" /> 
     <MsiPackage SourceFile="$(var.ExampleInstaller.TargetPath)" /> 
    </Chain> 
</Bundle> 

Und wenn Sie die Redist-Pakete verwenden, können Sie laufen das kompilierte Installationsprogramm mit -layout, um die Dateien herunterzuladen, so dass sie auf eine CD/DVD (mit der Standard-Bootstrapper-Anwendung, benutzerdefinierte Bootstrapper-Anwendungen Mai oder kann verbrannt werden können) haben keine ähnliche Funktionalität).

+0

Funktioniert diese Lösung, um .NET Framework 3.5 unter Windows 8 zu aktivieren, anstatt es aus dem Internet herunterzuladen? Wie lautet der Name des Pakets dafür ODER gibt es für diesen Fall eine WiX-Unterstützung? Vielen Dank. –

+1

Von dem, was ich gefunden habe, nein. Wenn .Net 3.5 bereits installiert und nicht aktiviert ist, glaube ich nicht, dass es eine einfache Möglichkeit gibt, es von WiX aus zu aktivieren. Sie könnten die Registry-Einstellungen finden, denen es entspricht und mit ihnen herumhantieren, aber das kann ... nun ... chaotisch. Für _installing_ .Net 3.5, siehe [diese Frage] (http://stackoverflow.com/questions/12628922/using-wix3-6-to-install-net-framework-3-5-sp1-with-burn) – XGundam05

+0

Can Sie zeigen mir in die Richtung, wie man das '-layout' Argument verwendet? Ich habe nach Ihrer Indikation gesucht, kann aber keine Dokumentation oder Beispiele dafür finden. –

Verwandte Themen