SP1-Installation hängt, Error C0000034/C000009A

Der Worst-Case bei der Installation des Service Pack 1 unter Windows 7 ist der Umstand, dass das Update nach dem Neustart hängen bleibt.  Der Beitrag diskutiert Diagnose- und Lösungsmöglichkeiten.

English (by Google-Translate – not at its best, but imho helpful)


Werbung


Dieser Fehler scheint wohl einige Anwender zu treffen [1, 2, 3], die das Service Pack 1 installieren. Beim Aktualisieren der Updates bleibt der Ablauf beim Vorgang xx (steht für eine beliebige Zahl) von insgesamt 106046 stehen. Im günstigsten Fall erscheint noch die Meldung “Schwerer Fehler C0000034  beim Updatevorgang 219 von 106046” oder ähnlich. Die Zahlen wie 219 und 106046 können dabei variieren und als Fehlernummer kann auch C000009A angegeben sein. Jedenfalls fährt Windows 7 nicht mehr hoch und das System reagiert nicht mehr. Ein Neustart des Anwenders hilft auch nicht.

First Aid für Unerfahrene

Wer als nicht sonderlich erfahrener Anwender von diesem Fehler betroffen ist, hat natürlich ein Problem. Wie kommt man wieder zu einem funktionierenden Windows 7? Hier gibt es verschiedene Ansätze, die Anwendern weiter geholfen haben.

  • Versuch zu Booten und sofort die Funktionstaste F8 drücken, um das Menü der erweiterten Startoptionen aufzurufen. Dann ist im Menü der Befehl “Letzte als funktionierend bekannte Konfiguration” zu wählen, um den Start zu erzwingen [3]. Alternativ kann auch versucht werden, Windows 7 im abgesicherten Modus (ggf. nur mit Eingabeaufforderung) zu starten. Klappt dies, lassen sich die nachfolgend genannten Maßnahmen ergreifen.
  • Versuch, über die Systemwiederherstellung das Problem zu lösen (erfordert das Booten über die Windows Setup-DVD oder den Systemreparaturdatenträger – siehe folgende Abschnitte) ermöglicht in einiges Fällen zumindest auf den vorherigen Zustand zurückzukommen [2].
  • Die dritte Variante besteht darin, den Rechner mehrfach neu zu starten. Da dies durch Ausschalten des Netzschalters erfolgt, sollte die Windows-Starthilfe greifen. Anschließend eine geraume Zeit warten, bis die Updates doch durchgeführt wurden [1].

Bei diesem Fehler und der letztgenannten “Reparaturmethode” beschleicht mich das Gefühl, dass ein Teil der betroffenen Anwender zu “ungeduldig” war und das System zu früh per Ausschalter neu gestartet hat.

Was bedeutet der Fehler?

Der Fehlercode C0000034 (STATUS_OBJECT_NAME_ NOT_FOUND) bedeutet, dass eine Operation auf ein Objekt (Datei) ausgeführt werden soll, das Objekt aber nicht gefunden wird. Allerdings scheint es unterschiedliche Gründe für den Fehler zu geben (zumindest, was ich nach Auswertung einiger Fälle eruieren konnte).

Anmerkung: Zwischenzeitlich kristallisiert sich aber in vielen Fällen ein fehlerhafter Eintrag in der Datei Pending.xml als Ursache heraus. Wie dieses Problem zu beheben ist, habe ich weiter unten in einem gelben Tipp-Kasten ausgeführt.

Beispiele für Ursachen: Ich habe in diversen Beiträgen (siehe Linkliste A bis E am Artikelende) darauf hingewiesen, dass externe Virenschutzlösungen vor Installation des SP1 zu deaktivieren (besser zu deinstallieren) sind. Bei Norton, Mc Afee etc. könnten aber Installationsreste zurückbleiben und den Zugriff auf Treiber blockieren. Zudem sollte ein Removal-Tool des Herstellers angewandt werden.

Unter [5] habe ich den Fehlercode in Zusammenhang mit einem Aktivierungsproblem gefunden. Der Fehlercode C0000034 kann auch auf geschützte Treiber hindeuten. Unter [4] habe ich den Fehlercode in einem Trojaner-Board gefunden – eine doch etwas beunruhigende Info. In eine ähnliche Richtung deutet ein älterer MS-Artikel unter [6].

Neben einem Malware-Befall können auch beschädigte Systemdateien oder eine inkonsistente Registrierung der Grund sein, dass das SP1 das Handtuch wirft. Gerade TuneUp und andere Tools scheinen da überproportional beteiligt zu sein. Reste oder ein nicht deinstallierter SP1 Beta/RC sowie die RC des IE 9 scheinen auch als Ursache aufzutauchen (siehe auch Artikelende).

Zwischenzeitlich hat man bei Microsoft wohl die Ursachen für den Fehler gefunden. Unter [22] beschreibt Microsoft Mitarbeiter Daniel Melanchthon typische Szenarien: Das SP1-Update wird ausgeführt, aber die Aufforderung zum Neustart ignoriert. Stattdessen werden weitere Updates installiert. Ein ähnliches Szenario liegt vor, wenn SP1 über WSUS ausgerollt wird und gleichzeitig weitere Updates zur Installation angestoßen werden. Diese Szenarien führen dazu, dass einzelne Transaktionen des SP1-Updates nicht mehr korrekt abgeschlossen werden können (weil der Servicing Packaging Stack in einen inkonsistenten Zustand gerät) und das System nicht mehr bootet. Unter [P] beschreibe ich in einem Artikel, wie man ein wieder bootendes System in einen konsistenten Zustand bringt. Dort sind auch die Abläufe der Transaktionsverarbeitung angerissen.

First Aid: Booten mit einer Windows RE-Umgebung

Um das nicht mehr startende Windows-System inspizieren und ggf. Fehlerdiagnose sowie Fehlerbehebung zu betreiben, muss die Maschine zumindest soweit hochgefahren werden, dass ein Zugriff auf die Festplatte möglich wird. Sie benötigen dazu entweder die Windows 7 Setup-DVD oder einen Windows 7-Reparaturdatenträger. Beide Medien starten ein Windows PE (PE steht für Preinstall Environment) und bieten dann den Wechsel in eine Reparaturumgebung (Windows RE – RE steht für Repair Environment) an.

Hinweis: Einige Interna sind in meinen diversen Windows 7-Titeln für Fortgeschrittene beschrieben. Besitzer von Konsumersystemen, die über keine Windows 7 Setup-DVD verfügen und dummerweise keinen Systemreparaturdatenträger angefertigt haben, können sich diesen unter [13] ganz legal herunterladen. Unerfahrenere Anwender möchte ich auf den Beitrag unter [F] verweisen, wo die Schritte zum Booten einer Windows RE-Umgebung detaillierter beschrieben sind. Wer keine Setup-DVD besitzt, diese aber benötigt, sollte sich den Artikel unter [G] durchlesen. Dort wird beschrieben, wie man ganz legal zu einem Windows 7 Installationsmedium gelangt.

  1. Booten Sie das System mit dem Reparaturdatenträger oder der Windows 7 Setup-DVD und warten Sie, bis Windows PE gestartet ist.
  2. Wählen Sie im ersten Dialogschritt die gewünschte Sprache (hier “Deutsch”), um die korrekte Tastaturbelegung zu erreichen. Gehen Sie über die Schaltfläche Weiter zum nächsten Dialogschritt.
  3. Beim Systemreparaturdatenträger warten Sie, ob ein Betriebssystem gefunden wird  und markieren Sie dann im angezeigten Dialogfeld das oberste Optionsfeld zum Aufrufen der Reparaturkonsole.

    Systemwiederherstellungsoptionen
    Bei der Windows 7 Setup-DVD klicken Sie dagegen in der linken unteren Ecke des zweiten Dialogfelds auf den Hyperlink Computerreparaturoptionen. Danach warten Sie, bis die Reparaturversuche abgeschlossen sind und wählen ggf. das oberste Optionsfeld mit den Wiederherstellungsoptionen des Dialogfelds.

  4. Versuchen Sie über die Weiter-Schaltfläche zum Dialogfeld Systemwiederherstellungsoptionen zu gelangen (siehe [F]).

Das Dialogfeld mit der Anzeige der gefundenen Betriebssysteme enthält in beiden oben genannten Fällen zwei Optionsfelder. Das oberste Optionsfeld ermöglicht den Zugriff auf die Systemwiederherstellungsoptionen, während das untere Optionsfeld das Zurückspielen einer Systemabbildsicherung ermöglicht.

Verfügen Sie über eine Systemabbildsicherung, könnten Sie in der obigen Schrittfolge das unterste Optionsfeld wählen und das System über das Backup zurücksetzen. Für die weiteren Diagnose- und Reparaturschritte sollte aber die Funktion “Systemwiederherstellungsoptionen” gewählt werden.

Auswahl der Wiederherstellungstools

Im Dialogfeld Systemwiederherstellungsoptionen haben Sie die Möglichkeit, eine Systemwiederherstellung zu versuchen (klappt aber nur bei einigen Anwendungsfällen), die Systemabbild-Wiederherstellung aufzurufen (Backup zurückspielen), eine durch das SP1 beschädigte Bootkonfiguration über die Systemstartreparatur bearbeiten zu lassen oder die Eingabeaufforderung zu starten.

Nicht so erfahrene Anwender können die Systemwiederherstellung versuchen. Wer eine Diagnose durchführen möchte oder falls die Systemwiederherstellung nicht funktioniert, ruft den Befehl Eingabeaufforderung auf.

Tipp: Sofern Sie mit der Windows 7 Setup-DVD booten, lassen sich die obigen Schritte abkürzen. Warten Sie, bis das erste Dialogfeld nach dem Booten erscheint und wählen Sie die Sprache (stellt die korrekte Tastaturbelegung sicher). Dann drücken Sie die Tastenkombination Shift+F10, um das Fenster der Eingabeaufforderung zu öffnen – fertig.

Zugriff auf Hilfstools zur Diagnose und Reparatur

Tritt der Fehler auf, haben erfahrene Anwender natürlich noch eine Möglichkeit zur Analyse bzw. zum Eingreifen. Hierzu ist das System gemäß den obigen Schritten mit der Windows 7 Setup-DVD zu booten und die Eingabeaufforderung aufzurufen.

Im nächsten Schritt muss dann das Windows-Laufwerk mit dem dir-Befehl ermittelt werden. Die Windows RE-Umgebung läuft unter dem Laufwerksbuchstaben X: – während die Windows 7-Installation oft unter D: oder einem höheren Laufwerksbuchstaben zu finden ist.

Eingabeaufforderung mit dir-Befehlen

Da sich viele Anwender zwischenzeitlich mit den DOS-Befehlen schwer tun, hier noch ein paar Tipps. Unter [F] habe ich skizziert, wie sich mit Tools wie dem a43-Editor oder dem Free Commander ein komfortabler Zugriff auf Dateien realisieren lässt (der Windows-Explorer läuft unter Windows RE nicht). Meist wird man aber keines dieser Tools zur Hand haben.

In diesem Fall missbrauchen Sie den Windows-Editor als Mini-Dateimanager. Hierzu tippen Sie in der Eingabeaufforderung notepad ein und drücken die Eingabetaste. Im Windows-Editor lässt sich über den Befehl Öffnen des Menüs Datei (oder über die Tastenkombination Strg+O) ein Dialogfeld zur Dateiauswahl öffnen. Sie finden dann im Dialogfeld Öffnen nur eine grafische Übersicht der Laufwerke. Dort lässt sich z. B. erkennen, dass das logische Laufwerk C: meist für die Partition “System-reserviert” reserviert ist. Das Boot-Laufwerk X: enthält das Windows RE-System und hier ist der lokale Datenträger D: das eigentliche Windows 7.

Laufwerksübersicht im Dialogfeld Öffnen

Stellen Sie danach das Feld Dateityp auf “Alle Dateien (*.*)” um. Dann werden später auch Ordner und Dateien angezeigt. Jetzt lässt sich komfortabel per Doppelklick auf Laufwerks- und Ordnerinhalte zugreifen. Die Taste Rück oder die betreffende Schaltfläche in der Kopfzeile des Dialogfelds ermöglichen einen Ordnerebene zurück zu navigieren.

Ein Rechtsklick auf ein Dateielement öffnet dann das hier gezeigte Kontextmenü mit den gewünschten Befehlen. Sie können also Dateien kopieren (über die Kontextmenübefehle Kopieren und Einfügen oder die Tastenkombinationen Strg+C, Strg+V), verschieben (über die Kontextmenübefehle Ausschneiden und Einfügen oder die Tastenkombinationen Strg+C, Strg+V), löschen (per Entf-Taste oder über das die Kontext) und sogar umbenennen.

Dateioperationen im Dialogfeld Öffnen

Auch das Öffnen von Textdateien ist möglich. Damit stehen also recht komfortable Möglichkeiten zur Analyse und Fehlerbehebung bereit. Zudem können Sie auf USB-Sticks und Flash-Laufwerke zugreifen, um Dateien dorthin zu sichern, oder weitere Hilfstools wie den Notepad++-Editor in der portablen Version zu starten.


Werbung
In diesen beiden Titeln findet sich das Know How zum Umgang mit der Reparaturkonsole und vieles mehr.

Analyse des Problems für erfahrenere Anwender

Sobald Sie also Zugriff auf die Eingabeaufforderung besitzen und den Editor gestartet haben, lässt sich ein Blick in die Protokolldateien werfen. Navigieren Sie zum Windows 7-Ordner Logs/CBS (%windir%\logs\cbs\). Dort sollte die Datei CBS.log zu finden sein. Bei der Installation des SP1 werden dort Informationen hineingeschrieben. Sie können die Datei anschließend im Windows-Editor öffnen und kontrollieren.

Anmerkung: Die mir vorliegenden CBS.log-Dateien diverser Anwender werden extrem umfangreich (26 bis 36 MByte). Daher braucht der Windows-Editor extrem lange zum Laden und reagiert auch recht zäh. Nach Möglichkeit versuche ich daher Werkzeuge wie den Notepad++ zur Analyse einzusetzen [15].

Hier sehen Sie einen Ausschnitt dieser Protokolldatei im Windows-Editor. Es gilt nun die Einträge durchzusehen, ob dort Fehler aufgelistet werden, die Ursache für das Problem sind und damit den Start von Windows 7 samt Aktualisierung der Updates verhindern.

Analyse der CBS.log

Unter [7] findet sich eine solche Diskussion, wo der Fehler mit der RC des SP1 auftrat. Hier war eine nicht abgeschlossene Dateiumbenennung (weil die Datei fehlte) in WinSxS die Ursache.

Problemanalyse und –behebung bei pending.xml

Verhindern Probleme auf dem Datenträger eine Aktualisierung des WinSxS-Ordners bzw. der darin enthaltenen Dateien. Dann sollte sich in der CBS.log ein Hinweis finden, dass poqexec.exe nicht ausgeführt werden kann. Bei der Analyse einige Varianten der CBS.log bei diversen Anwendern ist allen gemeinsam, dass das Programm poqexec.exe mit folgender Anweisung Probleme bereitet.

C:\Windows\System32\poqexec.exe /display_progress
\SystemRoot\WinSxS\pending.xml

Unter [8] gibt es einen Knowledge-Base-Artikel für Windows Vista zum Fehler 0xc0000034. Problem ist, dass ein auszuführender Setup-Befehl nicht abgeschlossen werden kann. Dort wird unter der Methode 3 beschrieben, wie sich ein SetupExecute-Wert in der Registrierung löschen lässt. [Update:  die folgenden Befehle scheinen zwar zu funktionieren, siehe auch Kommentare, sind aber suboptimal – daher zuerst die Infos im gelben Tipp-Kasten durchgehen.]

Reg load HKLM\BaseSystem C:\Windows\System32\config\SYSTEM

Reg Delete “HKLM\BaseSystem\CurrentControlSet\Control\
Session Manager” /v SetupExecute

Reg add “HKLM\BaseSystem\CurrentControlSet\Control\
Session Manager” /v SetupExecute /t REG_MULTI_SZ

Der erste Befehl veranlasst, dass der betreffende Hive (Registrierungsstruktur) im Befehl Reg geladen wird. Hierbei ist aber darauf zu achten, dass der korrekte Hive aus der Windows 7-Installation geladen wird. Prüfen Sie daher, ob sich die Windows 7-Installation wirklich auf dem logischen Laufwerk C: befindet (im konkreten Beispiel wäre das Laufwerk D: zu verwenden). Dies ist vor allem beim Multiboot-Systemen wichtig, da die Windows PE-Umgebung die Partitionen automatisch mit Laufwerksbuchstaben versieht. Im zweiten Befehl wird dann der Eintrag für SetupExecute aus dem Schlüssel gelöscht. Der dritte Befehl fügt einen leeren Eintrag ein.

Ein Ansatz (nach Reparatur des Systems) wäre dann, das System auf defekte Systemdateien prüfen zu lassen, die restlichen Vorbereitungsmaßnahmen durchzuführen [C] und die Installation nicht über Windows Update sondern über die entsprechende ISO-Datei zu versuchen.

Tipp: Sofern man das System mit einer Windows RE-Umgebung booten kann und an die Datei pending.xml herankommt, gibt es ggf. noch eine Lösung. Unter [12] beschreibt ein Benutzer, dass er die Datei c:\windows\winsxs\poqexec.log analysiert hat. Dort fand er die Anweisung, die den Fehlercode C000009A auslöste. Im nächsten Schritt hat er dann die pending.xml in einem Editor geöffnet, den korrespondierenden XML-Knoten gesucht und die XML-Zeile < …> durch Einfügen eines !-Zeichens (<! …) auskommentiert. Nach dem Speichern konnte er Windows 7 neu booten und das Update ausführen. Der Benutzer vermutet ein Problem mit einem Sprachpaket – dies habe ich auch in anderen Postings als Ursache gefunden.

Unter [21] beschreibt der Benutzer thiswood wie er das Problem durch Eingriff in die pending.xml beheben konnte. Findet sich in dieser Datei ein Eintrag 0000000000000000.cdf-ms, muss der zugrundeliegende XML-Knoten, der in etwa so aussehen kann:

<Checkpoint/>
<DeleteFile
path=
“\SystemRoot\WinSxS\FileMaps\_0000000000000000.cdf-ms”/>
<MoveFile source=
“\SystemRoot\WinSxS\Temp\PendingRenames\
e56db1db48d4cb0199440000b01de419._0000000000000000.cdf-ms”
destination=
“\SystemRoot\WinSxS\FileMaps\_0000000000000000.cdf-ms”/>

gelöscht oder auskommentiert werden. Nach dem Neustart des Systems dauert es ca. 10-15 Minuten, bis Windows wieder zum Anmeldebildschirm kommt. [Update: Zwischenzeitlich hat Microsoft einen Artikel unter [22] zum Entfernen des Eintrags veröffentlicht. Dort gibt es auch ein VBScript-Programm, um alle POQ-XML-Konten in der Pending.xml zu entfernen. Wer das System mit den obigen Methoden booten kann, kann das Skript ggf. ausprobieren. ]

Der andere empfohlene Ansatz besteht darin, die Datei pending.xml zu löschen und dann einen Neustart durchzuführen. Persönlich würde ich aber die pending.xml umbenennen, um ggf. noch auf deren Inhalt zurückgreifen zu können. Nach einem Neustart lässt sich dann prüfen, ob Windows 7 hochfahren kann.

Helfen die Ansätze zum Bereinigen der Pending.xml nicht weiter, können Sie folgende Ausführungen berücksichtigen.

Noch eine Theorie …

[Edit: Die Theorie kann man vergessen – scheint so zu sein, dass der Dienst Software Quality Management beim Update nicht zur Verfügung steht. Daher tritt die unten skizzierte Fehlerkaskade faktisch in allen CBS.log-Dateien, die ich in den letzten Tagen in die Finger bekommen habe, auf – ohne der Grund für das Problem zu sein. Ob die Vermutung von Georg Binder (siehe unten) noch zutrifft, kann ich nicht sagen.]

Und in diesem Zusammenhang gibt es bei der Analyse der CBS.log noch eine weitere Auffälligkeit. In allen Fällen finden sich folgende Zeilen in der Protokolldatei.

CBS    TrustedInstaller service starts successfully.
CBS:  SQM: Initializing online with Windows opt-in: False
CBS   SQM: Cleaning up report files older than 10 days.
CBS    SQM: Requesting upload of all unsent reports.
CBS    SQM: Failed to start upload with file pattern:
C:\Windows\servicing\sqm\*_std.sqm, flags: 0x2
[HRESULT = 0x80004005 – E_FAIL]
CBS    SQM: Failed to start standard sample upload.
[HRESULT = 0x80004005 – E_FAIL]
CBS    SQM: Queued 0 file(s) for upload with pattern:
C:\Windows\servicing\sqm\*_all.sqm, flags: 0x6
CBS    SQM: Warning: Failed to upload all unsent reports.
[HRESULT = 0x80004005 – E_FAIL]
CBS    No startup processing required, TrustedInstaller service
was not set as autostart, or else a reboot is still pending.
CBS    NonStart: Checking to ensure startup processing
was not required.

Das Setup versucht also alte Protokolldateien zu löschen und dann nicht gesendete Fehlerberichtsdateien an den Feedback-Service von Microsoft zu übertragen. Dabei schlägt diese Übertragung aber mit dem Fehler 0x80004005 – E_FAIL fehl (dieser Fehler tritt auch bei der Installation des SP1 auf [E]).

Bei der Suche nach der Bedeutung von SQM (Quality Service) bin ich dann auch gleich auf Georg Binders Artikel [9] gestoßen. Der Artikel adressiert das Problem, dass der Windows-Installer in Windows 7 auf Grund eines Fehlers im Feedbackprogramm abstürzt. Georg Binder schlägt vor, den betreffenden Schlüssel zu löschen:

reg delete HKLM\\SOFTWARE\\Microsoft\\ SQMClient\\Windows\\
DisabledSessions /va /f

Hier muss natürlich auch darauf geachtet werden, dass in der Windows RE-Umgebung vorher der korrekte Hive mit:

Reg load HKLM\BaseSystem D:\Windows\System32\config\SYSTEM

geladen wird. Unter [10] findet sich ein Knowledge-Base-Artikel, der sich mit dem Deaktivieren des Software Qualitäts Management (SQM) befasst. Zumindest sind dies Ansätze, um dem Fehler C0000034 etwas einzugrenzen.

Weitere Fehlerursachen und ein Rollback-Ansatz

Sehr häufig sind korrupte Systemdateien der Grund für den Fehler C0000034. Unter [11] gibt es noch den Hinweis, dass ein installierter IE 9 RC (oder die Beta des SP1) beteiligt sein kann. Aus diesem Thread stammt auch ein Ansatz, den hängenden Vorgang mit DISM zurückzusetzen. Hierzu muss das System gemäß den obigen Ausführungen mit einem Windows RE gebootet und dann die Eingabeaufforderung geöffnet werden. Dann steht der Befehl DISM (Deployment Image Servicing and Management) zum Zugriff auf das Windows-Abbild zur Verfügung. In Windows 7 werden Updates in Form von Transaktionen durchgeführt, die bei erfolgreichem Abschluss gelöscht werden. Scheitert eine Transaktion, ist eine Rücknahme mit folgendem Befehl möglich:

DISM /Image:<windrive:\>
/Cleanup-Image /RevertPendingActions /ScratchDir:<dirname>

Es handelt sich dabei um eine Befehlszeile, die hier umbrochen wurde. Dabei müssen die korrekten Laufwerksbezeichnungen für das Windows-Laufwerk (ist i. d. R. nicht C: sondern D:, E: etc.) und das Entwurfsverzeichnis (ScratchDir) eingegeben werden. Nach einem Beitrag von André Ziegler [17] ist die Angabe einer ScratchDir nicht erforderlich. Weitere Hinweise finden sich in der DISM-Beschreibung des WAIK oder unter [16]. Zudem können Sie in der Befehlszeile dism /? eingeben, um die Programmhilfe abzurufen.

Update: Eine weitere Ursache des Problems scheint bestätigt [18]. Wie bereits weiter oben vermutet, dürfte bei einigen Anwendern eine fehlende Sprachdatei die Ursache zu sein. Unter [F] habe ich noch einen Beitrag verfasst, der sich mit dem Problem der Sprachdateien beschäftigt. Es sieht so aus, als ob in einigen Systemen Reste von Sprachdateien zurückbleiben. Ich habe keine Ahnung, ob dies auf einen Fehler des WAIK zurück geht oder ob Hersteller bzw. Anwender da patzen. Vielleicht helfen die Hinweise aber allen Lesern, die mittels der CBS.log Fehler in Sprachdateien aufdecken.

Bei anderen Anwendern wurde das Tool Driver Sweeper von Phyxion verwendet. Dieses ermöglicht Treiberreste von ATI- und nVideo-Treiberinstallationen aus dem System zu entfernen. Dabei scheint aber dieses Entfernen nicht sauber zu funktionieren und eine .inf-Datei verloren zu gehen. Bevor jedoch die Workarounds im betreffenden Beitrag probiert werden, sollte eine Analyse der CBS.log erfolgen:

2011-02-23 10:47:55, Error                 CBS    SPI: Driver directory
C:\Windows\System32\DriverStore\FileRepository\
atiilhag.inf_amd64_neutral_951c1812f542740a is missing
2011-02-23 10:47:55, Error

Dabei können auch die Fehler 0x800F0A13 oder 0x800F0826 in der CBS.Log auftreten. Der Beitrag [18] skizziert, wie sich die fehlende ATI-Datei aus einem Windows-Abbild (WIM) auf das System kopieren lässt.

In den Fällen, wo die obigen Fehlerursache ausscheidet, können aber andere beschädigte/fehlende Dateien die Ursache sein. Hier möchte ich auf die Diskussionsbeiträge [19, 20] im Microsoft Technet-Forum verweisen, wo André Ziegler von WinVistaSide.de und weitere Anwender Lösungsmöglichkeiten erarbeitet haben. Allen Ansätzen ist gemeinsam, dass die weiter oben skizzierten Schritte zum Booten des Systems und zur Analyse der CBS.log ausgeführt wurden.

Links:
1: Diskussion im Microsoft-Forum
2: Blog-Eintrag Nicklas
3: Blog-Eintrag Garry Dave
4: Trojaner-Board-Diskussion
5: Forendiskussion Microsoft (Englisch)
6: MS-Artikel zu Windows XP mit ähnlichem Fehler
7: Technet-Diskussion mit Fehleranalyse
8: KB-Artikel zum Fehler 0xc0000034  (Windows Vista)
9: Problem mit Installern (Georg Binder)
10: Software Quality Management (SQM) deaktivieren (KB-Artikel)
11: Installationsfehler C000009A
12: Ansatz zum Installationsfehler C000009A
13: Systemreparaturdatenträger (Download)
14: CBS.log auswerten (Microsoft KB-Artikel)
15: Notepad ++ portable
16: DISM Befehlsoptionen (Microsoft, Englisch)
17: Microsoft-Forenbeitrag (Deutsch)
18: Windows 7 SP1 fails to install with 0x800f0a13 or 0x800f0826
19: Technet-Diskutionsthread mit Lösungen (Englisch)
20: Technet-Diskutionsthread mit Lösungen (Englisch)
21: Diskussion im MS-Forum (Englisch)
22: MS-Artikel zu Fehler 0xc0000034 beim SP1
23: Blog-Artikel bei Microsoft Deutschland

Ähnliche Beiträge:
A: Windows 7 SP1 allgemein verfügbar
B: Winkelzüge: Windows 7 Service Pack 1 (Teil 1)
C: Winkelzüge: Windows 7 Service Pack 1 (Teil 2)
D: Kardinalfehler bei der SP1-Installation
E: Windows 7 Service Pack 1 Troubleshooting-Tipps
F: First Aid: Datenrettung, wenn Windows 7 versagt
G: Windows 7 ISO-Download – wo gibt’s die?
F: Win 7 SP1-Fehler 0×80073701 (Assembly Missing)
H: Bugliste: Kollateralschäden durch’s Service Pack 1
I: Service Pack 1 Fehlerdiagnose &
Package-Store(.mum,.cat) Reparatur

J: Microsoft Installer Cleanup Tool ist in “Rente”–wie fixe ich Installationsprobleme?
K: CBS-Store durch Updates defekt, wie reparieren?
L: Windows Update-Fehler 80240016
M: Verbesserungen im Service Pack 1
N: Win 7: Defekte Packages-Dateien reparieren
O: .NET-Framework macht Probleme
P: System nach SP1-Error 0xC0000034 aufräumen


- Werbung –
Weitere Infos zu Windows 7 finden sich in meinen Windows 7-Titeln.

(c) by Günter Born www.borncity.de
The source of smart computer books


Werbung

Über Günter Born

IT-Autor, Blogger borncity.de
Dieser Beitrag wurde unter Installation, Problemlösung, Update, Windows 7 abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

34 Antworten auf SP1-Installation hängt, Error C0000034/C000009A

  1. G.Born sagt:

    Hier noch ein Link, wo die Win32-Fehlercodes aufgelistet sind.

    http://www.download.hr/forum/xp/5178-win32-error-codes-2.html

  2. Pingback: Service Pack 1 Fehlerdiagnose & Package-Store(.mum,.cat) Reparatur « Borns IT- und Windows-Blog

  3. mysp sagt:

    Danke für die ausführliche Beschreibung.
    Bei mir hilft es aber leide rnicht weiter, weil er meine Festplatte nicht mehr anzeigt.
    Wenn ich versuche auf c: zuzugreifen, will er mir die Festplatte formatieren.

    http://i54.tinypic.com/24bw7bp.jpg
    http://i52.tinypic.com/2vwea1d.jpg

    Eine Idee was zu tun ist?
    Kann ich die Daten noch irgendwie retten?

    Besonders ärgerlich:
    Habe übermorgen eine Klausur und auf dem Rechner ist eine Zusammenfassung dafür drauf, die ich natürlich noch nicht ausgedruckt habe :(

  4. Steefn sagt:

    Auch hier kam es an einem PC nach der SP1 Installation zu dem Problem. Ich hatte mich schon bis zum LOG

    C:systemrootlogscbscbs.log rangetastet und mir ist die fehlende _0000000000000000.cdf-ms aufgefallen.

    Ein umbenennen der C:systemrootwinsxspending.xml brachte nach 20minuten kein Erfolg.

    Das auskommentieren der kompletten Zeile:

    <!–
    –>

    veranlasste Windows zur Fortsetzung der Installation.

    Danke für den Artikel

  5. Steefn sagt:

    Die auskommentierte Zeile:

    siehe oben :)

  6. Frisky sagt:

    Vielen, vielen Dank für die sehr ausführliche Beschreibung! Habe den Tip mit der poqexec.log und dem Auskommentieren des String in der pending.xml befolgt und es hat geklappt. Tolle Rolle mit dem Autoupdate auf sp1.

  7. Marco sagt:

    Hallo Günter Born,
    vielen Dank für deine ausführliche Schilderung des Problems.
    Ich habe mit dem Tipp “Auskommentieren der Parts in der pending.xml”
    das Problem an 4 Rechnern die alle den Fehler hatten beheben können.

  8. Bjoern Gratopp sagt:

    Hallo,

    danke für die sehr guten Erklärungen und Hinweise. Wir hatten gestern das SP1 per WSUS freigegeben. Auf allen Win7 Rechnern kam es daraufhin zum Fehler und kein einziger wollte heute morgen noch seine Arbeit verrichten. Das stoppen des ausrollens verschonte noch eine Hand voll User, aber auf 15 Maschinen (der Rest hat zum Glück noch Vista und XP) lief nichts mehr.
    Der Hinweis mit dem
    Reg Delete “HKLM\BaseSystem\CurrentControlSet\Control\
    Session Manager” /v SetupExecute
    brachte bei uns die Maschinen wieder zum laufen. Zwar ohne SP1 aber wenigstens waren die Leute wieder am arbeiten.
    Wir hatten noch ein paar Maschinen die noch kein SP1 Installationsversuch hinter sich hatten. Bei denen haben wir dann SP1 manuell installiert. Dort lief es ohne Problem. Lediglich die automatische SUS Installation lief auf den Fehler. Bei den Maschinen, bei denen die Installation auf den Fehler lief und die wir wieder lauffähig bekommen haben lässt sich keine manuelle Installation mehr durchführen. Der Installationassisten meldet dann, dass eine wichtige Systemkomponente fehlen würde.

    Vielen Dank nochmal!

  9. SUPER – vielen Dank!

    Bei uns hat der Tip mit der Registrierung geholfen!

    Hierzu aber noch eine Anmerkung:
    – Der zweite und dritte Befehl funktionieren nicht (reg delete und reg add), da unter basesystem kein CurrentControlSet zu finden ist
    – Nach Eingabe von regedit kann man sich aber zu den Ordnern durchhangeln und sieht ControlSetXXX (XXX steht für eine Nummer)
    – Hier sucht man den besagten Schlüssel SetupExecute (in Control/SessionManager) und löscht diesen manuell (und legt ihn auch wieder an :-) )

    Nochmals vielen Dank für diesen Super-Lösungsansatz!!!

  10. mysp sagt:

    Okay, ich glaube ich habe den Grund für das Verschwinden der Partition gefunden.
    Meine gesamte Festplatte ist mit Truecrypt verschlüsselt und das scheint der Grund zu sein, dass ich die Partition nicht sieht (obwohl der Truecrypt Bootloader problemlos startet).

    habe die Festplatte nun aber mal ausgebaut und mit einer exterenen Gehäuse per USB an einen anderen Rechner angeschlossen.
    Dort dann Truecrypt gestartet und im Menü unter “System”–>”Mount without Pre-Boot Authentication” gemountet. Kann jetzt auch alle Daten der Festplatte zugreifen und versuche nun die pending.xml zu bearbeiten.

  11. Günter Born sagt:

    @mysp: Schön, dass Du den Grund gefunden hast. Aber TrueCrypt konnte ich nicht als Ursache “riechen” ;-). Und persönlich würde ich keine komplette Partition mit dem Teil verschlüsseln – mache ich nicht mal bei Ultimate, wo Bitlocker das leisten würde. Denn im Zweifelsfall sind die Daten wirklich sicher ;-).

  12. Markus sagt:

    Hallo Günter,

    vielen dank für diese Hilfe hier, ich habe das Netz bereits durchforstet und bin im Grunde immer wieder auf die gleichen Lösungen gestossen. Dein Blog allerdings hat mich dann auch wirklich zu Ziel geführt. Meine Lösung sah nur etwas anderst aus, ist vermutlich aber mit deiner recht kompatibel, deswegen dieser Kommentar:

    Als, meine Vorgehensweise ist folgende gewesen:

    Booten des Systems und F8 drücken
    Computer reparieren auswählen
    Spache auswählen
    einen administrativen Benutzer wählen
    in der Reparaturkonsole die Eingabeaufforderung wählen
    den Befehl: Reg load HKLM\BaseSystem C:\Windows\System32\config\SYSTEM ausführen
    Dann Regedit eingeben.was die Registration läd und nachsehen, ob BaseSystem vorhanden ist. Wenn nicht, ist die falsche Registration gewählt
    Jetzt zum Bereich:
    HKLM\BaseSystem\CurrentControlSet\Control\
    gehen. Das kann auch Controllset001 oder 002 sein und nach dem Session Manager sehen. ob dieser vorhanden ist.

    Bei mir war es so, das ich CurrentControlSet nicht mehr hatte, dafür aber die 001 und die 002. Da diese Bereiche aber nur Kopien vom CurrentControlSet sind, habe ich einfach den CurrentControlSet001 exportiert, mit Notepad geöffnet, alle Einträge von CurrentControlSet001 gegen CurrentControlSet ersetzt und wieder gespeichert. Dann in der Eingabeaufforderung die exportieret .reg Datei aufrufen und den CurrentControlSet in die Registry laden.
    Jetzt noch schnell die pending.xml gelöscht und einen Neustart.

    Schon läuft das System wieder

    Vielen Dank und weiter so

    Gruß Markus

  13. Adrian sagt:

    Hallo Günter

    Ich hatte in einem kleinen KMU, 8 von 10 Win7 Geräte beinahe wegen SP1 verloren, Fehler war C0000034. Mir hat das Auskommentieren der beiden Einträge im pending.xml geholfen. Durchführzeit mit Windows RE pro Gerät ca. 10 Minuten.

    Besten herzlichen Dank, somit konnte ich ein Neuaufsetzen (Auch mit WDS inkl. spez. Soft. 2-3h/Gerät) verhindern.

    Mit den besten Grüssen aus der Schweiz

    Adrian

    • Günter Born sagt:

      @Adrian: Besten Dank für’s Feedback und schön, dass es weiter geholfen hat. Wenn ich bedenke, dass die meisten Beiträge quasi im “Blindflug” ohne den konkreten Fehler auf der eigenen Maschine zu haben, entstanden sind, ist die Trefferquote doch recht hoch.

      Was mich jetzt allerdings brennend interessiert, wäre die Frage, was zu diesem Fehler in der pending.xml führt (hab da immer noch keinen Plan – und Tuning-Tools sollten bei KMUs nicht im Einsatz sein). Falls also irgend einer von Euch das draußen eine Idee hat, wäre ich für eine Rückmeldung ganz dankbar.

      [Update: So langsam lichtet sich der Nebel. Unter [8] hatte ich ja bereits auf den Support-Beitrag von Microsoft hingewiesen, der auch die problematische 0000000000000000.cdf-ms hinweist. Im deutschsprachigen Answers-Forum von Microsoft kristallisiert sich hier heraus, dass neben WSUS im wesentlichen 64-Bit-Systeme in Domänen betroffen sind. Im betreffenden Thread gibt es weitere Hinweise zum Zurücksetzen der Registrierung (z. B. über den Pfad %WinDir%\Cystem32\Config\Regback). Vielleicht hilft’s dem Einen oder Anderen weiter.]

      Hier wird ebenfalls der oben skizzierte Reparaturansatz beschrieben.

  14. Marco sagt:

    Hallo Günter,

    ja ich kann auch bestätigen. War ein WSUS update, 64-bit und Domäne!

    Den Tipp mit der Registry finde ich nicht so gut. Wie es aussieht rettet man sich das System ja für einen AUgenblick, bekommt aber später das System nicht mehr gepatched.
    Der Ansatz mit dem auskommentieren von 0000000000000000.cdf-ms in der Pending.xml half mir wir Adrian-Schweiz doch deutlich weiter. So ist wenigstens SP1 scheinbar sauber installiert.

    VG, Marco

    • Günter Born sagt:

      @Marco: Danke für deine Einschätzung. Wenn ich so bei Heise.de die Diskussion verfolge, werden das Umkopieren der Registry-Sicherungen als heißer Tipp gehandelt – was in etwa dem Eingriff in die Registrierung entspricht (man kopiert nur den alten Sicherungszustand zurück).

      Ich denke, die Infos sind (auch Dank eurer Kommentare) vorhanden und jeder Admin kann nach seinem Gusto handeln. Persönlich würde ich auch den Ansatz mit auskommentieren von 0000000000000000.cdf-ms in der Pending.xml wählen. Entspricht in etwa auch den Empfehlungen von MS im verlinkten KB-Artikel.

  15. Pingback: Sprachpakete behindern SP1-Installation « Borns IT- und Windows-Blog

  16. Pingback: MS-Script zum Beheben des SP1-Fehlers 0xC0000034 « Borns IT- und Windows-Blog

  17. Pingback: System nach SP1-Error 0xC0000034 aufräumen « Borns IT- und Windows-Blog

  18. G.Born sagt:

    Unter [1] weist André darauf hin, dass die Ursache des Fehlers vermutlich eine Kollision des SP1-Installationsvorgangs mit einem laufenden Update ist.

    1: http://www.winvistaside.de/forum/index.php?showtopic=3469

  19. Pingback: Windows-Ressourcenschutz konnte den Reparaturdienst nicht starten « Borns IT- und Windows-Blog

  20. MartinB sagt:

    Wir haben im Institut 2.500 Rechner (nicht alle mit Win7 ;) ). Auch bei uns wurde das SP1 vor 2Tagen freigegeben für autom. Updaten. Zum Glück gabs bisher nur einen Rechner, der das beschriebene Problem hatte.

    Folgender Ablauf:
    Es gab gar keinen Wiederherstellungspunkt, deswegen sind wir von außen an die Platte ran und haben den benannten Eintrag in der Datei entfernt.
    Im Anschluß lief Windows hoch und installierte beim Starten noch Updates.
    Während dieses Prozesses schrieb er plötzlich (sinngemäß): “Gab Fehler, Installation wird abgebrochen, installierte Sachen wieder entfernt”.
    Windows lief danach komplett hoch. Man konnte sich anmelden und dann erneut einen Bericht lesen, in dem stand, dass nicht alles geklappt hatte.

    Leider kann nun das SP1 aber nicht mehr installiert werden. Wenn man dem “Online-Hilfe-Link” folgt, kommt man auf eine Seite, die behauptet, dass “fremde Programme” genutzt wurden, um Windows “aufzuräumen”. Und dazu eine Hilfe zur Neuinstallation.

    Dies ist natürlich für uns hier keine Option.

    Meine Frage also an Euch:
    Habt Ihr als Ergänzung zu diesem Problem noch eine Idee für das neue, resultierende Problem?

    • Günter Born sagt:

      Das Einzige, was mir einfällt:
      – Wurde SP1 nicht installiert -> Inplace Upgrade mit einer Windows 7 DVD zur Reparatur probieren.
      – Ist SP1 installiert, aber der Servicing Packages Store ist kaputt -> Ein Inplace Upgrade mit einer Windows 7 DVD, die das SP1 bereits integriert hat, versuchen. Wenn diese durchläuft ist das System wieder geheilt.

      Beim Inplace Upgrade bleiben ja alle Daten, Einstellungen und Anwendungen erhalten. Der Hinweis auf “fremde Programme” zum Aufräumen könnte natürlich darauf hindeuten, dass entweder Tools zur “Treiberoptimierung” oder allgemeine Tuning-Tools verwendet wurden. Hier hilft imho nur, sich die CBS.log anzusehen – in der Hoffnung, dass man rausfindet, welche Komponenten im Packages Store kaputt sind. Bei zwei drei Paketen kann man das Ganze ggf. manuell fixen – bei mehr, würde ich eine Neuinstallation durchführen. Hinweise auf die Diagnose finden sich hier in diversen Blog-Beiträgen in der Kategorie Updates.

  21. MartinB sagt:

    Vielen Dank für den Tipp!
    Meine Vermutung geht auf den zweiten Stichpunkt, da das System zumindest bei einer Domain-Nutzer-Anmeldung sehr stark hängt – was also auf einen Defekt hinweißt. (Ein Dienst im svchost bläht sich auf gut 120MB Speicherbedarf und andere Software wie Outlook hängen sich beim starten auf).
    Auch steht im Updateverlauf, dass das ServicePack 1x erfolgreich installiert wurde – im Anschluß mehrere male fehlschlug. Auch ein Hinweis auf Stichpunkt zwei.

    Ich werde also das Inplace Update mal ausprobieren. Vielen Dank für die Rasche Antwort.

    PS: Bei uns handelt es sich um DELL-Geräte. Nicht bei allen, aber bei diesem kann ich mit Gewissheit sagen, dass kein Optimierungstool installiert wurde.

  22. André sagt:

    @MartinB

    wenn dein Windows in einem solchen kaputten Zustand ist, musst du das probieren:

    http://www.winvistaside.de/forum/index.php?s=&showtopic=3469&view=findpost&p=24217

    Das Problem dürfe doch gar nicht mehr auftauchen, da Microsoft das Update KB2533552 vor einiger Zeit veröffentlicht hat. Wurde das Update vorher nicht eingespielt?

    André

  23. Pingback: faq-o-matic.net » Windows 7/Server 2008 R2 Service Pack 1: Troubleshooting

  24. Pingback: System: Fahlercode C0000034 - Windows 7 allgemein

  25. Pingback: Anonymous

  26. Jens sagt:

    Na toll, 3 Jahre später falle ich auch noch ins selbe Loch :-(

    Mittlerweile gibt es aber ein VBS-Script von offizieller Seite, welches die verantwortlichen Einträge in der pending.xml komfortabel entfernt.

    –> http://support.microsoft.com/kb/975484/en-us

    Arbeitsaufwand: 2 Minuten.
    (Recherche-Aufwand 3 Stunden ! – Wie meistens, ein klarer Fall für das SEO-Management beim Microsoft Support)

  27. Jens sagt:

    Ja, jetzt wo Du’s sagst…
    Übrigens muss ich die Site mal loben – sehr informativ, hilfreich und dabei auch noch übersichtlich. Respekt!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *