lunedì 7 maggio 2007

Problemi con l'installazione delle Service Pack 2 per Windows 2003 Server

Vi siete mai trovati nella sgradevole situazione in cui e' necessario effettuare gli aggiornamenti di Windows (ad esempio un intero pacchetto di Service Pack) e il vostro sistema operativo, si rifiuta di applicare le nuove patch rilasciate?

Ebbene, la disavventura mi e' capitata proprio oggi, quando, preso da un attacco di stacanovismo acuto, ho deciso di cominciare bene la settimana anticipando di una buona mezz'ora l'ingresso in azienda e ho cercato di accedere ad uno dei nostri server tramite remote desktops avendo la fortuna di ricevere una bella porta in faccia!

Dopo un sano riavvio della macchina, sono finalmente riuscito a connettermi attraverso desktop remoto e, sfogliando il registro eventi di Windows per cercare qualche indizio che mi facesse capire cosa fosse successo, ho notato alcuni simpatici errori del tipo:

Event Type: Error
Event Source: NtServicePackEvent
Category: NoneEvent
ID: 4373
Date: 07/05/2007
Time: 10.29.58
User: N/A
Computer: XXXXXXXX
Description:Windows Server 2003 KB833407 installation failed.The parameter is incorrect.

Microsoft pubblica una descrizione approfondita del problema di cui sopra all'indirizzo http://support.microsoft.com/kb/822798 proponendo diverse ipotesi di soluzione.

Tra le varie ipotesi ho deciso di seguire quella che proponeva di rinominare il file edb.log nel file edb.tst, e tutto ha ripreso a funzionare normalmente, tanto che, persino gli aggiornamenti falliti prima di applicare le SP 2 sono stati installati senza alcun problema.

Di seguito le operazioni seguite per la risoluzione dell'anomalia.

1. dal prompt dei comandi di windows digitare net stop cryptsvc

2. rimuovere tutti i file tmp*.cat dalle cacrtelle:
  • %systemroot%\system32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
  • %systemroot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
3. dal prompt dei comandi digitare:
  • net stop cryptsvc
  • ren %systemroot%\System32\Catroot2\edb.log edb.tst
  • start cryptsv
  • exit