Resuelto: Cómo instalar .NET 3.5 en Windows 8

app-requires-net-3.5-3.0-2.0Si está leyendo esta página, es probable que haya estado intentando ejecutar una aplicación que está pidiendo tener.NET 3.5 o superior, volviendo a 2.0. La buena noticia es que.NET 3.5 (por cierto, ¿qué es.NET?) puede manejar todas las versiones anteriores de.NET, así que sólo necesita instalarlo una vez.

La mala noticia es que la instalación a veces falla y aunque el problema está ampliamente documentado, las soluciones son escasas y muchas no funcionan. Yo mismo me he topado con este problema con una nueva instalación de Windows, así que quería compartir cómo salí de él. Haré muchas correcciones posibles para esto, desde la más fácil hasta la más difícil.

Corrección 1: habilitar .NET 3.5 en el panel de control

Abra el panel de control de Windows, busque “Activar o desactivar características de Windows” y haga clic en ese enlace. Se abrirá un cuadro de diálogo y podrá ver que .NET Framework 3.5 no está seleccionado. Para añadir hacerla activa, márquela y haga clic en Aceptar.

enable-net3.5-control-panel

En teoría, Windows debería descargar los archivos necesarios de la web, instalar el framework, y eso es todo. Enhorabuena, ya puedes ejecutar tu aplicación. Desafortunadamente, muchos usuarios encontrarán un temido error código 0x800F0906 .

Arreglo 2: qué es el código 0x800F0906 y cómo rodearlo

En el sitio oficial de soporte de Windows se documentan una serie de errores asociados con este error en particular. El error significa que por alguna razón, Windows no puede descargar los archivos necesarios para instalar.NET 3.5.

Este es un error bastante genérico, y por supuesto, lo primero que dice Microsoft es “compruebe su conexión a Internet”, lo cual es una buena pregunta, pero lo más probable es que su Internet funcione bien, y así es como llegó a este sitio.

Lo primero que intenté fue descargar una distribución completa de 175MB de NET 3.5, pero la instalación también falló, demostrando que no era un problema de conectividad a Internet.

Como la descarga no funciona, la otra solución es instalar el framework desde un medio local, USB Disk o DVD ROM dependiendo de lo que se tenga a mano. La mayoría de los fabricantes de equipos originales ya no envían discos con sus ordenadores, y la mayoría tampoco proporciona una memoria USB de instalación de Windows.

Este es un gran problema porque sin duda quiere tener acceso a una instalación de Windows AHORA MISMO, y básicamente tiene que hacer lo siguiente

  • Ordenar un dispositivo con sistema operativo de inicio desde el fabricante del PC
  • Pídele uno prestado a un amigo
  • Descargue una imagen ISO de instalación de Windows y cree un disco de instalación USB de inicio. Esto es cuando tener amigos frikis es útil.

Tenga en cuenta que para construir un disco de instalación de Windows de arranque desde un archivo ISO, necesita el arranque USB de Windows, que requiere…. lo adivinó….NET 3.5 (la URL oficial está desactivada ahora mismo, pero puede ser temporal, aquí hay una copia de seguridad de las descargas de CNET).

Alternativamente, también puede simplemente montar el ISO como una unidad virtual y copiar los archivos a un disco local o algo así. No es necesario “arrancar” de él.

Tenía una máquina Windows XP a mano, así que la usé para crear mi Windows 8 USB Boot. Sin embargo, si no tiene tanta suerte, existen otras utilidades USB de arranque que pretenden sustituir a la propia herramienta de Microsoft. NO he usado ninguno de ellos, así que depende de ti decidir si quieres intentarlo.

Una vez que tenga los archivos de instalación de Windows en un lugar conocido, puede utilizar la utilidad DISM (Deployment Image Servicing and Management) para habilitar NET 3.5 para usted. Para ello, debe abrir un símbolo del sistema en modo Administrador buscando “símbolo del sistema”, haga clic con el botón derecho del ratón en el icono y seleccione “Ejecutar como administrador”. A continuación, puede ejecutar el siguiente comando:

Desmantelar /en línea /habilitar-característica /nombre de la característica:NetFx3 /Todo /Fuente:F:sourcessxs /LimitAccess

Tenga en cuenta que en mi caso, mis archivos de instalación de Windows estaban en F: pero esto podría ser diferente en su sistema. Sustituir F: con el accionamiento adecuado.

Este procedimiento está documentado oficialmente en http://support.microsoft.com/kb/2734782, pero pensé que carecía de contexto y explicaciones. Si tiene suerte, NET 3.5 debería estar instalado y puede ejecutar su aplicación!

Desafortunadamente, no tuve tanta suerte y me encontré ante un nuevo mensaje de error: “Error 0x800f081f. Los archivos fuente no se han podido encontrar. Utilice la opción “fuente” para especificar la ubicación de los archivos necesarios para restaurar la función. Para obtener más información sobre cómo especificar una ubicación de origen, consulte http://go.microsoft.com/fwlink/?LinkId=243077″ (la página enlaza con http://technet.microsoft.com/en-us/library/hh825020.aspx, que es cómo configurar una fuente de reparación de Windows).

Tenga en cuenta que si desea abrir el archivo dism.log, es posible que se encuentre mirando un poco de texto y un montón de basura que parecen caracteres asiáticos. Esto se debe a que el lector de texto no está utilizando la codificación de caracteres adecuada. Pude leer el registro correctamente abriendo el archivo en Word y seleccionando manualmente la codificación UTF-8. El registro no proporcionó ninguna utilidad para arreglar esto, pero al menos pude descartarlo después de eso.

Otra solución consistía en cambiar una directiva de grupo para descargar desde una ubicación alternativa a la de Windows Update. Lo intenté, pero al final falló, así que no lo voy a añadir aquí. Si desea intentarlo, diríjase a esta página de Microsoft que explica cómo configurar la directiva de grupo para resolver este problema.

Sin embargo, encontré una solución a mi problema específico…

Arreglo 3: compruebe si algunas actualizaciones de Windows están en conflicto con el proceso de instalación

He navegado mucho por la web para arreglar esto (así que espero ahorrar su precioso tiempo compilando esto) y encontré un pequeño video que decía arreglar este problema exacto.

Curiosamente, el video NO solucionó mi problema (míralo si tienes curiosidad, puede funcionar en tu caso), pero en los comentarios, encontré una pequeña joya del usuario francés de YouTube Simon Vezina que dice:

“Si este vídeo no funciona para usted, intente eliminar KB2966826 y KB2966828 de sus actualizaciones instaladas e intente instalar de nuevo.NET 3.5 de Add & Remove Features normalmente”

Esto parecía extraño, pero las actualizaciones de Windows a veces pueden crear problemas, así que fui a comprobar si tenía estas actualizaciones: Panel de control > Agregar o quitar programas>Ver actualizaciones instaladas. En el cuadro de búsqueda, introduje KB2966826 y KB2966828 , y por supuesto, ambos estaban allí.

Hice clic en cada uno de ellos y seleccioné “Desinstalar”, y después de que desaparecieran, fui a probar de nuevo lo que se describió en el Arreglo #1. Esta vez, ¡funcionó! No se requiere reiniciar

¿Qué ha pasado?

No sé con seguridad por qué estas actualizaciones estaban causando el problema, pero en mi caso, ciertamente lo hicieron. Lo que sucede es que cuando usted instala un Windows 8.x fresco, el sistema operativo quiere actualizarle lo más rápido posible a las últimas correcciones, etc. Esto es algo bueno. Sin embargo, debido a que esto se hace ANTES de haber instalado NET 3.5, y debido a que entran en conflicto con la instalación posterior, muchas personas se topan con este problema.

Afortunadamente, la solución es simple una vez que sabes lo que es, y ahora que conozco la solución, puedo ver que esto fue documentado en línea en sitios como dslreports, superuser, o tomshardware. El problema es que la búsqueda de “Cómo instalar.NET 3.5 en Windows 8” no aparece realmente como una solución inmediata.

Espero que esta página haya conectado los puntos y le haya ahorrado tiempo. Disfruta de tus aplicaciones NET 3.x y 2.x y si no puedes hacer que funcione, no dudes en dejar un mensaje aquí, o si conoces otra solución, no dudes en añadir un comentario para ayudar a alguien más. Gracias!