Windows 2008 Server Manager both Roles and Features display Error HRESULT: 0x800F0818

 

Buona giornata a tutti Sorriso

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 Sorriso

Buona Giornata a tutti

Gianluca Maestri
Sr Support Engineer
Microsoft Enterprise Platform Support