miércoles, 28 de agosto de 2013

Solucionar error de instalación de .NET Framework (cualquier versión)


Resumen: En determinadas ocasiones la instalación de .Net Framework se daña, y no nos es posible instalar nuevas versiones ni mucho menos quitar la versión dañada. en este post se explica como resolver este problema.
Actualización 08 de julio de 2012: He agregado al final una nueva versión de .Net Framework Setup CleanUp Utility y un enlace nuevo para descargar .NET Framework 4.0.

 les quiero comentar en esta oportunidad como resolver el problema que se presenta cuando las actualizaciones automáticas, o las manuales por cualquiera de los caminos posibles (incluyendo Windows Update) arrijan error al intentar instalar .Net Framework de Microsoft, y a veces, peor aun, no se deja desinstalar.

Los mensajes de error que pueden aparecer indicando que no se ha logrado la instalación de alguna de las versiones de .NET Framework, pueden ser ocasionados por daños en la instalación de la versión previa, o por alguna incoherencia en el estado de la base de datos MSI.
Los paquetes MSI (Microsoft Installer) se definen como instaladores de Microsoft, aquellos paquetes de software que contienen la información necesaria para automatizar su instalación, minimizando la intervención del usuario, porque toda la información está contenida en el propio fichero "msi". La información de instalación, y a menudo los archivos mismos, son colocados en paquetes de instalación, bases de datos estructuradas como OLE Structured Storage Files (almacenamiento estructurado de ficheros) y comúnmente conocido como "MSI files" por su extensión de archivo (comparar: .deb, RPM del ambiente linux). Este sistema provee la generación automática de la secuencia de desinstalación. Windows Installer ha permitido reemplazar las antiguas versiones de InstallShield y WISE. Pero vamos a la solución del problema:
Lo mas común  es encontrar mensajes como estos:





La solución a este problema no es simple si no se quiere trabajar mucho. Por un lado es mas productivo desinstalar todos las versiones de .NET Framework, desde la la versión mas reciente a la mas antigua, en ese orden, que tratar de quitar solo aquella que está dando problemas, porque puede ocurrir que nuevamente falle la instalación. Por otro lado dado que la mayoría de ellas son actualizaciones que usan como base, la versión anterior, es que no es posible quitarlas en el mismo orden en que se instalaron, aumentaría el desorden en el registro y los niveles de inconsistencia en las bases de datos MSI. Por la misma razón es que no debería ser posible tener instalada la versión .NET Framework 3.5 sin tener antes instalada la versión 3.0, por ejemplo
Desinstalando todas las versiones .NET Framework
Método 1: Manualmente
Vaya a Panel de Control (Menú Inicio | Configuración | Panel de control o Menú Inicio | Panel de Control, dependiendo de la versión de Windows)
Haga doble clic en Agregar o quitar programas.
Busque cada versión de .NET Framework que ya está instalado en el equipo. y A continuación, desinstale todas las versiones de .NET Framework, desde la versión mas reciente (numero de versión mayor) a las mas antigua (numero de versión menor)
Cuando se le pida, reinicie el equipo.
Método 2: Automáticamente
Lo mas probable es que como se ha dañado la base de datos MSI o hay inconsistencias en el registro de Windows, también se halla perdido la secuencia de desinstalación de los paquetes .NET Framework, por lo que, eventualmente,  tampoco podríamos desinstalar manualmente, para ello, existe una aplicación creada por Microsoft y que pueden descargar desde mi casilla Dropbox, la aplicación se llama .Net Framework Clean Up Utility. esta es una aplicación pequeña, portátil y gratuita diseñada para eliminar las versiones de. NET Framework y está destinada a ser usada cuando la instalación, desinstalación, reparación o un parche en el. NET Framework no funciona correctamente, por lo que se recomienda intentar primero el procedimiento manual
Esta herramienta de limpieza eliminará los archivos, directorios, claves de registro y las entradas que figuran en el apartado “Agregar o quitar programas” del Panel de Control. La aplicación cuenta con algunas características agradables como el que le permite elegir qué versión de. NET Framework se desea eliminar. Trabaja en modo desatendido. Asegúrese de leer el archivo readme.txt, pues contiene cierta información de uso práctico además de los enlaces de descarga para los instaladores. NET Framework (que de todas formas se indican al final)
La situación inicial puede ser algo como esto:


A modo de ejemplo mostraré que es posible usar la herramienta para quitar solamente la ultima versión presente en el equipo (Microsoft .NET Framework 3.5 SP1) . Una vez descargada la aplicación, la ejecutamos:

Después de responder que “Si” a ambos cuadros de diálogos, veremos que la interfaz de la aplicación es muy simple:



En la imagen se muestran las versiones sobre las que la aplicación puede operar, como decía mas arriba para muestra, escogeré la ultima versión instalada y la quitaremos:

Después del clic en “Cleanup Now”, la aplicación comenzará a quitar la versión indicada. Eliminando archivos, limpiando directorios, actualizando el registro y finalmente quitará las la información que figura en “Agregar o quitar Programas”. Y al revisar, ya veremos que no está

Bien, pero como lo que se recomienda es quitar todas las instalaciones de .Net Framework, haremos eso precisamente, por lo que escogeremos la opción que así lo indica:



Clic en “Cleanup Now” y la aplicación se encargará de hacer el trabajo tedioso. Frente a “Current Status” podremos ver la tarea actual que esta realizando la aplicación, que son las mencionadas antes. Finalmente, debemos revisar en el Panel de Control | Agregar o quitar programas, si la aplicación quitó todo:



En mi caso quedaba uno, por lo que procedí a quitarlo “a mano”, desde “Agregar o Quitar programas”.
Luego de todo esto se recomiendo con mucho énfasis, realizar una limpieza del registro de Windows con la herramienta gratuita CCleaner, de Pririform, pueden descargar la ultima versión desdehttp://www.piriform.com/ccleaner/download. Si alguno necesita una explicación de como usarlo coméntelo al final del post y publicaré algo al respecto.
Finalmente reiniciamos el equipo, y procedemos a la reinstalación de las versiones de .NET Framework hasta la que queramos tener. Reitero que deben tener cuidado de no instalar una versión sin tener instalada la previa.
Los enlaces de Microsoft para conseguir las versiones oficiales de .NET Framework son:
  • Para descargar la versión 1.0 de .NET Framework, visite el siguiente sitio Web de Microsoft: CLICK PARA DESCARGAR
  • Para descargar el Service Pack 3 de .NET Framework 1.0, visite el siguiente sitio Web de Microsoft: CLICK PARA DESCARGAR
  • Para descargar .NET Framework 1.1, visite el siguiente sitio Web de Microsoft:CLICK PARA DESCARGAR
  • Para descargar el Service Pack 1 de .NET Framework 1.1, visite el siguiente sitio Web de Microsoft: CLICK PARA DESCARGAR 
  • Para descargar la versión 2.0 de .NET Framework, visite el siguiente sitio Web de Microsoft: CLICK PARA DESCARGAR
  • Para descargar el Service Pack 1 de .NET Framework 2.0, visite el siguiente sitio Web de Microsoft:CLICK PARA DESCARGAR
  • Para descargar .NET Framework 3.0, visite el siguiente sitio Web de Microsoft:CLICK PARA DESCARGAR
  • Para descargar el Service Pack 1 de .NET Framework 3.0, visite el siguiente sitio Web de Microsoft: CLICK PARA DESCARGAR
  • Para descargar .NET Framework 3.5, visite el siguiente sitio Web de Microsoft:CLICK PARA DESCARGAR
  • Para descargar .NET FRamework 4.0, visite el siguiente sitio Web de Microsoft:CLICK PARA DESCARGAR

Hay una nueva versión de la herramienta .NET Framwork Clean Up Utility, que puede descargar CLICK PARA DESCARGAR.
La diferencia entre esta versión y la anterior es que es capaz de "ver" la instalación de la versión 4.0 de .NET Framework. Como muestran las siguientes imágenes:


La versión anterior mostraba en "Product to cleanup", solo hasta la versión .NET Framework 1.1

Ahora la nueva versión es capaz de ver la instalación de .NET Framework 4.0

Sin embargo esta versión también soporta las versiones intermedias, la lista se muestra a continuación:
NET Framework cleanup tool remueve los siguientes productos:
  • .NET Framework - All Versions
  • .NET Framework - All Versions (Tablet PC and Media Center)
  • .NET Framework - All Versions (Windows Server 2003)
  • .NET Framework - All Versions (Windows Vista and Windows Server 2008)
  • .NET Framework - All Versions (Windows 7)
  • .NET Framework 1.0
  • .NET Framework 1.1
  • .NET Framework 2.0
  • .NET Framework 3.0
  • .NET Framework 3.5
  • .NET Framework 4

0 comentarios :

Publicar un comentario