Installation von .Net 3.5 unter Windows 2012 R2

13

Daher versuche ich, .NET 3.5 auf einem Windows 2012 R2-Server zu installieren. Ich habe über das Add Feature versucht und über DISM schlagen beide fehl.

Beim Versuch über die GUI "Features hinzufügen" verwende ich den Befehl "Alternativen Pfad angeben". Dies schlägt fehl mit dem Fehler "Installation einer oder mehrerer Rollen, Rollendienste oder Features fehlgeschlagen".

Wenn ich über eine Elevated PowerShell versuche, DISM zu verwenden, verwende ich den folgenden Befehl.

dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs 

Das scheitert mit

Fehler: 0x800f0906 Die Quelldateien konnten nicht heruntergeladen werden. Verwenden Sie die Option "source", um den Speicherort der Dateien anzugeben, die zum Wiederherstellen der Funktion erforderlich sind. Weitere Informationen zum Angeben eines Quellverzeichnisses finden Sie unter http://go.microsoft.com/fwlink/?LinkId=243077

Die DISM-Protokolldatei befindet sich unter C: \ Windows \ Logs \ DISM \ dism.log

Ich habe die oben aufgeführte KB (243077) befolgt, um den Speicherort der Gruppenrichtlinie für den SXS-Ordner festzulegen. Neustart und immer noch der gleiche Fehler. Das DSIM-Protokoll zeigt Folgendes

Fehler beim Verarbeiten des Befehls enable-feature. - CPackageManagerCLIHandler :: ExecuteCmdLine (hr: 0x800f0906)

Ein kurzer Blick auf Google zeigt, dass viele Leute Probleme damit haben und dass Sie KB2966826 und KB2966828 deinstallieren sollten, die auf diesem Server nicht installiert sind.

Ich habe auch das Offline-.Net-Installationsprogramm ausprobiert und es besagt, dass ich es über Windows-Funktionen hinzufügen muss. Alle Befehle wurden als Administrator und über eine Eingabeaufforderung mit erhöhten Rechten ausgeführt.

Während ich dies schreibe, habe ich die "Ähnliche Fragen" gefunden und mir angesehen , dass .net 3.5 auf Windows Server 2012 nicht installiert werden kann

Laufen

dism.exe /online /enable-feature /featurename:NetFX3 /all

Erzeugte den gleichen Fehler wie oben.

Zapto
quelle
Wenn jemand diesen Server bereits verwaltet hat, wird er diese Funktion möglicherweise entfernen, indem er die Binärdateien aus dem Betriebssystem entfernt. 2012 können Sie jetzt nicht benötigte Dateien für Rollen entfernen, die Sie nicht installieren möchten. Aus diesem Grund werden Sie aufgefordert, einen alternativen Pfad zu den Setup-Dateien anzugeben. Führen Sie eine Powershell-Suche für Ihren Befehl durch und erfahren Sie, wie Sie diesen alternativen Pfad angeben.
Jon
Wenn Sie KB2919355 (Update 1) installiert haben, sollten Sie Quelldateien verwenden, in denen KB2919355 integriert ist. Nur so hat es bei mir funktioniert.
Peter Hahndorf
Haben Sie zusätzliche MUI-Pakete installiert?
magicandre1981
@ magicandre1981 Nein MUI, Dies ist eine Neuinstallation von Windows. Wir arbeiten mit 1 App pro Server (virtuell). Ich werde Ihre Vorschläge versuchen.
Zapto
Verwenden Sie WSUS? In der Gruppenrichtlinie können Sie eine Einstellung festlegen, die Windows anweist, in WSUS nicht nach diesen Dateien zu suchen, da dies keine Installationsquelle sein kann.
Briantist

Antworten:

13

Der Befehl, mit dem ich .NET Framework 3.5 unter Windows 8.1 und Server 2012 R2 installiere, lautet:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs

Wobei D: \ das eingebundene ISO- oder DVD-Laufwerk ist. Der einzige Unterschied zu deinem ist der / LimitAccess , aber ich glaube, das ist der wichtige Teil, da er verhindert, dass er versucht, Windows Update oder WSUS zu kontaktieren. Aus irgendeinem Grund ist dieser Aspekt (Kontaktaufnahme mit Windows Update) für .NET Framework 3.5 unter Windows 8 / 8.1 und Server 2012 / 2012R2 völlig fehlerhaft und schlägt immer fehl.

Siehe auch: http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx

Joshua McKinnon
quelle
viel einfacher als serverfault.com/a/633171/157373
Jason Pyeron
6

Ich hatte das gleiche Problem, als ich die Windows-Installationsdiskette anbrachte oder die physische DVD verwendete. Ich habe es folgendermaßen behoben:

  1. Erstellen Sie einen Ordner unter root (zum Beispiel C: \ NetFx3)
  2. Kopieren Sie die Datei microsoft-windows-netfx3-ondemand-package.cab von einer Windows-Installationsdiskette. \ Sources \ sxs in den Ordner C: \ NetFx3
  3. Eingabeaufforderung als Administrator
  4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
  5. Der Textfortschrittsbalken zeigt nach Abschluss 100% an und zeigt die Meldung "Der Vorgang wurde erfolgreich abgeschlossen" an.

Aus irgendeinem Grund zeigt mein optisches Laufwerk die Dateien auf der Festplatte an, aber das DISM mag es nicht, aber das Kopieren der Dateien nach C: scheint funktioniert zu haben.

Peter
quelle
1

Keine der oben genannten Methoden hat bei mir funktioniert. Es stellte sich heraus, dass ich einen WSUS-Server konfiguriert hatte. Ich konnte es nur so installieren

1) Regedit

2) Gehen Sie zu Computer-> HKEY_LOCAL_MACHINE-> SOFTWARE-> Richtlinien-> Microsoft-> ​​Windows-> WindowsUpdate

3) Notieren Sie sich die Werte der beiden Schlüssel: WUServer und WUStatusServer

4) Diese Schlüssel wurden gelöscht / umbenannt

5) WindowsUpdate gestoppt und gestartet

6) Die .Net3.5-Funktion wurde hinzugefügt

7) Legen Sie die Schlüssel zurück und starten Sie WindowsUpdate neu.

Ich hoffe, es hilft

Formica
quelle
1
Beachten Sie, dass Sie die Registrierungsschlüssel umbenennen können, anstatt sie zu löschen.
Matthew Wetmore
Guter Punkt! Ich habe versucht, sie zu löschen, aber das hat nicht funktioniert. Hinzugefügt in Ihrem Vorschlag
Formica
1

Die Lösung für mich war eine Kombination dieser Antworten. Ich war auf einem Computer mit Windows Server 2012 R2.

Ich habe versucht, die Tatsache zu umgehen, dass ich keine ISO des Betriebssystems zur Hand hatte. Konnte es aber nicht zum Laufen bringen. Also musste ich eine ISO für Windows Server 2012 R2 finden.

1.) Starten Sie den lokalen Gruppenrichtlinien-Editor oder die Gruppenrichtlinien-Verwaltungskonsole (WIN + R und geben Sie gpedit.msc ein).

2.) Erweitern Sie Computerkonfiguration, erweitern Sie Administrative Vorlagen, und wählen Sie dann System aus.

3.) Öffnen Sie die Einstellung "Einstellungen für optionale Komponenteninstallation und Komponentenreparatur-Gruppenrichtlinie festlegen" und wählen Sie dann Aktiviert aus.

4.) Aktivieren Sie das Kontrollkästchen "Windows Update direkt kontaktieren, um Reparaturinhalte anstelle von Windows Server Update Services (WSUS) herunterzuladen". Klicken Sie auf Übernehmen und dann auf OK.

wsus einstellungen

5.) Laden Sie eine ISO des Betriebssystems herunter und hängen Sie das Image ein. Ich habe eine hier heruntergeladen: https://www.technig.com/download-windows-server-2012-r2-essentials-iso-file/

* Hinweis: Es ist eine 3GB-Datei.

6.) Öffne eine erhöhte Powershell und laufe:

DISM / Online / Enable-Feature / Funktionsname: NetFx3 / All / LimitAccess / Quelle: E: \ sources \ sxs

* Hinweis: In diesem Fall wurde die ISO auf das Laufwerk "E: \" gemountet.

Installieren Sie Net 3.5 mit Powershell

* Dieser Thread war ein Lebensretter. Vielen Dank an alle Mitwirkenden, insbesondere an @Joshua McKinnon!

Guy Clark Rimel
quelle
0

Wenn der Befehl DISM den vom Schalter / Source angegebenen Datenträger überspringt und online nach den Dateien sucht, bedeutet dies, dass die Quelldateien auf dem angegebenen Datenträger entweder beschädigt sind oder für Ihren Server nicht zutreffen (Versionskonflikt).

Der Fehlercode 0x800f0906 belegt dieses Verhalten, wie von Microsoft dokumentiert: https://technet.microsoft.com/en-us/library/dn482067.aspx

Die beste Möglichkeit, dieses Problem zu lösen, besteht darin, Folgendes zu tun:

  1. Ändern Sie das Medium, das Sie verwenden, und laden Sie es nach Möglichkeit erneut herunter.
  2. Präsentieren Sie die Medien auf unterschiedliche Weise. Wenn es sich um eine VM handelt, hängen Sie eine ISO an. Wenn es physisch ist, brenne es auf eine DVD. Wenn beide Dateien vorhanden sind, kopieren Sie sie auf eine lokale Festplatte. Wenn dies fehlschlägt, versuchen Sie es mit einem freigegebenen Ordner.
  3. Wenn all das fehlschlägt, habe ich gelesen, dass Sie WSUS verwenden. Versuchen Sie, WSUS mit einem "Update Source" -Pfad zu konfigurieren, in dem Sie den Ordner sxs in einen freigegebenen Ordner kopiert haben. Die Server in Ihrem Netzwerk verwenden diesen Ordner als Quelle Zum Installieren von Windows-Komponenten: https://technet.microsoft.com/en-us/library/dn482065.aspx
  4. Wenn die Verwendung von WSUS aus irgendeinem Grund nicht möglich ist, entfernen Sie das Gruppenrichtlinienobjekt vom Server und stellen Sie sicher, dass die Einstellungen nicht zwischengespeichert werden, indem Sie " gpupdate / sync / force " ausführen. Versuchen Sie anschließend, die Online-Installation über das Internet mithilfe des Befehls " DISM / Online / Enable-Feature / FeatureName: NetFx3 / All "

Wenn all dies fehlschlägt, empfehle ich dringend, dass Sie die DISM-Wartungsprotokolle bereitstellen, um weitere Fehlerbehebungen durchführen zu können. In dieser Phase würde ich mich jedoch mehr lehnen, um einen vollständigen Server-Neuaufbau durchzuführen.

Noor Khaldi
quelle
Das ist fast richtig, irgendwie. Durch einfaches Entfernen der GPO-Einstellungen in Schritt 4, dh durch Festlegen von "Nicht konfiguriert", kehren Sie zu Schritt 2 zurück. Setzen Sie die Richtlinie auf "Aktiviert" und aktivieren Sie das Kontrollkästchen "Windows Update direkt kontaktieren, um die Reparatur herunterzuladen" "Inhalt anstelle von Windows Server Update Services (WSUS)" ermöglicht das Abrufen des Befehls DISM aus dem Internet. Die Option / Online bedeutet nicht "Abrufen aus dem Internet", sondern "Warten eines laufenden [oder Online-] Computers". #documentation
austinian
Ja, ich habe das Internet für das Update als letzten Ausweg verwendet. Ich wollte sicherstellen, dass er alle lokalen Ressourcen im LAN verwenden kann, um die Installation zu beschleunigen, ohne sie aus dem Internet herunterzuladen. Ich kenne auch die DISM-Schalter. / Online bedeutet "Gibt an, dass die Aktion auf dem aktuell ausgeführten Betriebssystem ausgeführt werden soll" technet.microsoft.com/en-us/library/hh825079.aspx
Noor Khaldi
Okay, aber der Befehl überprüft das Internet nicht, wenn ein Intranet-Speicherort für Windows Update definiert ist (z. B. ein WSUS-Server). Es wird dort überprüft, sofern Sie das Gruppenrichtlinienobjekt in Schritt 3 nicht mit der Einstellung Windows Update direkt kontaktieren aktiviert haben , um Reparaturinhalte herunterzuladen, anstatt Windows Server Update Services (WSUS) zu aktivieren.
Austin
0

Ihr DISM-Befehl findet die erforderlichen Ressourcen nicht, da er "online" nach der Quelle sucht. Windows 6.2+ überprüft (standardmäßig) nur beim Update-Quellserver, ob eine Update-Quelle für den Windows Update-Dienst angegeben ist.

Wenn Sie Ihren Update-Quellserver (normalerweise WSUS) nicht als Quelle für die Reparatur / Installation von Komponenten einrichten möchten, können Sie die folgende Gruppenrichtlinie aktivieren:

Computerkonfiguration \ Administrative Vorlagen \ System

Geben Sie Einstellungen für die optionale Installation und Reparatur von Komponenten an

Stellen Sie sicher, dass diese Option aktiviert ist:

Wenden Sie sich direkt an Windows Update, um Reparaturinhalte anstelle von Windows Server Update Services (WSUS) herunterzuladen.

austinian
quelle
0

Stellen Sie sicher, dass Ihre Sources-Medien absolut mit Ihrer Windows-Version übereinstimmen.

Ich habe einen halben Tag damit verbracht, mit Server 2012 ISO .NET35 auf Server 2012 R2 zu installieren. Sobald die Quelle korrekt ist, funktioniert der Befehl DISM (aus dieser Antwort ) einwandfrei.

alex.z
quelle
0

Ich hatte genau das gleiche Problem. Meine Lösung bestand darin, den Server aus Active Directory zu entfernen, .NET 3.5 zu installieren und dann wieder zu AD hinzuzufügen. Ich bin mir sicher, dass es mit WSUS zu tun hat, aber das hat es für uns gelöst. Wir stellen nur sicher, dass wir 3.5 auf allen Servern installieren, bevor wir der Domain hinzufügen.

Chris Satola
quelle
0

Es gibt viele Dinge im Internet und das meiste davon wurde in den Antworten hier zusammengefasst. Wir haben alles versucht und nichts hat funktioniert. Selbst wenn auf verschiedene Kopien des sxs-Ordners gezeigt wird, wird dennoch eine Variation des Fehlers "Quelldateien nicht gefunden" angezeigt.

Ich habe es schließlich auf eine Freigabe des Ordners "winsxs" auf einem anderen vollständig gepatchten Server mit .net 3.5 (c: \ windows \ winsxs) gezeigt und es hat funktioniert:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\\otherserver\winsxs

Meine Theorie ist, dass der Installationsprozess nach Quelldateien gesucht hat, die mit den aktuellen KBs auf dem Server übereinstimmen. Ich weiß, dass es andere Artikel gibt, die auf die Entfernung von zwei bestimmten KBs hinweisen, aber diese sind in unserer Liste der installierten Patches nicht aufgetaucht.

Beachten Sie auch, dass das Hinzufügen / Entfernen von Funktionen mit dieser Freigabe nicht funktioniert hat. Ich musste DISM verwenden.

b_levitt
quelle