jueves, 14 de enero de 2010

SOLUCIÓN para Error 0x8024D007 generado por Windows Update Agent 3.0

Hola de nuevo!, que gusto volver a escribir unas pocas lineas en este nuevo año que apenas comienza.
Esta vez mostrar la solución que di a un problema que se presento al querer actualizar algunos servidores bajo Windows Server 2003 std, e observado que el problema es bastante común en GOOGLE pero muchas de las respuestas que muestran en los foros no me funcionaron. Así que opte por esta que yo mismo deduje analizando los registros de la aplicación WindowsUpdateAgent3.0, estos se localizan en el archivo C:\windows\windowsupdate.log , ahí por si alguien se pregunta pero COMO HIZO ESTE AMIGO TAN INCREÍBLE ASAÑA! Jeje solo bromeo ;).

RESUMEN ;)

PROBLEMA:
en fin para no hacer mas largo el cuento vamos al grano n_n, el problema se presenta al hacer clic en “Windows Update”, cuando esta aplicación intenta conectarse dice...Error 0x8024D007 y se acaba el juego.

SOLUCIÓN:
reemplazar los siguientes archivos:
(Localizados todos en el directorio C:\windows\system32)


cdm.dll
qmgr.dll
qmgrprxy.dll
wuapi.dll
wuapi.dll.mui
wuauclt.exe
wuauclt1.exe
wuaucpl.cpl
wuaucpl.cpl.mui
wuaueng.dll
wuaueng.dll.mui
wuaueng1.dll
wuauserv.dll
wucltui.dll
wucltui.dll.mui
wupdmgr.exe
wups.dll
wups2.dll
wuweb.dll

y registrando al final los siguientes dlls
(Localizados todos en el directorio C:\windows\system32)

wups2.dll
wups.dll
wuaueng.dll
wuapi.dll
wucltui.dll
wuweb.dll
muweb.dll
qmgr.dll
qmgrprxy.dll

para probarlo desarrollo el siguiente script, al cual lo llame wuScript.bat

:: Este script presenta la solucion al error: 0x8024D007 Windows Update Agent
:: El origen de esta idea es de el siguiente foro
:: http://channel9.msdn.com/forums/Coffeehouse/198282-Automatic-Updates-Service-not-working-I-am-out-of-ideas/
::
:: NOTA: la solución no funciono del todo bien pero sirvió de base para desarrollar esta nueva :)
::
:: Script desarrollado por:
:: Ing. Jaime Alday Córdova
:: (Jimmy)
::
:: Su distribución es libre siempre y cuando se le atribuya el merito/crédito al autor.
:: Observación: como en toda situación el autor no se hace responsable de los daños que puedan ser causados al equipo
:: desde de correr este script

@echo off
set BACKUP="C:\WU_BACKUP_FOLDER"

echo "Deteniendo servicio de actualizaciones"
net stop wuauserv

IF NOT EXIST %BACKUP% (
:: Creación de carpetas necesarias para respaldos
mkdir %BACKUP%
mkdir %BACKUP%\dllcache

:: Removiendo y Respaldando archivos dañados
move %windir%\system32\wu*.* %BACKUP%\
move %windir%\system32\dllcache\wu*.* %BACKUP%\dllcache\
) ELSE (
echo "* los archivos originales ya habían sido respaldados en alguna otra ejecución pasada de este script"
)

:: Copiando nuevos archivos
copy wufiles\* %windir%\system32\ /Y

echo "Iniciando Servicio de actualizaciones"
net start wuauserv

:: Registrando dlls
regsvr32 %windir%\system32\WUPS2.DLL
regsvr32 %windir%\system32\WUPS.DLL
regsvr32 %windir%\system32\WUAUENG.DLL
regsvr32 %windir%\system32\WUAPI.DLL
:: MUCLTUI.DLL
:: not found in %windir%\system32\
:: regsvr32 MUCLTUI.DLL /S
regsvr32 %windir%\system32\WUCLTUI.DLL
regsvr32 %windir%\system32\WUWEB.DLL
regsvr32 %windir%\system32\MUWEB.DLL
regsvr32 %windir%\system32\QMGR.DLL
regsvr32 %windir%\system32\QMGRPRXY.DLL

echo "LISTO!, TEN UNA FELIZ ACTUALIZACIÓN!!! de tus equipos ws2003 ;) :D "
pause

como un plus para evitar búsquedas por todo GOOGLE (nada como un poco de humor geek n_n jeje) aquí les dejo lo que es el script con todos los archivos que utilice para que esto me funcionara.
script + archivos necesarios

bien, creo que por el momento es todo. no olviden que siempre hay que compartir el conocimiento para mejorar como personas ayudando siempre al progimo. Saludos! Y ya saben para dudas sugerencias y/o comentarios dejen un mensaje :)

2 comentarios:

Nelson dijo...

Muchas Gracias Jimy esta información ha sido para mi de un gran aporte y gracias a ti pude solucionar mi problemas Hasta luego y muchas gracias.

Saludos,
Nelson

Nekodan dijo...

Hola que tal? Gracias por tu aporte, lo implementé y me funcionó muy bien pero resulta que el servidor tiene el sistema operativo en inglés y las opciones de actualizaciones automáticas están en español. ¿cómo le cambio el idioma?

Saludos.