SP3 Acceso denegado - La instalación del Service Pack no se completó - 8024D007
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ó”

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