Win 7 SP1-Installation hangs with Error C0000034/C000009A

[German]The worst case scenario when installing Service Pack 1 on Windows 7 is that the update hangs after rebooting. This article discusses possible diagnoses and solutions.


Advertising

This error seems to affect some users [1, 2, 3] who install Win 7 Service Pack 1. When updating, the process stops at operation xx (stands for any number) out of a total of 106046. In the best case, the message "Fatal error C0000034 during update operation 219 of 106046" or similar still appears. The numbers like 219 and 106046 can vary and the error number can also be C000009A. In any case, Windows 7 no longer boots and the system stops responding. Restarting the user does not help either.

First Aid for inexperienced users

If you are not a very experienced user and you are affected by this error, you have a problem. How do you get back to a working Windows 7? There are several approaches that have helped users.

  • Try to boot and immediately press the function key F8 to call the menu of the advanced startup options. Then, select "Last configuration known to work" from the menu to force boot [3]. Alternatively, you can also try to start Windows 7 in safe mode (possibly only with command prompt). If this works, the following measures can be taken. 
  • Attempting to solve the problem via System Restore (requires booting via the Windows Setup DVD or the system repair disc – see the following sections) allows in some cases to at least return to the previous state [2].
  • The third variant is to reboot the computer several times. Since this is done by turning off the power switch, the Windows startup help should take effect. Then wait for quite some time until the updates have been performed after all [1].

With this error and the latter "repair method", I have the feeling that some of the affected users were too "impatient" and restarted the system too early via the power button.

What does the error mean?

The error code C0000034 (STATUS_OBJECT_NAME_ NOT_FOUND) means that an operation is to be performed on an object (file), but the object is not found. However, there seem to be different reasons for the error (at least what I could find out after evaluating some cases).

Note: In the meantime, however, a faulty entry in the Pending.xml file crystallizes as the cause in many cases. I have detailed how to fix this problem in a yellow tip box below.

Examples of causes: I have pointed out in various German articles (see link list A to E at the end of the article) that external antivirus solutions should be deactivated (better uninstalled) before installing SP1. With Norton, Mc Afee etc., however, installation residues could remain and block access to drivers. In addition, a removal tool from the manufacturer should be applied.

Under [5] I found the error code in connection with an activation problem. The error code C0000034 can also indicate protected drivers. At [4] I found the error code in a Trojan board – a somewhat disturbing info. An older MS article at [6] points in a similar direction. 


Advertising

Besides a malware attack, corrupted system files or an inconsistent registry can be the reason that SP1 throws in the towel. Especially TuneUp and other tools seem to be disproportionately involved. Leftovers or a not uninstalled SP1 Beta/RC as well as the RC of IE 9 also seem to be the cause (see also end of article).

In the meantime, Microsoft has probably found the cause of the error. Under [22] Microsoft employee Daniel Melanchthon describes typical scenarios: The SP1 update is executed, but the request to restart is ignored. Instead, further updates are installed. A similar scenario occurs when SP1 is rolled out via WSUS and other updates are triggered for installation at the same time. These scenarios cause individual SP1 update transactions to fail to complete correctly (because the servicing packaging stack enters an inconsistent state) and the system fails to boot. At [P] I describe in an article how to bring a rebooting system into a consistent state. There are also the procedures of the transaction processing touched.

First Aid: Booting into a Windows RE environment

In order to inspect the Windows system that no longer starts and, if necessary, perform error diagnostics and troubleshooting, the machine must be booted at least to the point where it is possible to access the hard disk. To do this, you need either the Windows 7 setup DVD or a Windows 7 repair disc. Both media start a Windows PE (PE stands for Preinstall Environment) and then offer to switch to a repair environment (Windows RE – RE stands for Repair Environment).

Note: Some internals are described in my various Windows 7 advanced titles. Owners of consumer systems who don't have a Windows 7 setup DVD and foolishly haven't made a system repair disc can legally download one at [13]. For inexperienced users, I would refer you to the post at [F] , where the steps to boot a Windows RE environment are described in more detail. If you don't have a setup DVD but need one, you should read the article at [G]. There it is described how to legally get a Windows 7 installation medium.

  1. Boot the system with the repair media or the Windows 7 setup DVD and wait until Windows PE has started.
  2. In the first dialog step, select the desired language (here "German") to achieve the correct keyboard layout. Go to the next dialog step via the Next button.
  3. For the system repair disk, wait to see if an operating system is found and then select the top radio button in the dialog box that appears to invoke the repair console.

    System Recovery Options
    On the Windows 7 Setup DVD, on the other hand, click the Computer Repair Options hyperlink in the bottom left corner of the second dialog box. After that, wait for the repair attempts to finish and select the topmost Recovery Options radio button of the dialog box, if necessary.

  4. Try using the Next button to get to the System Recovery Options dialog box (see [F]).

The dialog box displaying the operating systems found contains two radio buttons in both of the above cases. The top radio button allows access to the system restore options, while the bottom radio button allows you to restore a system image backup.

If you have a system image backup, you could select the lowest radio button in the above sequence of steps and restore the system via the backup. However, for the further diagnostic and repair steps, the "System restore options" entry should be selected.

Auswahl der Wiederherstellungstools

In the System Restore Options dialog, you have the option to attempt a system restore (but only works for some use cases), invoke System Image Restore (restore a backup), have a boot configuration damaged by SP1 edited via System Boot Repair, or launch Command Prompt.

Not so experienced users can try the System Restore. Those who want to run diagnostics or if System Restore does not work, invoke the Command Prompt window.

Tip: If you boot with the Windows 7 setup DVD, the above steps can be abbreviated. Wait until the first dialog box appears after booting and select the language (ensures correct keyboard layout). Then press Shift+F10 to open the command prompt window – done.

Access to help tools for diagnosis and repair

If the error occurs, experienced users of course still have a possibility to analyze or intervene. To do this, boot the system according to the steps above with the Windows 7 setup DVD and call up the command prompt.

In the next step, the Windows drive must then be determined with the dir command. The Windows RE environment runs under the X: drive letter – while the Windows 7 installation is often found under D: or a higher drive letter.

Command prompt with dir commands

Since many users have difficulties with the DOS commands in the meantime, here are a few more tips. Under [F] I have outlined how a comfortable access to files can be realized with tools like the a43-Editor or the Free Commander (but it will run only in 32 bit Windows, the Windows Explorer does not run under Windows RE at all). Most of the time, however, you will not have any of these tools at hand.

In this case you abuse the Windows editor as a mini file manager. To do this, type notepad at the command prompt and press Enter. In the Windows Editor, the Open command of the File menu (or the Ctrl+O key combination) opens a file selection dialog box. You will then find only a graphical overview of the drives in the Open dialog box. There you can see, for example, that the logical drive C: is mostly reserved for the "System-reserved" partition. The boot drive X: contains the Windows RE system and here the local disk D: is the actual Windows 7.

Drives in open shell dialog

Then set the File type field to "All files (*.*)". Then folders and files will also be displayed later. Now you can conveniently access drive and folder contents by double-clicking. The Back button or the corresponding button in the dialog header allows to navigate back one folder level.

Right-clicking on a file item then opens the context menu shown here with the desired commands. So you can copy files (using the Copy and Paste context menu commands or the Ctrl+C, Ctrl+V keyboard shortcuts), move them (using the Cut and Paste context menu commands or the Ctrl+C, Ctrl+V keyboard shortcuts), delete them (using the Delete key or the the context) and even rename them.

Dateioperationen im Dialogfeld Öffnen

It is also possible to open text files. Thus, quite comfortable possibilities for analysis and troubleshooting are available. In addition, you can access USB sticks and flash drives to save files there, or launch other help tools like the Notepad++ editor in the portable version.

Analyzing the problem for more experienced users

So, once you have access to the command prompt and have launched the editor, it is possible to take a look at the log files. Navigate to the Windows 7 folder Logs/CBS (%windir%\logs\cbs\). There you should find the file CBS.log. When SP1 is installed, information is written to it. You can open the file in the Windows editor afterwards and check it.

Note: The CBS.log files I have received from various users are extremely large (26 to 36 MByte). Therefore the Windows editor needs extremely long time for loading and also reacts quite slow. If possible I try to use tools like Notepad++ for analysis [15].

Here you can see a section of this log file in the Windows editor. It is now necessary to look through the entries to see if there are errors listed there that are the cause of the problem and thus prevent the start of Windows 7 including the update.

Analyse der CBS.log

There is such a discussion at [7], where the error occurred with the RC of SP1. Here, an incomplete file renaming (because the file was missing) in WinSxS was the cause. 

Problem analysis and fixing with pending.xml

If problems on the disk prevent an update of the WinSxS folder or the files contained in it. Then you should find a note in CBS.log that poqexec.exe cannot be executed. When analyzing some variants of CBS.log with various users, they all have in common that the program poqexec.exe with the following statement causes problems.

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

There is a knowledge base article for Windows Vista on error 0xc0000034 at [8]. he problem is that a setup command to be executed cannot be completed. There, method 3 describes how to delete a SetupExecute value in the registry. [Update: the following commands seem to work, see also comments, but are suboptimal – so go through the info in themext tip section first].

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

The first command causes the relevant hive (registry structure) to be loaded in the Reg command. However, it is important to make sure that the correct hive is loaded from the Windows 7 installation. Therefore, check whether the Windows 7 installation is really located on the logical drive C: (in the concrete example, drive D: would have to be used). This is especially important for multiboot systems, because the Windows PE environment automatically assigns drive letters to the partitions. The second command then deletes the entry for SetupExecute from the key. The third command inserts an empty entry.

One approach (after repairing the system) would then be to have the system checked for defective system files, perform the remaining preparatory measures [C] and attempt the installation not via Windows Update but via the corresponding ISO file.

Tip: If you can boot the system with a Windows RE environment and get to the pending.xml file, there may be another solution. At [12] a user describes that he analyzed the file c:\windows\winsxs\poqexec.log. There he found the statement that triggered the error code C000009A. In the next step, he then opened pending.xml in an editor, searched for the corresponding XML node and commented out the XML line < …> by inserting a ! character (<! …). After saving, he was able to reboot Windows 7 and run the update. The user suspects a problem with a language pack – I have also found this as a cause in other postings.

At [21] the user thiswood describes how he could fix the problem by intervening in the pending.xml. If an entry 000000000000.cdf-ms is found in this file, the underlying XML node, which may look something like this:

<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"/>

may be deleted or commented out. After restarting the system, it takes about 10-15 minutes until Windows returns to the login screen. [Update: In the meantime, Microsoft has published an article at [22] on how to remove the entry. There is also a VBScript program to remove all POQ XML accounts in the Pending.xml. Those who can boot the system using the above methods may want to try the script. ]

The other recommended approach is to delete pending.xml and then reboot. Personally, however, I would rename pending.xml to still be able to access its contents if necessary. After a restart you can then check whether Windows 7 can boot.

Update: Another cause of the problem seems to be confirmed [18]. As already suspected above, a missing language file might be the cause for some users. Under [F] I have written another post dealing with the language file problem. It looks like there are leftover language files in some systems. I have no idea whether this is due to a bug in WAIK or whether manufacturers or users are making mistakes. But maybe the hints will help all readers who use CBS.log to find errors in language files.

Other users used the tool Driver Sweeper from Phyxion. This tool allows to remove driver remnants of ATI and nVideo driver installations from the system. However, this removal does not seem to work cleanly and an .inf file is lost. However, before trying the workarounds in the relevant article, an analysis of the CBS.log should be performed:

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

The errors 0x800F0A13 or 0x800F0826 can also occur in the CBS.log. The article [18] outlines how to copy the missing ATI file from a Windows image (WIM) to the system.

However, in the cases where the above error cause is ruled out, other corrupted/missing files may be the cause. Here I would like to refer to the discussion contributions [19, 20] in the Microsoft Technet forum, where André Ziegler of WinVistaSide.de and further users compiled solution possibilities. All approaches have in common that the steps outlined above for booting the system and analyzing the CBS.log were performed. 


Cookies helps to fund this blog: Cookie settings
Advertising


This entry was posted in issue, Windows and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *