Inicio Base de Conocimiento Cambiar versión e idioma de Windows con DISM
Windows 10/11 CMD PowerShell DISM In-place upgrade

Cambiar versión e idioma de Windows con DISM e in-place upgrade

Recopilación de comandos y herramientas para añadir, listar y eliminar paquetes de idioma en Windows 10/11 single language usando DISM, ejecutar un in-place upgrade para migrar de edición (Home → Pro, Pro → LTSC IoT, etc.) sin perder archivos ni configuraciones, y reparar paquetes AppX tras el upgrade.

SistemaWindows 10 / 11 (x64)
PrivilegiosAdministrador
Caso típicoMigrar a LTSC IoT (soporte hasta 2031)
1 · Descargar el paquete de idioma (.cab)

Windows single language no permite cambiar idioma desde Configuración. Hay que descargar el .cab del idioma deseado con un script GUI. W10_11LangPack es el más cómodo: detecta tu build y descarga el paquete correcto desde los servidores de Microsoft.

Fuente original Protegido con contraseña

Extraer el .zip, ejecutar W10_11LangPack.ps1 en PowerShell (clic derecho → Ejecutar con PowerShell). Si la política de scripts lo bloquea, ejecutar primero Set-ExecutionPolicy -Scope Process Bypass.

2 · Instalar el idioma con DISM
CMD / PowerShell como Administrador — reemplaza la ruta por la del .cab
dism /Online /Add-Package /PackagePath:C:\ruta\del\langpack.cab
3 · Listar todos los paquetes instalados

Sirve para identificar el Package Identity exacto del idioma que vas a quitar (por ejemplo el español si vas a dejar solo en-US para un in-place a LTSC IoT).

dism /Online /Get-Packages
Salida de dism /Online /Get-Packages mostrando paquetes de idioma instalados, con Microsoft-Windows-Client-LanguagePack-Package en-US resaltado
Salida típica: copia el Package Identity del idioma que quieras eliminar (línea resaltada).
4 · Eliminar un paquete de idioma
Pega el Package Identity exacto que copiaste arriba
dism /Online /Remove-Package /PackageName:Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~x86~es-ES~10.0.14393.0
5 · Forzar in-place upgrade a LTSC IoT

El instalador de LTSC IoT sólo acepta upgrade si el sistema actual ya declara ser IoTEnterpriseS. Este parche temporal del registro engaña al instalador para que ofrezca "Conservar archivos, aplicaciones y configuraciones".

CMD / PowerShell como Administrador — antes de ejecutar setup.exe del ISO
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID /d IoTEnterpriseS /f
El idioma del sistema debe coincidir con el del ISO (LTSC IoT solo existe en en-US). Por eso primero se instala en-US con los pasos 1–2 y se elimina el idioma original con el paso 4.
6 · Scripts de ayuda para el in-place upgrade

Si prefieres no manipular el registro a mano, puedes usar uno de estos scripts que automatizan la detección de edición y el cambio:

Opción A — In-Place_Upgrade_Helper.bat (script local, requiere ISO montado)
Protegido con contraseña

Ejecutar como Administrador con el ISO de LTSC IoT ya montado. El script detecta la edición actual, ajusta EditionID y lanza setup.exe con los argumentos correctos para upgrade conservando archivos y aplicaciones.

Opción B — MAS (Microsoft Activation Scripts) de massgrave.dev
irm https://get.activated.win | iex

MAS también ofrece ESU bypass para extender Windows 10 hasta 2027 si no quieres migrar de versión. Ver massgrave.dev.

7 · Reparar paquetes AppX tras el upgrade

Después de un in-place upgrade es común que algunas apps de la Microsoft Store queden rotas (menú Inicio sin íconos, Calculator que no abre, etc.). Este one-liner las reinstala desde los manifests existentes.

PowerShell como Administrador
Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml"}
Créditos y fuentes
Requiere Administrador · respaldar datos antes del in-place upgrade
Ver caso real