Error 0x800f0954

Error 0x800F0954 en Windows 11 y Windows 10: por qué sale y cómo arreglarlo

octubre 23, 2026 Window Error 13 min read
Error 0x800F0954 en Windows 11 y Windows 10: por qué sale y cómo arreglarlo

Cuando intentas activar .NET Framework 3.5, añadir un idioma, instalar el reconocimiento de voz o usar un programa que necesita .NET, Windows puede cortar la operación con el mensaje «Windows couldn't complete the requested changes… Error code: 0x800F0954». El código indica que Windows no consigue contactar con su origen de descarga: en la mayoría de los casos el equipo está obligado por una directiva a usar un servidor WSUS (Windows Server Update Services) de la empresa, o conserva esa directiva de un dominio anterior. La solución más probable es desactivar temporalmente ese servidor, instalar la característica y volver a dejarlo como estaba. Aplica a Windows 10 y Windows 11.

Datos comprobados en octubre de 2026.

Qué significa 0x800F0954 al instalar .NET Framework 3.5 u otra característica opcional

El código 0x800F0954 es un HRESULT que envuelve un error Win32 (los 0x8007XXXX se leen como el código Win32 en hexadecimal). En la práctica, Windows no consigue llegar al origen desde donde debería bajar los archivos de la característica y devuelve este resultado, tanto al activar la casilla de .NET 3.5 como al ejecutar DISM o Add-WindowsCapability.

El cuadro que muestra Windows es este:

Y DISM lo refleja en su propio formato:

Comprueba: si ves ese mensaje o el texto «Error: 0x800f0954» al instalar .NET 3.5 o cualquier otra característica opcional, estás en el caso de esta guía.

Por qué Windows devuelve 0x800F0954: lo que puede estar fallando

Lo que ves Causa más probable Dónde se arregla
.NET 3.5 falla y la red es de empresa Directiva que obliga a usar un servidor WSUS que no aprueba .NET Desactiva temporalmente el servidor WSUS en el Registro
La directiva sigue activa tras reiniciar El valor UseWUServer se vuelve a poner en 1 Desactiva temporalmente el servidor WSUS en el Registro
Falla al añadir idioma, voz o fuentes Misma directiva WSUS, distinto destino Omitir WSUS para esa instalación concreta
Sale aunque tu PC parece normal Directiva huérfana de un dominio anterior Quita la clave del Registro si viene de una directiva huérfana
Tras tocar el Registro sigue fallando Archivos locales de origen dañados Repara el origen de descarga con DISM
Panel de controlProgramasProgramas y característicasActivar o desactivar las características de Windows
Comprueba: si tu fila está en las dos primeras, pasa al diagnóstico de más abajo antes de tocar nada; si está en las dos últimas, ve directo a su parte de arreglo.

Descubre si tu equipo está obligado a usar WSUS antes de tocar nada

Antes de modificar el Registro conviene confirmar la causa. Tres comprobaciones rápidas, de menor a mayor profundidad: hablar con el administrador de la red, ver qué directivas se aplican y mirar el Registro. Si la primera ya responde, no hace falta seguir.

Pregúntale al administrador de la red si hay un servidor WSUS

  1. Anota el mensaje exacto que te sale y a qué intentabas instalar (.NET 3.5, un idioma, etc.).
  2. Pregunta al administrador si tu equipo descarga las actualizaciones de un servidor WSUS y si en ese servidor están aprobadas .NET 3.5 y la característica opcional que necesitas.
  3. Si te confirma que hay WSUS, esa es la causa más probable: ve a «Desactiva temporalmente el servidor WSUS en el Registro».
Comprueba: si el administrador te dice que no hay WSUS o que el equipo no está en dominio, pasa a «Mira el valor UseWUServer en el Registro» para salir de dudas.

Comprueba la directiva con gpresult /r en un Símbolo del sistema como administrador

  1. Pulsa Win+X y abre Terminal (Administrador) (Windows 11) o Windows PowerShell (Administrador) (Windows 10).
  2. Escribe gpresult /r y pulsa Enter.

gpresult /r

En la sección «Applied Group Policy Objects» debe aparecer, si la hay, una GPO de actualizaciones o de WSUS aplicada a tu equipo o usuario.

Applied Group Policy Objects
-----------------------------
    Default Domain Policy
    WSUS-Policy
    Workstation-Configuration
Nota: gpresult necesita permisos de administrador. En este artículo no hace falta gpedit.msc ni lusrmgr.msc, así que da igual que tu edición sea Home.
Comprueba: si entre las directivas aplicadas ves una de WSUS o de Windows Update, esa es la causa: ve a «Desactiva temporalmente el servidor WSUS en el Registro».

Mira el valor UseWUServer en el Registro

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU

Si en esa clave existe el valor UseWUServer y su dato es 1, Windows está forzado a usar ese servidor y no puede bajar la característica de Internet: la causa es esa.

Comprueba: si UseWUServer está en 1, ve a la parte de «Desactiva temporalmente el servidor WSUS en el Registro». Si no existe o vale 0, mira si queda una clave entera AU huérfana en «Quita la clave del Registro si viene de una directiva huérfana».

0x800F0954 por una directiva WSUS: instala .NET 3.5 sin pasar por él

Te toca si tu equipo está en un dominio con WSUS y el servidor no aprueba .NET 3.5 (o la característica opcional que necesitas). La idea es apagar el servidor WSUS solo para esta instalación: se modifica un valor del Registro, se reinicia, se instala .NET, y se vuelve a dejar como estaba.

Cuidado: vas a tocar el Registro. Antes de seguir, exporta la clave AU y crea un punto de restauración (en este artículo tienes ambos).

Desactiva temporalmente el servidor WSUS en el Registro

  1. Crea un punto de restauración por si algo falla: ve a la sección «Crea un punto de restauración antes del próximo cambio».
  2. Haz una copia de seguridad de la clave: clic derecho en Inicio → Ejecutar → escribe regedit.exe → Aceptar.
  3. Navega a HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate. En el árbol de la izquierda, clic derecho sobre la carpeta AU → Exportar, guárdalo en el escritorio con un nombre reconocible.
  4. En el panel derecho, doble clic sobre UseWUServer. Si el valor no existe, créalo: clic derecho en un hueco del panel derecho → Nuevo → Valor de DWORD (32 bits) con el nombre UseWUServer y con el dato 0.
  5. Cierra el Editor del Registro y reinicia el equipo.
  6. Instala .NET 3.5 desde Activar o desactivar las características de Windows o con DISM (lo tienes en el siguiente H3).
  7. Tras instalar, vuelve a abrir regedit, pon UseWUServer en 1 y reinicia otra vez.
Nota: cada instalación de una característica puede restablecer UseWUServer a 1 por sí sola. Si la activación falla o necesitas instalar varias cosas, repite los pasos.
Comprueba: si .NET 3.5 se activa sin el error 0x800F0954, has terminado: deja UseWUServer en 1 y confirma con tu administrador que WSUS ya aprueba esa característica.

Instala .NET 3.5 desde el ISO de tu misma versión de Windows

Si prefieres no tocar la directiva o el método anterior no basta, instala .NET 3.5 desde el ISO oficial de tu misma versión de Windows. Es el origen que recomienda Microsoft y evita cualquier servidor intermedio.

  1. Comprueba tu versión con Win+R → winver → Aceptar. Apunta el número de versión exacta.
  2. Descarga el ISO de esa misma versión desde la web oficial de Microsoft y monta el archivo (doble clic en Windows 10 y 11). Anota la letra de unidad que se le asigna (por ejemplo, D:).
  3. Abre Terminal (Administrador) o Símbolo del sistema (Administrador) (Win+X).
  4. Ejecuta, todo en una línea, sustituyendo X por la letra del ISO:

dism /online /enable-feature /featurename:NetFx3 /all /source:X:\sources\sxs /limitaccess
  1. En PowerShell puedes usar en su lugar:

Add-WindowsCapability -Online -Name NetFx3~~~~ -Source X:\sources\sxs
  1. Después, repara los archivos del sistema con:

dism /online /Cleanup-Image /RestoreHealth
  1. Cierra el Terminal, restablece UseWUServer a 1 en el Registro (si lo cambiaste) y reinicia.
Cuidado: el parámetro /limitaccess impide que DISM use Windows Update; quitarlo haría que volviera al servidor WSUS y al error.
Comprueba: si DISM termina con «The restore operation completed successfully» y .NET 3.5 aparece activado en Activar o desactivar las características de Windows, el error está resuelto.

0x800F0954 al instalar otra característica opcional (idioma, reconocimiento, .NET por programa)

Te toca si el error te sale al añadir un paquete de idioma, el reconocimiento de voz, fuentes complementarias o al instalar un programa (por ejemplo BarTender) que necesita .NET 3.5. La causa suele ser la misma: la directiva WSUS no aprueba esa característica. El arreglo es idéntico al del apartado anterior, solo cambia qué se instala después.

Omitir WSUS para esa instalación concreta

  1. Sigue los pasos de «Desactiva temporalmente el servidor WSUS en el Registro»: pon UseWUServer en 0, reinicia, instala la característica o el programa desde Configuración o desde su instalador.
  2. Vuelve a poner UseWUServer en 1 y reinicia.
Nota: si vas a instalar varios paquetes de idioma, repite el ciclo: cada instalación puede restablecer UseWUServer a 1.
Comprueba: si la característica se instala sin el error, restablece UseWUServer a 1 y avisa al administrador para que la apruebe en WSUS y no tengas que repetirlo.

Instalar la característica desde el ISO de la misma versión de Windows

  1. Monta el ISO de tu misma versión de Windows.
  2. Abre Terminal (Administrador) (Win+X).
  3. Para una característica disponible como capability, ejecuta en PowerShell:

Add-WindowsCapability -Online -Name "<nombre-de-capability>" -Source X:\sources\sxs
  1. Para .NET 3.5, usa el comando DISM de la sección anterior con /source:X:\sources\sxs.
  2. Al terminar, restablece UseWUServer a 1 y reinicia.
Cuidado: no descargues instaladores de .NET 3.5 ni de paquetes de idioma desde webs de terceros: el origen bueno es el ISO oficial o Windows Update una vez aprobada la característica en WSUS.
Comprueba: si la característica aparece en Configuración y el comando termina sin error, vuelve a poner UseWUServer en 1 y reinicia.

0x800F0954 en un PC particular sin servidor WSUS visible

Te toca si tu PC nunca estuvo en un dominio (o ya no lo está) y aun así sale 0x800F0954. Lo más probable es que quede una directiva huérfana en el Registro o que los archivos del origen de descarga estén dañados. Es la causa menos habitual, pero conviene descartarla.

Quita la clave del Registro si viene de una directiva huérfana

  1. Crea un punto de restauración: ve a «Crea un punto de restauración antes del próximo cambio».
  2. Pulsa Win+X → Ejecutar → escribe regedit.exe → Aceptar.
  3. Ve a HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU.
  4. Si la clave AU solo contiene UseWUServer y nada más usado por la directiva, haz clic derecho sobre AU → Eliminar. Si hay otros valores, elimina solo UseWUServer (clic derecho → Eliminar).
  5. Cierra regedit y reinicia.
  6. Intenta instalar .NET 3.5 desde Activar o desactivar las características de Windows.
Cuidado: no borres otras claves de WindowsUpdate que no sean UseWUServer o la carpeta AU entera sin estar seguro; exporta antes la clave como copia de seguridad.
Comprueba: si tras reiniciar .NET 3.5 se instala sin error, la directiva huérfana era la causa. Vuelve a abrir regedit y verifica que la clave sigue sin aparecer.

Repara el origen de descarga con DISM

  1. Abre Terminal (Administrador) (Win+X).
  2. Ejecuta:

dism /online /Cleanup-Image /RestoreHealth
  1. Cuando termine, intenta de nuevo la instalación de .NET 3.5 o de la característica opcional.

The restore operation completed successfully.
Comprueba: si ves «The restore operation completed successfully» y la característica se instala sin 0x800F0954, el origen estaba dañado y ya está reparado.

Si 0x800F0954 sigue apareciendo: el administrador de la red es quien arregla WSUS

Te toca si nada de lo anterior ha funcionado: la directiva se reaplica desde el servidor, o WSUS sigue sin aprobar lo que necesitas. En un equipo gestionado, la solución definitiva no la puedes hacer tú solo: la tiene que aplicar el administrador de la red aprobando .NET 3.5 o la característica opcional en WSUS.

Mientras tanto, los pasos anteriores son soluciones temporales. Desactivar Windows Defender, instalar «reparadores» de registro o descargar DLL sueltas no lo va a arreglar; solo el ISO de tu misma versión de Windows o un servidor WSUS que apruebe la característica son orígenes válidos.

Pide al administrador que apruebe .NET 3.5 o la característica en WSUS

Nota: la solución definitiva es que el administrador apruebe el componente en WSUS. Mientras tanto, los pasos de las secciones anteriores siguen funcionando, pero recuerda restablecer UseWUServer a 1 al terminar para no saltarte las directivas de la empresa.

Crea un punto de restauración antes del próximo cambio

Windows 11:

ConfiguraciónSistemaAcerca deProtección del sistemaConfigurar

Windows 10:

ConfiguraciónActualización y seguridadRecuperaciónInicio avanzadoConfiguración de protección del sistema
  1. Selecciona la unidad C: y pulsa Crear.
  2. Ponle un nombre reconocible (por ejemplo, «Antes de tocar WSUS») y confirma.
Comprueba: si Windows dice «El punto de protección se creó correctamente», ya tienes red de seguridad para volver atrás si algo va mal.

Lo que ya has descartado de 0x800F0954

  • WSUS corporativo que no aprueba .NET 3.5 o la característica opcional: cubierto en «Desactiva temporalmente el servidor WSUS en el Registro».
  • Directiva huérfana de un dominio anterior en un PC particular: cubierto en «Quita la clave del Registro si viene de una directiva huérfana».
  • Archivos de origen dañados: cubierto en «Repara el origen de descarga con DISM».
  • Instalar .NET 3.5 sin tocar directivas, usando el ISO oficial: cubierto en «Instala .NET 3.5 desde el ISO de tu misma versión de Windows».
  • No se recomienda: desactivar Windows Defender, usar «reparadores» de registro, bajar DLL sueltas o instalar .NET 3.5 desde webs que no sean la oficial de Microsoft.

Si tras aplicar las partes que te tocan el error sigue, el siguiente paso es hablar con el administrador de la red para que apruebe la característica en WSUS.

Dudas sobre el error 0x800F0954

1. Error 0x800F0954 al instalar .NET Framework 3.5 en Windows 11

Suele aparecer cuando Windows Update no puede descargar los archivos de .NET Framework 3.5 porque el equipo está configurado para recibir actualizaciones desde un servidor interno (WSUS) en lugar de Microsoft Update. La solución más rápida es activar la directiva “Especificar la configuración para la instalación y reparación de componentes opcionales” en gpedit.msc y elegir “Descargar contenido de reparación y componentes opcionales directamente de Windows Update”.

2. Error 0x800F0954 en Windows Server 2022

En Windows Server 2022 indica lo mismo: la fuente de actualizaciones está apuntando a WSUS y faltan los archivos fuente de la característica que intentas añadir. Puedes arreglarlo especificando los archivos de origen con DISM, por ejemplo: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs usando la ISO de instalación montada.

3. Error 0x800F0954 en Windows 11

Es el código que muestra Windows cuando no consigue instalar una característica opcional como .NET Framework 3.5 o una RSAT porque el PC recibe actualizaciones de un servidor corporativo. Desactivar esa directiva de grupo o conectar el equipo directamente a Microsoft Update durante unos minutos suelen resolver el error.

4. Error 0x800F0954 en Windows Server 2019

El significado es idéntico al de Windows Server 2022: la instalación de la característica se queda sin archivos porque la política de grupo apunta a WSUS. Puedes forzar la descarga desde Windows Update con la clave de registro “RepairContentServerSource” o montando la ISO del servidor y usando /Source con DISM.

5. Error 0x800F0954 al instalar herramientas RSAT

También aparece aquí porque las RSAT se entregan como características opcionales y dependen del mismo canal de descarga que .NET 3.5. Cambia la directiva para que Windows baje los componentes de Microsoft Update, o instala la RSAT concreta a mano desde “Configuración → Aplicaciones → Características opcionales” en Windows 11 y 10.

Fuentes

  1. MicrosoftLanguage pack installation fails with error 0x800F0954consultado el 15/10/2026
  2. MicrosoftErrores al instalar .NET Framework 3.5 (0x800F081F, 0x800F0906, 0x800F0907, 0x800F0922, 0x800F0954) — documentación oficialconsultado el 15/10/2026