Windows 2008 Server Manager both Roles and Features display Error HRESULT: 0x800F0818
Buona giornata a tutti
In questo post spiegherò come ripristinare la console Server Manager dall’errore HRRESULT 0x800F0818 causato dall’installazione di una kb non correttamente.
Come primo step scarichiamo, installiamo e eseguiamo il tool “System Update Readiness Tool” scaricabile dal seguente link:
http://support.microsoft.com/kb/947821/it
Il tool permette di identificare i pacchetti corrotti in fase d’installazione delle KB.
Al termine dell’esecuzione del tool sarà generato un file di log contente le seguenti informazioni:
Checking System Update Readiness.
Binary Version 6.1.7601.21645
Package Version 14.0 Checking Windows Servicing Packages
Checking Package Manifests and Catalogs
(f) CBS MUM Corrupt 0x00000000 servicing\Packages\Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum Expected file name Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385.mum does not match the actual file name
Checking Package Watchlist
Checking Component Watchlist
Checking Packages
Checking Component Store
Summary:
Seconds executed: 344
Found 1 errors
CBS MUM Corrupt Total count: 1
Unavailable repair files:
servicing\packages\Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum
servicing\packages\Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0.cat
Alla riga expected file name è identificato il pacchetto o i pacchetti che risultano essere corrotti. Nel nostro caso abbiamo un solo pacchetto marcato come corrotto:
Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385.mum
Scaricare la KB identificata in una cartella a piacere per esempio C:\temp
Scompattare la KB usando la seguente sintassi dal command prompt con privilegi di amministratore:
Expand -F:* UpdateKBXXXX.msu c:\Temp\KBXXXX_Unpackage
Una volta scompattata la KB scompattare il file UpdateKBXXXX.cab
usando il seguente comando:
Expand -F:* UpdateKBXXXX.CAB c:\Temp\KBXXXX_Unpackage\CAB
Modificare i permessi per accedere alla cartella C:\Windows\Servicing\Packages
takeown /F c:\Windows\Servicing\Packages /D y /R
Dare accesso all’utente per esempio administrator full control alla cartella C:\Windows\Servicing\Packages
cacls c:\Windows\Servicing\Packages /E /T /C /G "UserName":F
Rinominare i file corrotti .cat e .mum
Per esempio:
Current file name:
package_for_kb2511455_rtm~31bf3856ad364e35~amd64~~6.1.1.0.cat
package_for_kb2511455_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum
Rename file name:
_package_for_kb2511455_rtm~31bf3856ad364e35~amd64~~6.1.1.0.cat
_package_for_kb2511455_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum
Copiare i files scompattati presenti nel file cab contenuto all’interno della Kb in C:\Windows\Servicing\Packages
Aprire il registro di sistema e posizionarsi nella folder che identifica il pacchetto corrotto,
nel nostro esempio:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component BasedServicing\Packages\Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0]
Modifcare il contenuto della chiave InstallName in modo che il contenuto corrisponda alla chiave keyname
"InstallClient"="WindowsUpdateAgent"
"InstallName"="Microsoft-Windows-Foundation-Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum"
"InstallLocation"="\\\\?\\C:\\Windows\\Servicing\\Packages\\"
"CurrentState"=dword:00000070
"SelfUpdate"=dword:00000000
"Visibility"=dword:00000002
"InstallTimeHigh"=dword:01cbcd34
"InstallTimeLow"=dword:19bf2b32
"InstallUser"="S-1-5-21-1801674531-764733703-682003330-1111"
"Trusted"=dword:00000001
Nel nostro esempio dovremo modificare la chiave installname da:
Microsoft-Windows-Foundation-Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum
a Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum
Posizionarsi sulla chiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component BasedServicing\ApplicabilityEvaluationCache\Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0
e modificare il valore della chiave CurrentState da 7 a 4 esadecimale.
Reinstallare la KB corrotta a questo punto sarete in grado di aprire la console Server Manager correttamente.
In caso in cui la console non dovesse aprirsi correttamente esportare e cancellare la chiave di registro:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component BasedServicing\Packages\Package_for_KB2572076_RTM~31bf3856ad364e35~amd64~~6.1.1.0]
Reinstallare la KB corrotta a questo punto sarete in grado di aprire la console Server Manager correttamente
Grazie per il vostro prezioso tempo
Buona Giornata a tutti
Gianluca Maestri
Sr Support Engineer
Microsoft Enterprise Platform Support