Bei einem frisch installierten Windows Server 2016 bekam ich letzte Woche die Fehlermeldung „Assembly konnte nicht gefunden werden (0x80073701)“ als ich versuchte die Rolle „Fileserver Resource Monitor“, bzw. „Ressourcen-Monitor für Dateiserver“ zu installieren. Windows Update spuckte die gleiche Fehlernummer aus: 0x80073701 – STATUS-SXS-ASSEMBLY-MISSING.
Das referenzierte Assembly konnte nicht gefunden werden
Die Fehlermeldung erhielt ich bei jedem Versuch eine Rolle unter Windows Server 2016 zu installieren. Egal ob über die PowerShell oder die Oberfläche des Server Managers. Ich habe auch versucht, testweise die DNS-Rolle zu installieren (siehe DNS Server einrichten), bekam aber die gleiche Meldung. Es lag also auch nicht an der ausgewählten Rolle.
Auf meiner langen Suche nach der Ursache, bzw. einer Lösung habe ich folgende Lösungsansätze durchgeführt:
1) Systemdatei-Überprüfungsprogramm
Die Überprüfung der Systemdateien geschieht über die Eingabeaufforderung. Diese muss mit administrativen Rechten („als Administrator starten“) ausgeführt werden. Durch Absetzen des Befehls „sfc /scannow“ beginnt die Anwendung sämtliche Systemdateien auf Fehler zu überprüfen. Sollten Fehler erkannt werden, versucht die Systemdatei-Überprüfung diese sofort zu reparieren. Bei vorliegenden Fehlern empfiehlt es sich, die Überprüfung solange erneut zu starten, bis keine Fehler mehr entdeckt werden.
2) Reparieren des Windows Images
Im Ordner C:\Windows\WinSxs werden alle Komponenten gespeichert, die zum Anpassen und Aktualisieren der Windows-Installation benötigt werden. Auch für die Installation von Rollen und Features und Windows Update werden Dateien aus diesem Ordner benötigt. Dieses lokale Windows Image kann mit Windows Boardmitteln auf Fehler überprüft und, sofern erforderlich, repariert werden. Die Befehle hierfür lauten:
- dism /online /cleanup-image /scanhealth
Überprüft das Windows Image auf Beschädigungen - dism /online /cleanup-image /checkhealth
Überprüft, ob das Windows-Image repariert werden muss oder ob es fehlerfrei ist
Sollte das Windows Image beschädigt sein, so lässt sich dieses über den Befehl „Dism /Online /Cleanup-Image /RestoreHealth“ reparieren. Mit dem Parameter /Source lässt sich zudem noch eine Quelle für die Reparatur angeben. Weitere Informationen zu dem Thema Reparieren von Windows Images findest Du hier: https://msdn.microsoft.com/de-de/library/hh824869.aspx.
3) Überprüfung der Datei CBS.log
In der Datei CBS.log werden sämtliche Schritte bei der Installation von Rollen und Features protokolliert. Sie liegt im Ordner C:\Windows\Logs\CBS und liefert genauere Informationen zu möglichen Fehlerquellen. In meinem Fall konnte ich über diese Datei den Fehler lokalisieren. Dort fanden sich nämlich Verweise auf Komponenten mit italienischem Sprachpaket. Da dieses Sprachpaket auf diesem Server nicht installiert war, ging ich der Sache auf den Grund und fand schließlich einen Registryschlüssel welcher auf zahlreiche italienische Sprachpakete verwies.
Im Registry Schlüssel [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect] liegen hunderte Unterschlüssel in denen letztlich die Verweise auf die tatsächlich vorhandenen Installations- und Sprachpakete gespeichert sind. Diese wiederum liegen im Ordner C:\Windows\servicing.
In meinem Fall betraf es das Paket „Microsoft-Windows-FSRM-Core-Package~31bf3856ad364e35~amd64…“. Ein Blick in den Speicherort (C:\Windows\servicing) verrät, es gibt dort kein italienisches Sprachpaket. Im entsprechenden Registry-Key gab es aber einen Verweis auf jenes nicht vorhandene Sprachpaket. Stichproben in weiteren Registry-Keys ergaben, dass es unzählige solcher Verweise gab. Wie diese dorthin kamen konnte ich nicht nachvollziehen, jedoch waren sie der Grund für das Scheitern der Installation der Rollen und Features.
Assembly konnte nicht gefunden werden
Die Lösung: Manuelles Entfernen hunderter Registrywerte. Natürlich sollte zuvor eine Sicherung des Systems oder zumindest des Registryschlüssels angefertigt werden. Sollte das System als virtuelle Maschine installiert sein, empfiehlt sich ein Snapshot, um im Falle eines Ausfalles schnell wieder auf den alten Stand zurückkehren zu können.
Damit die Werte gelöscht werden können, reicht es aus, dem Administrator vorübergehend Vollzugriff auf den Schlüssel „PackageDetect“ zu geben. Nach dem Löschen der Werte, sollte dies wieder rückgängig gemacht werden.
Nachdem ich mühsam alle Verweise auf italienische Sprachpakete entfernt hatte, ließ sich die Rolle sofort installieren. Ein Neustart war nicht nötig.
Update: Die Installation von Windows Updates funktionierte in meinem Fall erst nach der manuellen Deinstallation des Sicherheitsupdates KB3213986 und einem anschließenden Neustart des Servers. Hinweise, dass dieses Update auch der Auslöser des obigen Fehlers ist, konnte ich bislang aber nicht entdecken.
Ebenfalls interessant:
- Hyper-V Cluster mit Windows Server 2016
- Windows Server Version ändern
- Fileservermigration per Storage Migration Service
Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.
Vielen Dank für diesen Tollen Beitrag,
Ich konnte leider das .NET Fremwork 3.5 Feature nich installieren, mit der gleichen Fehlermeldung:
Assembly konnte nicht gefunden werden – 0x80073701
Bei mir wars kein italienischers, sondern ein Taiwanese Mandarin Language Pack (zh-TW) welches den Fehler verursachte.
Nachdem ich jetzt 2 Stunden nichts anderes als mich mittels Strg+f, del & enter durch die Registry gekämpft habe konnte ich .NET 3.5 erfolgreich installieren.
Hallo Ruben,
es freut mich sehr, dass mein Beitrag Dir bei Deinem Problem geholfen hat.
Auch ich bedanke mich vielmals. Ebenfalls gebeutelter Strg+f, del & enter user aufgrund eines spanischen Verweises welches die Installation vom DHCP verhinderte.
Toll geschrieben und echt hilfreich.
Vielen Dank. Freut mich, dass ich helfen konnte.
Hallo, bei unserem Server 2016 werden keine kumulativen Updates installiert. Abbruch mit dem Fehler 0x80073701.
Wie kamen Sie darauf , das Update KB3213986 zu deinstallieren, damit es dieses Problem löst? Der Serve wurde im Januar eingerichtet und das genannte Update ist auch drauf. Bevor ich das deinstalliere wollte ich gern noch weitere Quellen dazu erlesen.
Danke
Hallo René,
zu dem Zeitpunkt waren bei meiner Installation erst 3 Updates installiert. Eines davon war das KB3213986. Ob dies wirklich etwas damit zu tun hatte, kann ich bis heute nicht sagen.
Interessanterweiser ist der Fehler bei Neuinstallationen seit April/Mai 2017 nicht wieder augetreten.
Hallo René,
ich kann nun bestätigen, dass die Deinstallation des Sicherheitsupdates KB3213986 das Problem behebt.
Nach Deinstallation dieses Updates erfolgen nun die kummulativen Updates des Servers ohne Fehlermeldung.
Vielen Dank!
Hallo René,
danke für die Rückmeldung. Freut mich, dass Du das Problem damit lösen konntest.
Danke, die Registry putzen hat geholfen. Mit Hilfe von einem passenden registry editor geht das als Massenaktion erträglich, Neuaufsetzen eines Server 2016 Clusternodes mit Datacore-SAN + hyper-V wäre keine gute Alternative gewesen.
Hallo Joachim. Stimmt, das wäre wirklich eine sehr aufwendige Neuinstallation geworden. Freut mich umso mehr, dass Dir der Tipp weitergeholfen hat.
Viele Grüße
Vielen Dank für den Beitrag!
Danke, die Registry cleanen hat geholfen!! super Beitrag!
Vielen Dank, schön dass ich helfen konnte. Das Bereinigen der Registry ist zwar super nervig, aber das Ergebnis spricht ja für sich.
Danke, für den hilfreichen Artikel. Bei mir war die Situation folgende. Virtueller Windows Server 2016 Standard 14393.7336: Rolle als Druckserver ließ sich weder via Servermanager noch via Powershell installieren. Besagter Fehlercode fand sich im CBS.log der Verweis auf: Package_4121_for_KB4540670~31bf3856ad364e35~amd64~~10.0.1.4.4540670-7098_neutral und nach dem Löschen der 2 Registryeinträge kam ein weiteres fehlerhaftes Paket dazu: Package_2203_for_KB5043051~31bf3856ad364e35~amd64~~10.0.1.12 Hier habe ich ebenfalls die 2 Einträge gelöscht. Anschließend ließ sich Druckerrolle installieren. Die vorhergehenden Reparaturen(Versuche) via SFC (kein Fehler) , DISM + scanhealth (der Komponentenspeicher kann repariert werden) , DISM + restorehealth (Fehler 1734:die Datenfeldgrenzen sind unzulässig) haben nichts gebracht.