Cookies helfen bei der Bereitstellung von znilwiki. Durch die Nutzung von znilwiki erklärst du dich damit einverstanden, dass Cookies gespeichert werden. Weitere Informationen
 Aktionen

.NET 3.5 kann auf Windows Server 2012 R2 ROK Version nicht installiert werden

Aus znilwiki

Das "normale" Installationsproblem mit .NET 3.5 unter Server 2012 und Server 2012R2 (betrifft natürlich auch Windows 8 und Windows 8.1) kennen mittlerweile ja nun schon sehr viele.

Das Thema wird in diversen Foren diskutiert und bisher gibt es auch immer eine passende Lösung.

Unter Server 2012 (R2) muss man .NET 3.5 als Feature hinzufügen; und da weder in der Installationsquelle noch auf Windows Update passende Dateien dafür vorgehalten werden, muss man einen alternativen Installationspfad angeben.

Entweder im Servermanager auf der grafischen Oberfläche:
Dotnet35 image.png

Oder auf der Kommandozeile:

DISM.EXE /online /enable-feature /featurename:NetFX3 /all /LimitAccess /source:x:\sources\sxs\

Sollte die Quelle nicht verfügbar sein, bekommt man einen der Fehler "0x800F0906", "0x800F081F" oder "0x800F0907" zurück geliefert. Zu deren Behebung es auch einen sehr ausführlichen Microsoft Artikel gibt:

Microsoft KB2734782

Nun hab ich hier vor mir eine virtuelle Maschine mit Windows Server 2012 R2 ROK (Reseller Option Kit, also OEM) darin installiert. Noch keine Windows Updates installiert, keine weiteren Einstellungen vorgenommen. Nur das blanke Betriebssystem. Soll ja auch mal eine Vorlage werden. Also möglchst wenige Einstellungen schon in der Vorlage verankern.

Nun starte ich die .NET 3.5 Installation, weil das ein Feature ist, was man bei sehr vielen Installationen benötigt. Und die Installation bricht mit dem Fehler "0x800F081F" ab. "Quelldateien nicht gefunden." So ein Quatsch ... ich hab doch den Quellpfad angegeben. Also die Dateien - wie in vielen Foren beschrieben - auf die lokale Festplatte kopieren und dieses Verzeichnis als Quelle angeben. Installation noch mal starten: Fehler "0x800F081F".

Google kann mir eine ganze Zeit auch nicht wirklich weiter helfen, da sich alle nur auf das "Du musst das Verzeichnis auf die Platte kopieren" Problem beschränken - weil es wohl bei den Meisten das Problem auch behebt.

Dann wurde ich auf einen HP eigenen Artikel aufmerksam, der einen Fehler beschreibt, der bei der Installation von .NET 3.5 auf Server 2012(R2) ROK Installationen von HP auftritt. Da der Server aber Internet hat - und das ist wohl der beschriebene Fehler - konnte es das wohl auch nicht sein :(

HP Support Doc c04083516

Dann wurde ich doch noch fündig. In einem Forum gab es einen Eintrag, der sich mit der Thematik beschäftigte und der zuerst auch die Standard Fehlerbehebungen abklopft (Quelle angeben, Quelle auf Platte kopieren ...). Etwas weiter im Forenbeitrag kommt dann aber der entscheidende Hinweis auf die Ursache des Fehlers.

Bei einer HP ROK Installation (wohl auch bei allen anderen ROK Installationen) wird das System in der vorher ausgewählten Sprache installiert - der Installationsdatenträger ist immer multilingual. ZUSÄTZLICH werden dann aber die Sprachpakete für alle anderen, auf dem Datenträger vorhandenen Sprachen installiert. Und das ist scheinbar das Problem:

.NET 3.5 lässt sich nicht als Feature aktivieren/installieren, wenn zusätzliche Sprachpakete auf dem System installiert sind!

forums.mydigitallife.info

Da heißt es etwas weiter unten:

  • Installing a Windows language pack before installing the .NET Framework 3.5 will cause the .NET Framework 3.5 installation to fail. Install the .NET Framework 3.5 before installing any Windows language packs.

Aha! Also mal mit "lpksetup" überprüfen, ob bei einer ROK Installation Language Packs installiert werden:
Lpksetup001.png

Siehe da ... zwei Sprachen installiert. Also mal alle überflüssigen Language Packs deinstallieren und danach nochmal versuchen. Und was soll ich sagen. Nachdem nur noch die primäre Anzeigesprache installiert ist, kann man unter Angabe einer gültigen Installationsquelle auch .NET 3.5 aktivieren.

Danke Microsoft für diese tolle Installationroutine ;)