MSXML 6.0 no Windows Server 2019: preciso baixar? Guia definitivo de verificação e solução de problemas

Você viu um alerta pedindo “instalar o MSXML 6.0” no Windows Server 2019 e ficou na dúvida? A resposta curta: quase sempre não é preciso baixar nada. A seguir, o guia completo para confirmar, reparar e responder a auditorias sem perder tempo.

Índice

Resumo rápido (para decidir em 30 segundos)

  • Windows Server 2019 e 2022 já incluem o MSXML 6.0 como componente do sistema (desde o Windows Vista).
  • Baixar msxml6.msi só faz sentido para máquinas legadas (Windows 2000/XP/Server 2003) ou cenários de redistribuição controlada.
  • Para verificar, procure msxml6.dll em C:\Windows\System32 e, em sistemas 64 bits, também em SysWOW64.
  • Se houver corrupção, use DISM e SFC para reparar a imagem do Windows, não um instalador externo.
  • Desinstale apenas MSXML 4.0 ou anteriores. O MSXML 6.0 deve permanecer.

MSXML 6.0 no Windows Server 2019: preciso baixar?

Não. O MSXML 6.0 faz parte do sistema operativo desde o Windows Vista e permanece integrado nas versões modernas do Windows e Windows Server, incluindo 2019 e 2022. Isso significa que o componente já está presente, é mantido pelo Windows Update e não requer download separado. A recomendação histórica da documentação oficial é usar o pacote msxml6.msi apenas para redistribuição com aplicações voltadas a sistemas mais antigos. [1]

Tabela de decisão

SituaçãoExplicação
Servidor moderno (2019/2022)O MSXML 6.0 já faz parte do sistema operativo desde o Windows Vista e continua embutido nas versões atuais do Windows Server, portanto nenhum download é necessário. [1]
Conferir se já existeVerifique C:\Windows\System32 (e SysWOW64 em 64 bits) e confirme o ficheiro msxml6.dll. Se estiver lá, o componente está instalado e registado. [2]
Ferramentas ou auditorias exigem .MSIO instalador msxml6.msi só é preciso para redistribuir em sistemas mais antigos (Windows 2000/XP/Server 2003). A própria documentação indica como incorporá‑lo num setup de aplicação. [1]

O que é o MSXML 6.0 e por que ele importa

MSXML (Microsoft XML Core Services) é o conjunto de bibliotecas COM nativas da Microsoft para processar XML (DOM, SAX, validadores XML Schema, consultas XPath, etc.). A versão 6.0 trouxe melhorias de segurança e conformidade com XML Schema (XSD), além de remover protocolos descontinuados. É a versão recomendada para novas aplicações e a que vem embutida no Windows moderno.

Como confirmar que o MSXML 6.0 está instalado

Método 1 — Verificar o ficheiro

  1. Abrir Explorador de Ficheiros e navegar até C:\Windows\System32. Em sistemas 64 bits, verificar também C:\Windows\SysWOW64.
  2. Localizar msxml6.dll.
  3. Clicar com o botão direito → Propriedades → separador Detalhes para ver a versão.

Se o ficheiro existir e a versão for 6.x, o MSXML 6.0 está presente e registado.

Método 2 — Testar via PowerShell (COM)

Este teste valida que os objetos COM de MSXML 6.0 são criáveis pelo sistema:

$d = New-Object -ComObject 'Msxml2.DOMDocument.6.0'
$d.loadXML('<root/>') | Out-Null
$d.documentElement.Name

Saída esperada: root. Se o objeto não puder ser criado, será emitida uma exceção; nesse caso, veja a secção “Reparar componentes”.

Método 3 — Inventário (com ressalva)

Algumas equipas usam WMI/WMIC para listar produtos MSI:

wmic product where "Name like '%%MSXML 6%%'" get Name, Version

Atenção: o MSXML 6.0 que vem com o Windows geralmente não aparece como “produto MSI” — ele é componente do SO. Este comando pode não retornar nada mesmo quando você tem o MSXML 6.0 instalado. Prefira os métodos 1 e 2 para confirmação. Além disso, Win32_Product pode disparar reconfiguração MSI e é desaconselhado em ambientes de produção.

Quando (e apenas quando) usar o msxml6.msi

O pacote msxml6.msi foi concebido para redistribuição de aplicações que precisam levar a biblioteca para sistemas legados (Windows 2000/XP/Server 2003) ou cenários específicos de instalação lado‑a‑lado. Em sistemas modernos (Windows 7 SP1+ e Windows Server 2008 R2+), o SO já possui MSXML 6.0 mantido pelo Windows Update. [1]

Se a sua ferramenta de empacotamento ou auditoria exige um artefacto MSI por política, documente a exceção: “No Windows Server 2019, o MSXML 6.0 é componente do sistema; o .MSI destina‑se apenas a redistribuição em sistemas legados”. Em pipelines de setup que ainda pedem o MSI, a documentação clássica descreve a propriedade APPGUID para vincular o instalador à sua aplicação:

msiexec /i msxml6.msi /qn APPGUID="{SUA-GUID-DE-APLICACAO}"

Use isso somente para máquinas legadas. Em Windows Server 2019, não instale um pacote externo por cima do componente do sistema.

Etapas práticas recomendadas

Confirmar a versão já presente

wmic product where "Name like '%%MSXML 6%%'" get Name, Version

Ou abra as Propriedades → Detalhes de msxml6.dll em System32.

Caso o ficheiro falte ou esteja corrompido

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

O que cada comando faz:

  • DISM /RestoreHealth repara a imagem do Windows usando a fonte de componentes (ou WSUS quando configurado), restaurando ficheiros do sistema ausentes/danificados.
  • sfc /scannow verifica e substitui ficheiros protegidos do Windows por cópias corretas do cache do sistema.

Distribuir para máquinas legadas

  • Copie o msxml6.msi que acompanha kits antigos (ex.: SDKs ou SQL Server 2005) ou use o Update Catalog corporativo.
  • Inclua o .MSI no seu instalador e declare a dependência pelo parâmetro APPGUID, como descrito na documentação oficial. [1]

Remover versões obsoletas

Desinstale apenas o MSXML 4.0 e anteriores. Essas versões estão fora de suporte e podem disparar achados de segurança em scanners. O MSXML 6.0 deve permanecer, pois muitas aplicações dependem dele.

Por que alguns utilizadores “não encontram o link” do MSXML 6.0?

  • O link de download direto do pacote foi retirado pela Microsoft desde 2021; a orientação é não instalar o MSI em sistemas que já incluem MSXML 6.0 nativamente.
  • Respostas curtas em fóruns (do tipo “NO”) refletem essa mudança de política — não há defeito no Windows Server 2019, apenas não se recomenda baixar um pacote redundante. [3]

Arquitetura 32/64 bits e onde procurar ficheiros

LocalPlataformaO que significa
C:\Windows\System32\msxml6.dll64 bitsBiblioteca MSXML 6.0 para processos 64 bits.
C:\Windows\SysWOW64\msxml6.dll32 bits em SO 64 bitsBiblioteca MSXML 6.0 para processos 32 bits (WOW64).

Scripts úteis para operações e auditoria

PowerShell: confirmar criação de objetos COM

try {
  $d = New-Object -ComObject 'Msxml2.DOMDocument.6.0'
  $ok = $d.loadXML('<root/>')
  if ($ok) { Write-Output 'MSXML 6.0 OK (COM criado e XML carregado).' } 
  else { Write-Error 'MSXML 6.0 encontrado, mas falha ao carregar XML.' }
} catch {
  Write-Error ('Falha ao criar COM Msxml2.DOMDocument.6.0: ' + $_.Exception.Message)
}

PowerShell: ler a versão do ficheiro

$paths = @('C:\Windows\System32\msxml6.dll','C:\Windows\SysWOW64\msxml6.dll')
foreach ($p in $paths) {
  if (Test-Path $p) {
    (Get-Item $p).VersionInfo | Select-Object FileName,ProductVersion,FileVersion
  }
}

CMD: reparar imagem e verificar ficheiros do sistema

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

FAQ — Perguntas frequentes

Preciso instalar MSXML 6.0 manualmente no Windows Server 2019?

Não. O MSXML 6.0 já vem com o sistema e é atualizado pelo Windows Update.

Por que minha ferramenta de inventário não encontra “MSXML 6.0”?

Porque o MSXML embutido não é um “produto MSI” e pode não aparecer em Win32_Product. Confirme pelo ficheiro msxml6.dll ou pelo teste COM.

O que fazer se um auditor exigir “o .MSI instalado”?

Explique que, em 2019/2022, o MSXML 6.0 é componente do SO. Se houver política que exige MSI, restrinja‑se a máquinas legadas ou à redistribuição junto da sua aplicação, seguindo a propriedade APPGUID. [1]

Posso remover o MSXML 6.0?

Não. Muitas aplicações dependem dele. Remova apenas MSXML 4.0 e anteriores.

Qual a diferença entre MSXML 3.0, 4.0 e 6.0?

O 6.0 é a versão moderna e segura (XSD atualizado, recursos removidos por segurança). O 4.0 está obsoleto; o 3.0 existe por compatibilidade, mas novas aplicações devem usar 6.0.

O wmic product é confiável para este caso?

Não para componentes embutidos. Além disso, o WMIC/WMI MSI pode ser intrusivo. Prefira verificação por ficheiro e teste COM.

Como reparar se o msxml6.dll estiver faltando?

Use DISM e SFC. Evite copiar DLLs manualmente ou instalar MSI externo no Windows Server 2019.

Há riscos ao manter MSXML 4.0?

Sim. O 4.0 não recebe correções de segurança e costuma gerar achados em avaliações de vulnerabilidade. Remova‑o.

Erros comuns e como evitá‑los

  • Instalar um MSI redundante no Windows Server 2019. Correto: usar os mecanismos nativos do Windows (DISM/SFC) e manter o componente do SO.
  • Confiar apenas em inventários MSI. Correto: confirmar por ficheiro e por criação de objeto COM.
  • Excluir a DLL manualmente. Correto: nunca apagar DLLs do sistema; use os utilitários de reparo.
  • Deixar MSXML 4.0 instalado. Correto: remover versões obsoletas e manter o 6.0.

Checklist de ação

  1. Verifique msxml6.dll em System32/SysWOW64.
  2. Teste a criação COM com PowerShell (Msxml2.DOMDocument.6.0).
  3. Repare com DISM e SFC se necessário.
  4. Remova somente MSXML 4.0 e anteriores.
  5. Documente para auditoria: no Server 2019, MSXML 6.0 é componente nativo; MSI somente para legados. [2][3]

Como responder a exigências de auditoria

Modelo de resposta que você pode adaptar:

No Windows Server 2019, o MSXML 6.0 é componente do sistema operativo e já está presente como msxml6.dll em System32/SysWOW64. A instalação via msxml6.msi é destinada a redistribuição em sistemas legados. Validamos a criação COM de Msxml2.DOMDocument.6.0 e a integridade com DISM e SFC.

Mensagem‑chave

No Windows Server 2019 o MSXML 6.0 já está instalado (verifique msxml6.dll). Só procure o .MSI se precisar redistribuir a biblioteca para versões antigas do Windows.

Notas e referências

  • [1] “Installing and Redistributing MSXML 6.0” — diretrizes sobre quando usar msxml6.msi e a propriedade APPGUID.
  • [2] Discussões recentes em Q&A da Microsoft indicam remoção do link público do instalador e recomendam usar o componente já embutido.
  • [3] Tópicos de fórum reforçam: para Windows Server 2019/2022, não há necessidade de download separado.

Conclusão

Se a sua meta é deixar o Windows Server 2019 conforme, seguro e auditável, não instale um pacote separado do MSXML 6.0. Em vez disso, comprove a presença do msxml6.dll, valide a criação COM e, quando necessário, utilize DISM e SFC para reparar o sistema. Reserve o msxml6.msi para cenários legados onde realmente faça sentido.

Índice