Atualizar o Windows Server 2022 nem sempre é tranquilo. Se a Cumulative Update KB5037782 falhar com o código 0x800f0831, siga este guia completo para entender a causa e aplicar soluções confiáveis sem recorrer à reinstalação total do sistema.
Visão geral do problema
Administradores reportam que a “2024‑05 Cumulative Update for Microsoft Server OS 21H2 – KB5037782” não conclui a instalação. Tanto o instalador padrão (WUSA.exe
) quanto o DISM.exe
devolvem o erro 0x800f0831, acompanhado da mensagem “The referenced assembly could not be found”. O Component Based Servicing (CBS) registra falha ao finalizar o pacote: CDISMPackageManager::Internal_Finalize(hr:0x800f0831)
.
Significado do código 0x800f0831
O código indica que o mecanismo de instalação não encontrou um ou mais manifestos (arquivos .mum e .cat) exigidos pela KB atual. Em outras palavras, há dependências ausentes ou corrompidas no repositório de componentes (WinSxS).
Por que o erro ocorre
- Dependência de hotfix anterior: a KB5037782 precisa de arquivos de uma CU lançada antes de maio/2024 e que nunca foi aplicada ou foi removida.
- Catálogo WSUS incompleto: o servidor local de atualizações não tem todos os pacotes ou recusou a redistribuição.
- Corrupção no repositório: operações anteriores de limpeza ou antivírus podem ter excluído manifests.
- Servicing Stack Update (SSU) desatualizado: sem o SSU 20348.2461 (ou posterior) o Windows Update pode falhar na fase de verificação.
Pré‑requisitos básicos
- Faça backup do sistema ou snapshot da VM.
- Certifique‑se de que o SSU mais recente está aplicado. A própria KB5037782 contém o SSU 20348.2461. Se não estiver presente, instale‑o primeiro.
- Utilize uma conta com privilégios de administrador e execute o PowerShell/Prompt elevado.
Passo a passo de resolução
Reparar o repositório de componentes (DISM + SFC)
Este é o método mais rápido e resolve a maioria dos casos de corrupção.
DISM /online /cleanup-image /scanhealth
DISM /online /cleanup-image /restorehealth
sfc /scannow
shutdown /r /t 0
Dica: se o servidor estiver isolado da internet, aponte /restorehealth
para uma imagem de origem com a mesma build usando /source:wim:X:\Sources\install.wim:1 /limitaccess
.
Instalar manualmente o pacote ausente
Quando o CBS.log
revela a dependência de algo como PackageforKB5034233
, baixe o arquivo .msu ou .cab correspondente em outra máquina e transfira‑o.
wusa.exe Windows10.0-KB5034233-x64.msu /quiet /norestart
Depois, repita a instalação da KB5037782.
Reparo in‑place (atualização de manutenção)
Use a ISO do Windows Server 2022 21H2 com o mesmo nível de patch. Execute setup.exe
e escolha “Manter arquivos e aplicativos”. Esta opção reinstala o núcleo do sistema, repara o WinSxS e preserva funções e dados.
Boas práticas complementares
Método | Passos essenciais | Observações |
---|---|---|
Aplicar SSU antes da CU | Verifique winver e liste atualizações instaladas.Instale manualmente o SSU se necessário. | Evita falhas de pré‑checagem. |
Limpar cache de atualização | net stop wuauserv net stop bits ren %windir%\SoftwareDistribution SoftwareDistribution.old ren %windir%\System32\Catroot2 Catroot2.old net start bits net start wuauserv | Força o Windows Update a baixar novamente todos os metadados. |
Rever conectividade WSUS/Windows Update | Teste acesso a *.windowsupdate.com via Invoke-WebRequest . | Bloqueios de firewall ou proxy geram 0x800f0831 com frequência. |
Verificar dependências históricas | Compare a linha do tempo de patches; instale CU de abril/2024 se for a última aplicada. | Sequência correta reduz o tamanho de download da atualização atual. |
Checklist rápido
- Executar
DISM /restorehealth
+sfc
. - Reiniciar e tentar novamente pelo Windows Update ou WSUS.
- Se falhar, inspecionar
CBS.log
em%windir%\Logs\CBS\
em busca deMissing_Package
. - Baixar/instalar o pacote ausente.
- Persistindo o erro, planejar reparo in‑place.
FAQ – Perguntas frequentes
Como encontrar rapidamente o pacote ausente no CBS.log?
Abra o log em editor de texto e procure por “error 0x800f0831
”. As próximas linhas exibirão nomes de pacotes. Copie o Package Identity e monte a URL do Catálogo do Windows Update ou use a pesquisa integrada ao PowerShell (script Get-WUList
do módulo PSWindowsUpdate).
Posso aplicar diretamente a build mais recente sem a KB5037782?
Sim, desde que a nova CU seja igual ou posterior à de maio / 2024. Todas as dependências intermediárias estarão contidas, pois cada CU é cumulativa.
O DISM /RestoreHealth precisa de internet?
Se você não especificar /source
, o DISM tentará baixar componentes de reparo. Em ambientes offline forneça a mídia ISO ou repositório UNC contendo install.wim.
Existe risco de perda de dados no reparo in‑place?
É um procedimento seguro, pois migra o sistema mantendo perfis, aplicativos e funções de servidor. Ainda assim, um backup ou snapshot é prudente.
Como garantir que o SSU correto está instalado?
No Prompt elevado execute:
dism /online /get-packages | findstr Servicing
Confirme se há pacote com numeração 20348.2461
ou superior.
Fluxo recomendado em diagrama textual
Verificar SSU ──► OK? ─┐ ▼ DISM /SFC conclui? ─► Sim ─► Atualização aplicada │ ▼ Identificar pacote faltante │ Instalar manualmente │ Sucesso? ─► Sim ─► Atualização aplicada │ ▼ Reparo in‑place │ Sucesso? ─► Sim ─► Atualização aplicada │ ▼ Avaliar reinstalação
Conclusão
O erro 0x800f0831 na KB5037782 quase sempre decorre de dependências ausentes ou corrupção leve do repositório. Com a sequência DISM + SFC ➜ análise do CBS.log ➜ instalação manual ➜ reparo in‑place, a grande maioria dos administradores restaura o ciclo de atualizações em menos de uma hora, sem tempo de inatividade significativo para cargas de produção.