Error 0x800f0831 añadiendo roles

Al intentar añadir cualquier rol nuevo, siempre aparece este error. Las reparaciones con SFC / DISM online y local muestran errores o no sirven:

dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
dism.exe /online /Cleanup-Image /RestoreHealth /Source:wim:X:\sources\install.wim:1 /LimitAccess
dism.exe /online /cleanup-image /restorehealth

Revisando el registro %WinDir%\Logs\CBS\CBS.log nos encontramos errores con los paquetes de idioma preinstalados STATUS_SXS_ASSEMBLY_MISSING…

2021-03-20 08:59:05, Error                 CSI    00000009 (F) STATUS_SXS_ASSEMBLY_MISSING #11360# from CCSDirectTransaction::OperateEnding at index 0 of 1 operations, disposition 2[gle=0xd015000c]
2021-03-20 08:59:05, Error                 CSI    0000000a (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #11208# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = Microsoft-Windows-DNS-Server-Full-Role-Deployment-LanguagePack, version 10.0.14393.0, arch amd64, culture [l:5]'cs-CZ', nonSxS, pkt {l:8 b:31bf3856ad364e35}, cb = (null), s = (null), rid = 'Microsoft-Windows-DNS-Server-Full-Role-Package~31bf3856ad364e35~amd64~cs-CZ~10.0.14393.0.DNS-Server-Full-Role', rah = (null), manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]

Aunque no estén en uso, o fueran desinstalados han quedado entradas huérfanas en el registro, en este caso de ejemplo el idioma checo «cs-CZ«, buscando dentro del registro «Microsoft-Windows-DNS-Server-Full-Role-Package~31bf3856ad364e35~amd64~cs-CZ~10.0.14393.0» iremos eliminando todas las entradas, de las que deberemos primero tomar posesión, asignar permisos totales y eliminar con cuidado de no afectar a otros registros de otros idiomas.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\UpdateDetect\DNS-Server-Full-Role

O bien podemos instalar el lenguaje desde el Panel de control > Reloj, idioma y región > Idioma – Agregar un idioma:

Una vez añadido es necesario descargar e instalar:

Para posteriormente volver a eliminarlo, desde powershell ejecutamos lpksetup y lo desinstalamos

Si todo ha sido correcto, podremos volver a instalar cualquier rol en nuestro servidor, si aparece algún error durante la instalación del idioma tocará revisar el registro todas las entradas del idioma en conflicto [RegScanner]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *