Vista SP2 update: error E_FAIL(0x80004005) caused by SYSHIPER 0x80071a91- solved!
Posted by jpluimers on 2009/10/08
It took me almost 2 days to find out the cause of this one:
When performing a Service Pack 2 update on Vista (in this case a machine that was upgraded from Vista Home to Vista Ultimate), I would always get this very descriptive error message:
E_FAIL (0x80004005)
This is the relevant portion of the CBS.LOG file (%SystemRoot%\Logs\CBS\CBS.log):
2009-10-08 12:50:16, Info CSI 000008d2 Begin executing advanced installer phase 38 (0x00000026) index 1500 (0x000005dc) (sequence 1539)
Old component: (null)
New component: Microsoft-Windows-VistaServicePack-SysHiper-SP1, Version = 6.0.6002.18005, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral
Install mode: install
Installer ID: {81a34a10-4256-436a-89d6-794b97ca407c}
Installer name: [15]"Generic Command"
2009-10-08 12:50:16, Info CSI 000008d3 Performing 1 operations; 1 are not lock/unlock and follow:
LockComponentPath (10): flags: 0 comp: {l:16 b:95113b1f0548ca013e07000004058805} pathid: {l:16 b:95113b1f0548ca013f07000004058805} path: [l:206{103}]"\SystemRoot\WinSxS\x86_microsoft-windows-syshiper_31bf3856ad364e35_6.0.6002.18005_none_77fb27ec5025e18b" pid: 504 starttime: 128994722438561151 (0x01ca480440d9bd7f)
2009-10-08 12:50:16, Info CSI 000008d4 Calling generic command executable (sequence 53 (0x00000035)): [115]"C:\Windows\WinSxS\x86_microsoft-windows-syshiper_31bf3856ad364e35_6.0.6002.18005_none_77fb27ec5025e18b\syshiper.exe"
CmdLine: [211]""C:\Windows\WinSxS\x86_microsoft-windows-syshiper_31bf3856ad364e35_6.0.6002.18005_none_77fb27ec5025e18b\syshiper.exe" /install:VistaSP1-KB936330~31bf3856ad364e35~x86~~6.0.0.18000 /hide /permanent /ignorenotexist"
2009-10-08 12:50:17, Info CSI 000008d5 Done with generic command 53 (0x00000035); CreateProcess returned 0, CPAW returned S_OK
Process exit code 0 resulted in success? TRUE
Process output: [l:358 [358]"SYSHIPER: Initialized with following command parameters: /install:VistaSP1-KB936330~31bf3856ad364e35~x86~~6.0.0.18000 /hide /permanent /ignorenotexist
SYSHIPER: Failed with error hr: 0x80070002
SYSHIPER: Failed to open registry key for read
SYSHIPER: CBS key does not exist and ignoring operation for VistaSP1-KB936330~31bf3856ad364e35~x86~~6.0.0.18000
"]
2009-10-08 12:50:17, Info CSI 000008d6 Performing 1 operations; 1 are not lock/unlock and follow:
LockComponentPath (10): flags: 0 comp: {l:16 b:951c4e1f0548ca014007000004058805} pathid: {l:16 b:951c4e1f0548ca014107000004058805} path: [l:206{103}]"\SystemRoot\WinSxS\x86_microsoft-windows-syshiper_31bf3856ad364e35_6.0.6002.18005_none_77fb27ec5025e18b" pid: 504 starttime: 128994722438561151 (0x01ca480440d9bd7f)
2009-10-08 12:50:17, Info CSI 000008d7 Calling generic command executable (sequence 54 (0x00000036)): [115]"C:\Windows\WinSxS\x86_microsoft-windows-syshiper_31bf3856ad364e35_6.0.6002.18005_none_77fb27ec5025e18b\syshiper.exe"
CmdLine: [211]""C:\Windows\WinSxS\x86_microsoft-windows-syshiper_31bf3856ad364e35_6.0.6002.18005_none_77fb27ec5025e18b\syshiper.exe" /install:VistaSP1-KB936330~31bf3856ad364e35~x86~~6.0.1.18000 /hide /permanent /ignorenotexist"
2009-10-08 12:50:17, Info CSI 000008d8 Performing 1 operations; 1 are not lock/unlock and follow:
LockComponentPath (10): flags: 0 comp: {l:16 b:951c4e1f0548ca014207000004058805} pathid: {l:16 b:951c4e1f0548ca014307000004058805} path: [l:234{117}]"\SystemRoot\WinSxS\x86_microsoft.windows.s..ation.badcomponents_31bf3856ad364e35_6.0.6001.18000_none_3891bf6bc31ec194" pid: 504 starttime: 128994722438561151 (0x01ca480440d9bd7f)
2009-10-08 12:50:17, Info CSI 000008d9 Creating NT transaction (seq 1), objectname [6]"(null)"
2009-10-08 12:50:17, Info CSI 000008da Created NT transaction (seq 1) result 0x00000000, handle @0x6b20
2009-10-08 12:50:17, Info CSI 000008db@2009/10/8:10:50:17.182 CSI perf trace:
CSIPERF:TXCOMMIT;5
2009-10-08 12:50:17, Error CSI 000008dc (F) Done with generic command 54 (0x00000036); CreateProcess returned 0, CPAW returned S_OK
Process exit code 6801 (0x00001a91) resulted in success? FALSE
Process output: [l:287 [287]"SYSHIPER: Initialized with following command parameters: /install:VistaSP1-KB936330~31bf3856ad364e35~x86~~6.0.1.18000 /hide /permanent /ignorenotexist
SYSHIPER: Failed with error hr: 0x80071a91
SYSHIPER: Failed to open registry key for write
SYSHIPER: Failed to backup registry key
"][gle=0x80004005]
2009-10-08 12:50:17, Info CSI 000008dd@2009/10/8:10:50:17.182 CSI Advanced installer perf trace:
CSIPERF:AIDONE;{81a34a10-4256-436a-89d6-794b97ca407c};Microsoft-Windows-VistaServicePack-SysHiper-SP1, Version = 6.0.6002.18005, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral;240239
2009-10-08 12:50:17, Error CSI 000008de (F) Failed execution of queue item Installer: Generic Command ({81a34a10-4256-436a-89d6-794b97ca407c}) with HRESULT HRESULT_FROM_WIN32(14109). Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable (2)[gle=0x80004005]
2009-10-08 12:51:08, Info CSI 000008df End executing advanced installer (sequence 1539)
Completion status: HRESULT_FROM_WIN32(ERROR_ADVANCED_INSTALLER_FAILED)
Since the install and rollback of SP2 takes a very long time, it took me almost 2 days to find out the cause:
All normal solutions for issues with 0x80004005, 0x80070002 or 0x80071a91 failed.
I finally found the solution in a thread on vistax64.com.
This registry key was missing:
HKLM\Software\Microsoft\Windows\CurrentVersion\SysHiper
After adding that key in RegEdit, SP2 installed fine (and much faster too).
Many thanks user veldthui!
Back to normal work!
–jeroen
coti said
It worked for me too (i did a sfc /scannow in the same time), thanks a lot
mike said
THANK YOU jeroen!
this problem got me 2 days to find the resolution!
thank you again!
mike from italy
Bru said
Thanks a lot
Kathleen said
Where do you add the registry key?
jpluimers said
It’s in the above article: HKLM is shorthand for HKEY_LOCAL_MACHINE, so you can use RegEdit to create this key (it doesn’t need to have any subkeys or content):
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SysHiper
–jeroen
Rand hart said
Thank you so much for posting this: the solution still works like a charm (and does save much head-banging)!
jpluimers said
:)
Marcus Pfeiffer said
Wow… The registry key did the trick! After many hours banging my head against the wall, the addition of the (empty) key worked first time. Thanks a bunch!
jpluimers said
Glad to read I wasn’t the only one banging his head :-)
Dustin said
Worked for me as well, had tried almost everything else, including some very useless advise from Microsoft.
Thanks
Jurjen said
It worked for me too !!
thanks !!
jpluimers said
You are most welcome :-)
–jeroen
aCjaB said
It worked for me
Thanks!!