SP3 Acceso denegado - La instalación del Service Pack no se completó - 8024D007

May 6th, 2009

Desde hace unos al intentar actualizar Windows XP o Windows 2003 Server os podéis encontrar con un problema.
El error via windows update es [Número de error: 0x8024D007], y si os descargáis el SP3 de xp y lo queréis instalar manualmente el error es “Acceso denegado - La instalación del Service Pack no se completó”

winupdate


El motivo es que por alguna razón desconocida algunos programas cambian los permisos en el registro de windows, y solo tiene permisos sobre él el usuario system.
Lo mismo ocurre con máquinas con Windows 2003 Server, y la solución es la misma para los dos sistemas:
Según la página de microsoft la solución es instalar SubInAcl (utilidad de MS para manipular el registro) y luego crear un bat con el contenido siguiente para que modifique dichos permisos:

cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f /grant=system=f
subinacl /subdirectories %windir%\*.* /grant=administrators=f /grant=system=f
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose

Lo que ocurre es que dicho contenido del bat no sirve, ya que el grupo administrators no existe en una instalación de XP o 2003 server en español. Si añadimos un pause al final, veremos que no se hace ningún cambio al registro.
Hay que substituir administrators por administradores, y ya funcionará el bat.

cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administradores=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administradores=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administradores=f /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=administradores=f /grant=system=f
subinacl /subdirectories %windir%\*.* /grant=administradores=f /grant=system=f
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
pause

Así que resumiendo instalamos SubInAcl, ejecutamos el bat y cuando acabe ya podremos instalar las actualizaciones sin problemas (o al menos sin este problema)

Publicado en la categoría Windows

Hacer comentario

XHTML: Puedes usar estos tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA Image Audio Version
Reload Image