Framework 3.5

.NET Framework 3.5 SP1 en Windows: instalarlo bien y arreglar 0x800F081F, 0x800F0906 y compañía

noviembre 7, 2026 Window Error 11 min read
.NET Framework 3.5 SP1 en Windows: instalarlo bien y arreglar 0x800F081F, 0x800F0906 y compañía

Un programa antiguo pide .NET Framework 3.5, marcas la casilla en "Activar o desactivar las características de Windows" y la instalación falla con un código extraño. En Windows 10 y 11, .NET 3.5 viene como componente opcional y se activa, no se "instala" desde la web: lo primero que conviene probar es esa casilla con conexión a internet, y si Windows no puede bajar los archivos, se monta el ISO de la misma versión y se usa DISM con la carpeta sources\sxs como origen. Esta guía cubre Windows 10 y Windows 11, con el aviso de que Windows 10 dejó de tener soporte el 14/10/2025.

Qué es .NET Framework 3.5 SP1 y cuándo Windows lo necesita

.NET Framework 3.5 es un componente que Windows lleva integrado: por dentro, es el motor que ejecuta programas hechos con esa tecnología. "SP1" es la versión concreta que agrupa todas las actualizaciones de 3.5. Muchos programas antiguos (sobre todo de empresa, de ofimática o de gestión) están escritos para .NET 3.5 y dejan de funcionar si no está activado, aunque Windows 10 y 11 ya traigan .NET 4.x.

Durante años se instaló con un programa aparte llamado dotnetfx35setup.exe, pero en Windows 10 y 11 ese instalador ya no es la vía oficial: la forma correcta es activar el componente desde el propio Windows. Los datos de este artículo se han comprobado en octubre de 2026.

Por qué Windows no instala .NET 3.5: lo que suele fallar

Lo que ves Causa más probable Dónde se arregla
0x800F0906 o 0x800F081F Windows no puede descargar los archivos de Windows Update o el origen no vale Activar .NET 3.5 desde las características de Windows y 0x800F081F o 0x800F0906
0x800F0907 Una directiva de grupo (GPO) impide tirar de Windows Update 0x800F0907
0x800F0922 La instalación del componente se queda a medias 0x800F0922
0x800F0954 (PC de empresa) El servidor WSUS no aprueba la actualización de .NET 3.5 0x800F0907
Reinicio continuo tras marcar la casilla La imagen de Windows está dañada (servicios o archivos del sistema) Activar .NET 3.5 desde las características de Windows

Comprueba qué está bloqueando la instalación de .NET 3.5

Antes de tocar nada, conviene saber qué está fallando exactamente: un código y un mensaje. Primero, abre Win+R, escribe winver y anota la versión y compilación exactas que tienes instaladas. Después, comprueba que te queda al menos 1 GB libres en C: y que no hay una VPN o un proxy que esté cortando la conexión a Windows Update. Por último, abre el Visor de eventos con Win+R > eventvwr.msc y mira en Registros de aplicaciones y servicios > Microsoft > Windows > ApplicationManagement si hay un error reciente con origen DISM o WindowsUpdateClient.

La versión de Windows y su coincidencia con el ISO

El ISO que se monte tiene que ser de la MISMA versión y compilación que la instalada; si no coincide, sale 0x800F081F. Para comprobarlo:

ConfiguraciónSistemaAcerca de

Apunta la "Edición de Windows", la "Versión" (25H2, 24H2, etc.) y la compilación. Cuando descargues el ISO, tiene que coincidir. La versión también se ve así:

winver

Los intentos fallidos y el código que dejaron

Mira los códigos que han ido apareciendo para saber qué parte del proceso falla. En Windows 10: Panel de control > Actualización y seguridad > Ver historial de actualizaciones. En Windows 11: Configuración > Windows Update > Historial de actualizaciones. Después, abre el Visor de eventos y filtra por origen DISM o WindowsUpdateClient para confirmar la causa exacta.

El estado del propio .NET 3.5 y de Windows Update

Comprueba si .NET 3.5 está marcado como instalado y si Windows Update está corriendo:

optionalfeatures

net start wuauserv

Si el servicio de Windows Update está detenido, el problema es local; si está corriendo, el bloqueo viene de fuera (la red, la GPO o el ISO).

Comprueba: Tienes apuntados la versión de Windows, el código de error, el espacio libre y el estado de Windows Update. Con eso, elige la fila de la tabla que coincide con tu código y ve a esa parte.

Activar .NET 3.5 desde las características de Windows: el camino normal

Es la forma más limpia y la que hay que probar primero, con conexión a internet, antes de montar ningún ISO. Si la red del equipo no está limitada y la imagen de Windows está sana, suele bastar con marcar la casilla. En Home y Pro funciona igual.

Activa .NET 3.5 en Panel de control > Activar o desactivar características de Windows

  1. Pulsa Win+R, escribe optionalfeatures y pulsa Enter.
  2. Marca la casilla .NET Framework 3.5 (incluye .NET 2.0 y 3.0).
  3. Pulsa Aceptar y espera. Windows descargará los archivos desde Windows Update.
  4. Si te lo pide, reinicia el equipo.

Si la activación falla: repara la imagen antes de volver a probar

Cuando la imagen de Windows está dañada, la activación de .NET 3.5 falla aunque la red esté bien. Para repararla, abre Terminal como administrador (clic derecho en Inicio > Terminal (Administrador) en Windows 11; Windows PowerShell (Administrador) en Windows 10) y ejecuta:

dism /online /Cleanup-Image /RestoreHealth

Al terminar bien, DISM muestra La operación de restauración se completó correctamente. La operación se realizó correctamente. Después, repite los pasos de optionalfeatures.

Comprueba: Si la activación termina bien, el programa que pedía .NET 3.5 abre sin avisar de componentes faltantes. Si vuelve a fallar con otro código, ve a la parte que le toque en la tabla de arriba.

0x800F081F o 0x800F0906: instalar .NET 3.5 desde el ISO de Windows

Estos dos códigos significan que Windows no puede descargar los archivos o que el origen que le han pasado no vale. La solución es montar el ISO de la misma versión y usar DISM con la carpeta sources\sxs como origen local.

Monta el ISO de tu misma versión de Windows

  1. Doble clic sobre el archivo ISO de Windows que descargues desde la web oficial de Microsoft; se monta solo y aparece una nueva unidad en Este equipo.
  2. Anota la letra de unidad (por ejemplo D: o E:); puede variar según el PC.
  3. Comprueba con winver que la versión coincide con la instalada.
Nota: El ISO debe ser de la MISMA versión (25H2, 24H2…) y la misma edición (Home o Pro) que la instalada; si no coincide, DISM lo rechaza.

Habilita .NET 3.5 con DISM desde sources\sxs

Abre Terminal como administrador y ejecuta (cambia X por la letra del ISO):

dism /online /enable-feature /featurename:NetFx3 /all /source:X:\sources\sxs /limitaccess

Al terminar bien, DISM muestra La operación se completó correctamente. La operación de habilitación de característica se completó correctamente. Reinicia si lo pide.

Alternativa en PowerShell con Add-WindowsCapability

Si DISM se atasca con /enable-feature, prueba PowerShell con la misma unidad de origen:

Add-WindowsCapability -Online -Name NetFx3~~~~ -Source X:\sources\sxs
Comprueba: Tras reiniciar, abre de nuevo optionalfeatures y comprueba que .NET Framework 3.5 aparece marcado. Si el programa sigue protestando, ve a la última parte de la guía.

0x800F0907: una directiva de grupo bloquea .NET 3.5 en el equipo

Este código aparece cuando no hay un origen alternativo válido y una directiva de grupo impide que Windows baje los archivos desde Windows Update. Casi siempre pasa en PCs de empresa o educativos gestionados por un administrador.

Averigua si estás en un equipo gestionado

ConfiguraciónCuentasTu información

Si bajo tu nombre aparece el de una empresa o un centro educativo, el equipo lo gestiona un administrador y la GPO la cambia él. La edición de la herramienta de directivas (gpedit.msc) no está en Windows Home: si la necesitas, tendrás que entrar como administrador o pedir al técnico que la abra.

Salida desde local: monta el ISO y usa el comando

La salida es idéntica a la parte anterior: monta el ISO de tu misma versión y ejecuta el mismo DISM con /source:X:\sources\sxs. El parámetro /limitaccess es importante: le dice a DISM que NO intente bajar nada de internet, así esquiva la GPO.

En un PC de empresa con WSUS: 0x800F0954

En redes con WSUS (el servidor de actualizaciones que usan muchas empresas), el 0x800F0954 significa que el servidor no aprueba la actualización de .NET 3.5. La solución no la puede hacer el usuario: la resuelve el administrador del dominio, aprobando la actualización o reasignando el origen. Mientras tanto, el ISO local con el mismo comando DISM también funciona en estos equipos.

Comprueba: Si la activación termina bien, el programa que pedía .NET 3.5 abre. Si el código se repite y estás en un PC de empresa, habla con el administrador antes de seguir tocando.

0x800F0922 o instalación que se queda a medias

Este código indica que la propia instalación del componente falla, normalmente porque la caché de Windows Update está sucia o porque el disco no tiene espacio. Antes de restaurar nada, prueba a limpiar la caché y a revisar el almacenamiento.

Limpia la papelera de Windows Update y vuelve a probar

  1. Abre Terminal como administrador.
  2. Detén los servicios:

net stop wuauserv
net stop bits
  1. Renombra la carpeta de descarga de actualizaciones:

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
  1. Vuelve a activar los servicios:

net start bits
net start wuauserv
  1. Abre optionalfeatures, marca .NET Framework 3.5 y acepta.

Comprueba que el disco no está lleno y que .NET 3.5 arranca bien

ConfiguraciónSistemaAlmacenamiento

Y en Terminal como administrador:

sc query NetFx3
Comprueba: Si la activación termina bien, el componente aparece marcado en optionalfeatures. Si el sc query NetFx3 muestra STOPPED después de marcar la casilla, el problema es de arranque del componente y hay que pasar a la última parte.

Si nada de lo anterior instala .NET 3.5 SP1

Últimos recursos, de menos a más drástico. Antes de cualquiera, haz un punto de restauración o copia de seguridad de lo importante.

Reparar archivos de sistema con sfc

Abre Terminal como administrador y ejecuta:

sfc /scannow

Si repara algo, muestra Protección de recursos de Windows encontró archivos dañados y los reparó correctamente. Si no encuentra nada dañado, muestra Protección de recursos de Windows no encontró ninguna infracción de integridad. Después, vuelve a probar optionalfeatures.

Instalación de reparación (in situ) conservando programas

Es el último intento antes de formatear. Consiste en arrancar el asistente de instalación de Windows desde el escritorio, eligiendo la opción "Conservar archivos y aplicaciones". El propio asistente reemplaza los archivos de sistema dañados y deja los programas y datos en su sitio. La ISO hay que descargarla desde la web oficial de Microsoft.

Cuidado: Una reparación in situ puede dejar .NET 3.5 a medias si había algo roto; después, repite los pasos de optionalfeatures o del DISM con el ISO.

Reinstalación limpia de Windows como último paso

Si ni sfc ni la reparación in situ lo arreglan, queda reinstalar Windows desde cero. Haz copia de seguridad antes. La forma más cómoda en Windows 11 es:

ConfiguraciónSistemaRecuperaciónRestablecer este PCQuitar todo
Nota: Tras un reset, .NET 3.5 vuelve a estar disponible y se vuelve a activar desde optionalfeatures con conexión a internet.
Comprueba: Tras la reinstalación, marca .NET Framework 3.5 en optionalfeatures y reinicia. El programa que lo pedía debería abrir sin avisos.

Lo que ya tienes claro sobre .NET 3.5 SP1

  • La vía correcta en Windows 10 y 11 es optionalfeatures (Activar o desactivar características de Windows).
  • Si falla con 0x800F081F o 0x800F0906, el origen bueno es el ISO de la misma versión: dism /online /enable-feature /featurename:NetFx3 /all /source:X:\sources\sxs /limitaccess.
  • En PowerShell, el equivalente es Add-WindowsCapability -Online -Name NetFx3~~~~ -Source X:\sources\sxs.
  • 0x800F0907 y 0x800F0954 apuntan a una directiva de grupo o un servidor WSUS: en un PC de empresa, lo resuelve el administrador.
  • La versión instalada se ve con winver; el ISO que montes tiene que ser de esa misma versión y compilación.
  • Si nada funciona, repara primero con dism /online /Cleanup-Image /RestoreHealth y luego con sfc /scannow; la reinstalación limpia es el último paso.

Dudas sobre .NET Framework 3.5 SP1 y los errores 0x800F081F / 0x800F0906

1. ¿Se puede instalar .NET Framework 3.5 SP1 sin conexión a internet en Windows 10?

Sí, con el instalador offline (microsoft.com/es-es/download/dotnet-framework-3-5-sp1). Tras bajarlo, ejecútalo como administrador y reinicia. Si Windows pide igualmente archivos, el paquete .cab en la carpeta C:\Windows\WinSxS resuelve el error 0x800F081F.

2. ¿Qué es .NET Framework 3.5 SP1 y para qué sirve?

Es la versión 3.5 con el Service Pack 1 de la plataforma .NET de Microsoft, que muchos programas antiguos necesitan para arrancar en Windows 10 y 11. Windows 10/11 la traen instaladas a medias: si la desactivas o la pide un programa, aparece el error 0x800F081F o 0x800F0906 al habilitarla.

3. ¿Cómo descargo Microsoft .NET Framework 3.5 SP1 para Windows 10 de 64 bits?

Desde la web oficial de Microsoft entra a dotnet.microsoft.com/download/dotnet-framework, busca la 3.5 SP1 y descarga el paquete de 64 bits (unos 231 MB). Ejecútalo como administrador y sigue el asistente; suele tardar entre 2 y 5 minutos según el equipo.

4. ¿Dónde está el instalador offline de .NET Framework 3.5 para Windows 10 de 64 bits?

Está en la página oficial de descargas de Microsoft, sección .NET Framework. El archivo pesa alrededor de 231 MB y sirve tanto para Windows 10 como para Windows 11, en sus versiones de 32 y 64 bits, sin depender de Windows Update.

5. ¿Cómo se descarga e instala .NET Framework 3.5 hoy?

Ve a dotnet.microsoft.com/download/dotnet-framework, elige la 3.5 SP1 y pulsa en Download. Abre el archivo descargado como administrador y acepta; si marca la casilla «Descargar e instalar» tardará unos 3 minutos con conexión estable. Reinicia al terminar.

Fuentes

  1. MicrosoftInstall .NET Framework 3.5 on Windows 10 – Microsoft Learnconsultado el 16/10/2026
  2. GithubInstalling .NET Framework 3.5 using offline installer for … – GitHubconsultado el 16/10/2026
  3. MicrosoftErrores al instalar .NET Framework 3.5 (0x800F081F, 0x800F0906, 0x800F0907, 0x800F0922, 0x800F0954) — documentación oficialconsultado el 16/10/2026