Aktualizace 21.3.2011: Na blogu Microsoftu se objevila informace, že níže uvedený článek KB975484 byl rozšířen o .VBS skript, který pomůže všem, kteří se dostali k chybě 0xc0000034. Bacha, je nutné přepnout na anglickou verzi článku, v češtině ty informace zatím chybějí. Zároveň článek pomůže pouze těm, kteří aktuálně trpí uvedenou chybou, nepomůže těm, kteří si pomohli úpravou xml nebo odmazali SetupExecute. Takže pro mnoho lidí přichází MS s řešením s křížkem po funuse.
Dnes na nás čekalo nepříjemné překvapení na několika pracovních stanicích a noteboocích, na nichž se večer při vypínání objevila hláška, že se bude instalovat SP1 z WSUS. Předem podotýkám, že jsme aplikaci SP1 testovali a nenarazili na problém – jak se ale dnes ukázalo, testovali jsme nedokonale.
Podle řady uživatelů s podobným problémem to vypadá, že se chyba projeví u x64 instalací, které jsou členy domény, SP1 je tam “tlačen” z WSUSu a to během vypínání počítače. V průběhu testování jsme samozřejmě zvolili manuální update SP1 (abychom sledovali průběh) a ejhle – ono to není stejné
Problém je to tak častý, že si již vynutil aktualizaci http://support.microsoft.com/KB/975484. Některým uživatelům bylo umožněno provést obnovu předchozího stavu pomocí Obnovení systému, některým prostě Recovery points chyběly. Řadě lidí zabrala Metoda 2, u ní bacha na volbu správného písmenka jednotky. WinRE totiž nabootují do RAMDISKu označeného jako X:. C: je pak většinou ta 100 MB partition, kterou si instalace W7 vytváří (a normálně nemá přiřazené písmeno), takže “bývalé céčko” má pro účely opravy přiřazeno písmeno D: Zabrat by tak měly příkazy:
reg load HKLM\BaseSystem D:\Windows\System32\config\SYSTEM
reg delete “HKLM\BaseSystem\ControlSet001\Control\Session Manager” /v SetupExecute
reg add “HKLM\BaseSystem\ControlSet001\Control\Session Manager” /v SetupExecute /t REG_MULTI_SZ
reg unload HKLM\BaseSystem
exit
shutdown –r –t 0
My jsme nakonec na jednom stroji šli ještě jednou brutální metodou spočívající v kompletní výměně registrů ze zálohy.
Tohle se Microsoftu moc nepovedlo.
Další info:
Error 0xC0000034 during Service Pack 1 installations for Windows 7 and Windows 2008 R2
Další metoda zasahující do pending.xml
Aktualizace 12.5.2011
Pokud čirou náhodou někdo řešil chybu 0xC0000034 během instalace SP1 smazáním údajů o checkpointu ze souboru pending.xml, dostal se do stavu, který MS nazývá "torn state". Microsoft tento způsob nedoporučoval, neboť upozorňoval, že jedinou možností opravy systému je pak jeho reinstalace. Uživatelů, kteří zvolili tento nepodporovaný způsob však bylo asi tolik, že MS připravil podporovaný "workaround", který z uvedeného "torn state" pomůže ven:
- Download the SP1 standalone package for your architecture here: http://www.microsoft.com/downloads/en/details.aspx?familyId=c3202ce6-4056-4059-8a1b-3a9b77cdfdda
- Open an elevated command prompt and expand the standalone executable to a folder to get the SP1 .cab file (note the architecture)
Start /w windows6.1-KB976932-X86 /x:.\SP1_Expanded - Change to the directory you expanded the files to
cd SP1_Expanded - Use DISM to manually re-install the SP1 cab
DISM /Online /Add-Package /PackagePath:windows6.1-KB976932-X86.cab - Reboot the system when prompted
- Now open an elevated command prompt and remove SP1 using DISM (again, pay attention to architecture in the commands):
DISM /online /remove-package /packagename:Package_for_KB976932~31bf3856ad264e35~x86~6.1.1.17514 - Reinstall SP1 and you should no longer be in a torn state