miércoles, abril 13, 2011

Solución al error de instalación de KB2446704 en Windows XP

En la entrada anterior comenté que he tenido dos problemas con la última actualización para XP SP3 mediante Windows Update. Habiendo resuelto la primera, quedaba por resolver el problema correspondiente a KB2446704 (De Microsoft .NET 2.0 SP2 y 3.5).

Opero de la misma forma que antes. Descargo directamente el paquete KB2446704 desde los servidores de Microsoft, en mi caso el archivo NDP20SP2-KB2446704-v2-x86.exe.

Ejecuto el archivo y comienzo el proceso de instalación, que acaba en error, diciendo “Error grave durante la instalación”. Pincho de nuevo en el botón “Ver el archivo de registro” para ver el log de la instalación.

Abriendo el registro obtengo el siguiente error:

Returning IDOK. INSTALLMESSAGE_ERROR [El instalador encontró un error inesperado al instalar este paquete. Esto puede indicar un problema con este paquete. El código de error es 2721. ]

En el registro también aparece un enlace a un fichero de texto Msi Log, el cual abro. Buscando errores (Error, Failure,…) veo líneas que apuntan a errores aplicando parches, encontrando versiones de ficheros diferentes a las esperadas.

Al no encontrar errores de permisos u otros fallos obvios me decido a desinstalar los paquetes de .NET relacionados con la actualización. Por tanto, me voy al panel de control, agregar o quitar programas y busco todas las actualizaciones relacionadas con lo siguiente:

  • .NET 2.0
  • .NET 3.0
  • .NET 3.5

Las desinstalo todas, una a una.

Una vez concluida la instalación abro Windows Update de nuevo. Y me muestra una instalación para .NET 3.5. Esta vez se instala sin problemas.

Cierro Windows Update y lo vuelvo a abrir, me muestra ahora varias actualizaciones relacionadas con .NET, algunas de alta prioridad y otras opcionales.

Aplico las de alta prioridad, que son para los .NET que he eliminado y le doy a instalar. La instalación finaliza con éxito.

Vuelvo a reiniciar Windows Update para aplicar las actualizaciones opcionales de .NET, son básicamente para incluir ficheros de idiomas. Esta vez me muestra dos grupos de opcionales. El primer grupo es más moderno e incluye las actualizaciones del segundo, por tanto me decido por este. Le doy a instalar y lo hace correctamente.

Abro de nuevo Windows Update y compruebo que ya no hay más actualizaciones pendientes.

De esta forma he resuelto el problema de instalación.

17 comentarios:

Anónimo dijo...

Cuando dices que desinstalas lo referente a .net 2, .net 3, .net 3.5, te refieres a quitar todo lo instalado anteriormente?
gracias

airon dijo...

Exactamente. Si tienes XP SP3 como yo probablemente tengas entradas del tipo siguiente en "Agregar o quitar programas":
Microsoft .NET Framework 2.0 Service Pack...
Microsoft .NET Framework 3.0 Service Pack...
Así como quizás algunos .NET Language Pack

Pues bien, los que hagan referencia al .NET 2.0, 3.0 y 3.5 son los que tuve que desinstalar para solucionar el problema.

Espero que te sirva de ayuda.

El_Matador dijo...

una consulta: ¿como desinstalo el .NET Framework 2.0?
Al intentar desinstalarlo me dice: "El origen de instalacion de este producto no esta disponible. Compruebe que el origen existe y tiene acceso a el."
Y no me deja desinstalarlo, ¿como puedo hacer?

airon dijo...

¿Puedes poner los paquetes que quieres desinstalar? El nombre que aparece en "Agregar o quitar programas", incluido su KBXXXXXX (el número del paquete de actualización). Los relacionados con .NET 2.0, 3.0 y 3.5.

El_Matador dijo...
Este comentario ha sido eliminado por el autor.
El_Matador dijo...

Microsoft .NET Framework 2.0 Service Pack 2
KB980773
KB979909
KB958481
KB983583
KB2418241

Microsoft .NET Framework 2.0 Service Pack 2 Languaje Pack - ESN

Microsoft .NET Framework 3.0 Service Pack 2
KB958483
KB976769v2
KB977354

Microsoft .NET Framework 3.0 Service Pack 2 Languaje Pack - ESN

Las versiones 3.5 se desinstalan correctamente, el problema es con las 2.0 y 3.0

airon dijo...

Yo tenía menos paquetes, imagino que que habré hecho menos actualizaciones incrementales y mis Service Packs las han debido de incluir o que al ser Windows Home Edition mi versión, tenga alguna librería menos.
Supongo que habrás probado uno por uno a ver si desinstalaba alguno y que no lo hacen, ¿verdad?
Porque si no es así yo probaría la estrategia de eliminar primero los Language Packs que has citado y a partir de ahí el resto de paquetes. Primero los más nuevos, para acabar con los más antiguos.

Si esto no funciona todavía hay otra posibilidad. Te remito a la página de soporte de Microsoft donde te puedes descargar y utilizar la CleanUp Utility. Esta aplicación sirve para desinstalar "a mano" cualquier versión de .NET para posteriormente comenzar con una instalación limpia. Esta aplicación está catalogada como de "último recurso", es decir, una vez agotadas otras vías que funcionen.
Yo personalemente no la he utilizado, por lo que no te puedo contar mi experiencia, así que te recomiendo que leas bien la información que detalla Microsoft en el enlace que te he pasado. Es una de las soluciones que proponen a fallos similares al error que has puesto.

Si te funciona alguno de los métodos, por favor, coméntamelo y así lo tengo de referencia para el futuro.

El_Matador dijo...

CleanUp Utility de este link http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe ya no esta disponible, se descarga un archivo con extension .exe pero que en realidad es una pagina web (proba cambiandole la extension a html y abrilo con el navegador, es una pagina de error, el archivo ya no existe), pero en la misma pagina hay un link a otra herramienta llamada .NET Framework Cleanup Tool (la desinstalacion de .NET Framework con esta herramienta es automatica)
te dejo el link: http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx
ya pude desinstalar los .NET Framework, asi que gracias por haberme dado ese link

airon dijo...

Gracias por el nuevo enlace.
Me alegro que lo hayas conseguido con esa herramienta.

Anónimo dijo...

Soy el anónimo de la 1ª pregunta. Gracias a los dos por las contestaciones.
Ahora he utilizado la herramienta de limpieza desinsalando todo aparentemente y después he instalado el parche que daba el problema y supongo que ahora me entraran de nuevo las actualizaciones, no es así?
saludos.

Anónimo dijo...

Y si tengo instalado el service pack 3 con todas las actualizaciones que han ido entrando hasta la fecha.

airon dijo...

En principio sí, cuando lo instalas te pueden aparecer de nuevo algunas actualizaciones. Eso sí, no tienen por qué aparecerte todas, recuerda que algunas ya están incluidas en la KB2446704 y puede que no sea necesario volver a instalarlas y por tanto no te las muestre el WindowsUpdate.

Me alegro que te hayamos servido de ayuda.

Anónimo dijo...

hola airon, sigo siendo el anónimo.
Pues después de unos días, no me sale ninguna actualización y no se si esto es correcto, puesto que la actualización ocupaba como 12mb y con los otros net.2, net.3, net3.5, estaban instalados como 400mb. Al pc no le veo nada raro y todo funciona igual, al menos lo poco que doy uso del mismo.
saludos.

airon dijo...

Hola. ¿Has probado a ejecutar Windows Update manualmente? Por si te muestra algunas actualizaciones opcionales.
Recuerda que aunque hayamos desinstalado paquetes de .NET, al instalar KB2446704 te vuelve a incluir la mayoría de los parches, con lo que no sería necesario instalar nada más. Si al ejecutar Windows Update no te muestra nada yo daría el proceso por acabado, con el sistema totalmente al día con todas las actualizaciones.

Un saludo.

Anónimo dijo...

Bueno, con Firefox no se como hago updates en manual y el explorer no lo uso para nada.

Anónimo dijo...

Con explorer cuando me sale el update me coge una serie de archivos que no me interesa descargar y no tiene posibilidad de quitarlos como con el Firefox, pero con este no se hacer update manual.

airon dijo...

No entiendo bien lo que comentas. Con el explorer puedo marcar y no marcar actualizaciones. Con firefox no he probado.