In diesem Blog-Beitrag möchte ich die Fehlermeldung "Systemeigener Host für Skriptdiagnose funktioniert nicht mehr", die unter Windows auftreten kann, aufgreifen.
Anzeige
Das Problem: Absturz des Programms sdiagnhost.exe
Der Fehler ist recht schnell beschrieben: Windows-Anwender bekommen plötzlich die Fehlermeldung "Systemeigener Host für Skriptdiagnose funktioniert nicht mehr" in einem Dialogfeld angezeigt. Hier ist ein Screenshot des betreffenden Dialogfelds zu sehen.
Die Meldung wird von einem Absturz des Programms sdiagnhost.exe ausgelöst. Etwas verwirrend der Hinweis, dass man benachrichtigt werde, wenn eine Lösung verfügbar sei. Manche Anwender warten noch heute ergebnislos auf diese Benachrichtigung. Der Fehler tritt nicht einmal so selten auf, wie auch folgende Fundstellen im Internet zeigen.
Anfrage in MS-Forum für Windows 8.1
Anfrage im MS-Forum für Windows 7
Anfrage bei Dr. Windows für Windows 7
Anfrage bei MS-Forum für Windows 7 (englisch)
Anzeige
Was tut das Programms sdiagnhost.exe?
Das Programm wird bei der Windows-Problembehandlung aufgerufen und führt eine Diagnose über Scriptanweisungen aus. Probleme, die nicht gelöst werden können, soll das Programm an Microsoft melden. Problem ist aber, dass das Programm bei manchen Systemen plötzlich abstürzt. Man kann dann in der Ereignisanzeige nachsehen und erhält ggf. weitere Informationen, welches von sdiagnhost.exe aufgerufene Modul den Absturz verursacht hat und welche Fehlerursache genau vorliegt. Hier ist ein Screenshot eines entsprechenden Ereigniseintrags zu sehen.
In obigem Fall wurde sdiagnhost.exe durch einen verweigerten Zugriff (Fehler 0xc0000005) ausgelöst. Weiterhin wird noch angegeben dass das Modul clr.dll beteiligt sei. Hierbei handelt es sich um die Common Language Runtime des .NET Framework. In diesem Fall ist das .NET Framework wohl beschädigt bzw. es fehlen die Zugriffsrechte, um auf die CLR zuzugreifen.
Ursachen für den Fehler
Fehlermeldung "Systemeigener Host für Skriptdiagnose funktioniert nicht mehr" kann verschiedene Ursachen haben (siehe auch).
- Durch einen Viren- oder Malwarebefall wurden Dateien wie sdiagnhost.exe oder vom Host für Scriptdiagnose aufgerufene DLLs ausgetauscht und sind fehlerhaft. Daher sollte das System durch einen aktuellen Virenscanner auf den Befall durch Schadsoftware überprüft werden. Hierzu kann man ggf. das Avira Rescue System, den Microsoft Safety Scanner oder andere Produkte von einem USB-Stick oder einer CD ausführen.
- Fremdvirenscanner oder andere Fremdsoftware verhindert den Zugriff auf sdiagnhost.exe oder verwendete Systemkomponenten. Hier hilft eventuell eine testweise Deinstallation der Sicherheitssoftware, wobei ein Clean Tool des betreffenden Herstellers zur Systembereinigung im Nachgang an die Deinstallation auszuführen ist.
- Ein beschädigtes Windows oder eine defekte Registrierung (z.B. durch Optimierungstools) verursachen die Fehlfunktion mit einem Absturz von sdiagnhost.exe. Eine defekte Registrierung lässt sich nicht reparieren. Ob Windows beschädigt ist, kann mit dem Programm System File Checker ermittelt werden. Die Vorgehensweise ist im Artikel System auf beschädigte Systemdateien zu prüfen (Windows 7) und in Windows 8: Komponentenstore reparieren (Windows 8/8.1) beschrieben.
Werden bei der Windows-Prüfung beschädigte Dateien gefunden, die nicht durch sfc repariert werden können, muss Windows neu installiert werden. Sofern Installationsdatenträger vorhanden ist, kann auch eine Reparatur durch ein Inplace Upgrade versucht werden. Diese Reparaturinstallation ist für Windows 7 im Beitrag Windows 7 Reparaturinstallation: Windows 7 Inplace Upgrade beschrieben. Für Windows 8 ist das z.B. im Beitrag Windows 8.1- 8 Reparatur mit einem Inplace Upgrade thematisiert.
Um sicherzustellen, dass nicht installierte Fremdsoftware für das Problem verantwortlich sind, empfiehlt sich auch ein Test mit einem Windows Start im abgesicherten Modus. Für Windows 7 hat Microsoft die Schritte im Beitrag Starten des Computers im abgesicherten Modus beschrieben. Für Windows 8/8.1 findet sich die Beschreibung im Beitrag In den abgesicherten Modus von Windows 8 starten. Funktioniert Windows danach, ohne dass sdiagnhost.exe abstürzt, verursacht eine Fremdkomponente das Problem. In diesem Fall lässt sich ggf. gemäß dem Artikel Problemdiagnose mit msconfig vorgehen, um das verursachende Programm zu finden. In diesem Beitrag war vermutlich das Uniblue Registry Boost-Programm die Ursache.
Für den Fehler im Zusammenhang mit der CLR hat Microsoft einen Hotfix für das .NET Framework herausgegeben.
Anzeige
Die Vorgehensweise bzw. Fehlersuche bei Windows 10 ist ähnlich, oder gibt es da eine andere Vorgehensweise?
Sollte genau so gehen.