This issue can occur when a user attempts to install the Service Pack, does not restart the machine to complete the installation, installs other updates and then restarts the machine. This issue can also occur if the Service Pack is installed simultaneously with other updates when using WSUS.
During Service Pack installation, the servicing feature of Windows maintains lists of operations to be performed. Some are performed immediately; others can only be done once the system has restarted. One such list is the Primitive Operation Queue (POQ). The POQ operations that need to be performed during restart are stored in pending.xml. In the scenario showing failure, the system attempts to complete the POQ operations twice. The second attempt of the POQ fails (because it has already been done) and causes the error “0xc0000034”. Windows considers any failure at this stage of the install to be blocking and the servicing feature halts the machine from continuing.
If you are not an advanced user and are currently experiencing this error on a Windows 7-based computer, click the link below to view the recovery steps on the Microsoft website:
How to resolve "Error 0xc0000034" after installing Windows 7 Service Pack 1 (SP1)?
Preventative StepsTo help prevent this issue from occurring, download and install the update in the following KB article:
An update that prevents a "0xC0000034" error message when you try to install Windows 7 SP1 or Windows Server 2008 R2 SP1 is available
Delete the POQ entries from Pending.xmlThis method is intended to resolve the issue by creating and running a .vbs script. After you successfully create and run the .vbs script, Windows 7 Service Pack 1 installation should complete successfully.
- This .vbs script is only applicable for the 0xc0000034 error code, do not use this script for issues other than the 0xc0000034 error.
- We recommend this method if you are an advanced user.
- To use this method we recommend having access to a second computer and a removable media device such as a USB thumb drive.
Before getting started locate the following:
- Locate a second computer with access to the internet. You will use the second computer to create a script (.vbs) file. To create the script (.vbs) file you will copy the text for the script from this knowledge base article.
- Locate a removable media device such as a USB thumb drive. You will copy the script (.vbs) file that you create to the removable media device. You will then transfer the script (.vbs) file to the computer that is experiencing the issue.
Part 1:Create the script (.vbs) fileTo do this, follow these steps:
- Locate a second computer with access to the internet.
- Open Notepad.
- Copy and paste the following text into Notepad.
Dim xmlDoc, node, nodeList, fileName, backupFileName, numberOfPOQNodes
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
If Wscript.Arguments.Count = 0 Then
WScript.echo("Error! No XML file specified.")
fileName = WScript.Arguments(0)
backupFileName = Left(fileName, InStrRev(fileName, ".") - 1) & "_backup.xml"
If Not xmlDoc.load(fileName) Then
WScript.echo("Failure loading XML file " & fileName & ".")
Set nodeList = xmlDoc.documentElement.selectNodes("POQ")
numberOfPOQNodes = nodeList.Length
For Each node in nodeList
Set xmlDoc = Nothing
WScript.echo(numberOfPOQNodes & " POQ nodes removed. Script completed.")
- Click File, and then click Save as.
- Name the file Script.vbs and save the file to a removable media device such as a USB thumb drive.
Part 2: Run the script (.vbs) fileNote The following steps assume that you copied the script (.vbs) file to a USB thumb drive. If you used a different type of removable media device the steps may be slightly different.
To do this, follow these steps:
- Restart your computer and start pressing the F8 key on your keyboard. You have to press F8 before the Windows logo appears. If the Windows logo appears, you have to try again by waiting until the Windows logon prompt appears and then shutting down and restarting your computer.
Note: On a computer that is configured to boot to multiple operating systems, you can press the F8 key when the Boot Menu appears.
- Use the arrow keys to select Repair your Computer in the Advanced Boot Options area, and then press Enter. If you are prompted, select the Windows 7 installation to be repaired, and then click Next.
- Select the language and a keyboard input method, and then click Next.
- Select a user name, type your password, and then click OK.
- Under System Recovery Options, make a note of the Windows 7 drive letter listed on the line below Choose a recovery tool.
For example, you may see something similar to the following.
Operating system: Windows 7 on (C:) <VolumeName>
Note In this example, the drive letter for Windows 7 would be C.
- Under System Recovery Options, click Command Prompt.
- Insert the removable media with the script (.vbs) file that you previously created into the PC.
- At the command prompt, navigate to the drive, and the directory, that contains the script (.vbs) file that you previously created.
For example, if you previously saved the script.vbs file that you created to the root of a USB thumb drive, and the drive letter associated with the USB thumb drive is the “E” drive, you would simply type the following at the command prompt, and then press Enter.
Note If you are not sure which drive contains the removable media you can use Diskpart to display a list of drives. To run Diskpart, follow these steps.
- Type Diskpart, and then press Enter.
- Type List volume, and then press Enter.
- Make a note of the drive that contains the removable media with the script (.vbs) file that you previously created. Assuming you used a USB thumb drive, the drive type will be listed as “Removable”.
- To exit Diskpart type Exit, and then press Enter.
- At the command prompt, type the following command and press Enter:
Cscript Script.vbs <Windows _7_drive_letter>:\Windows\winsxs\pending.xml.
Where, <Windows _7_drive_letter> is the drive letter that the Windows 7 operating system is installed on.
This will run the script in the Script.vbs file. After the script completes, you may see a message similar to following.
2 POQ nodes removed. Script Completed
- To exit the command prompt type Exit, and then press Enter.
- Restart your computer. Service Pack 1 installation should now complete successfully.