Vous cherchez un installateur « fiable » de MSXML 6.0 pour un serveur Windows Server 2019 ? La bonne nouvelle : le composant est déjà inclus dans le système et n’exige aucun téléchargement séparé. Le présent guide explique pourquoi, comment le vérifier, comment réparer l’installation et dans quels cas un package MSI historique reste pertinent.
Vue d’ensemble de la question
Depuis la mise en service de Windows Server 2019, de nombreux administrateurs héritent de scripts ou d’applications présentant encore des messages d’erreur tels que :
Le composant MSXML 6.0 est manquant. Téléchargez msxml6.msi et réessayez.
Avant de chercher un fichier d’installation sur Internet (avec son lot de risques de sécurité), il convient de comprendre la logique de Microsoft : MSXML 6.0 fait partie du système d’exploitation depuis Windows Vista / Server 2008, et à plus forte raison sur Server 2019.
Résumé rapide des solutions
Que faut‑il savoir ? | Détails pratiques |
---|---|
MSXML 6.0 est déjà présent | Livré nativement avec Windows Server 2019 (32 bit et 64 bit). Aucune installation distincte n’est requise. |
Comment confirmer la présence | Recherchez C:\Windows\System32\msxml6.dll (x64 : C:\Windows\SysWOW64\msxml6.dll ). Vérifiez la version via :wmic datafile where name="C:\\\\Windows\\\\System32\\\\msxml6.dll" get Version /value |
Composant corrompu ? réparer ! | Exécutez sfc /scannow Puis DISM /Online /Cleanup-Image /RestoreHealth Ré‑enregistrez la DLL :regsvr32 /u msxml6.dll regsvr32 msxml6.dll Installez les mises à jour Windows pour recevoir les correctifs MSXML. |
Packages MSI encore disponibles | Les fichiers msxml6.msi / msxml6_x64.msi visent Windows XP / Server 2003. Leur exécution est soit bloquée, soit inutile sur Server 2019. |
Bonnes pratiques sécurité | Évitez les sites de « download de DLL » non officiels ; privilégiez la réparation système ou Windows Update. Orientez les applications tierces vers le ProgID MSXML2.DOMDocument.6.0 déjà fourni. |
Pourquoi aucun installateur n’est nécessaire
Microsoft a fait évoluer sa stratégie de distribution des composants XML au fil des versions :
- MSXML 3.0 fut intégré à Windows XP ;
- MSXML 6.0 est devenu « composant système » à partir de Windows Vista / Server 2008 ;
- Depuis lors, les correctifs de sécurité ou améliorations sont diffusés via le mécanisme normal de Windows Update. Une installation manuelle risquerait de remplacer un binaire plus récent par une version obsolète.
Si un script d’installation ou un manuel interne vous demande encore de « télécharger msxml6.msi », c’est qu’il vise un parc ancien.
Différences entre MSXML 3.0, 4.0 et 6.0
Dans les environnements mixtes, on rencontre souvent plusieurs versions en parallèle. MSXML 6.0 apporte notamment :
- Un parser XML plus strict, conforme aux recommandations W3C ;
- Le support de schema caching et de l’API
IXMLDOMSchemaCollection2
; - Un durcissement de la sécurité (désactivation par défaut des DTD dans certains contextes, prévention XXE) ;
- La prise en charge 64 bit complète.
Pour des raisons de compatibilité ascendante, certaines applications réclament encore MSXML 3.0 ou 4.0, mais MSXML 6.0 est la version recommandée pour tout nouveau développement.
Comment vérifier la version installée
Via l’Explorateur
- Naviguez vers
C:\Windows\System32
(ouSysWOW64
). - Cliquez droit sur
msxml6.dll
► Propriétés ► onglet Détails. - La colonne « Version du produit » doit indiquer une chaîne du type
6.30.19041.1
(les numéros varient selon les builds cumulatives).
Via la ligne de commande
Pour un audit automatisé :
@echo off
for %%D in ("C:\Windows\System32\msxml6.dll" "C:\Windows\SysWOW64\msxml6.dll") do (
if exist %%D (
wmic datafile where name="%%D" get Version /value
) else (
echo %%D non trouvé.
)
)
Via PowerShell
Get-Item -Path "$env:SystemRoot\System32\msxml6.dll" |
Select-Object -ExpandProperty VersionInfo
Réparer MSXML 6.0 sur Windows Server 2019
Occasionnellement, la DLL peut être supprimée par erreur ou corrompue à la suite d’un arrêt brutal de la machine. La meilleure approche consiste à restaurer les fichiers système plutôt qu’à télécharger un binaire isolé :
1. SFC / DISM
sfc /scannow compare chaque fichier système à la copie de référence stockée dans le WinSxS. Si l’outil échoue ou si l’image est endommagée, DISM /Online /Cleanup-Image /RestoreHealth contacte Windows Update pour remplacer les fichiers manquants.
2. Ré‑enregistrement COM
Quand SFC ne détecte pas d’incohérence mais que l’API COM reste indisponible à l’appel, la commande suivante peut relier la DLL à la base de registres :
regsvr32 /u msxml6.dll
regsvr32 msxml6.dll
Exécutez ces deux lignes depuis une invite PowerShell avec privilèges d’administrateur.
3. Mise à jour cumulative de Windows Server
Tous les correctifs de sécurité MSXML arrivent via les Cumulative Updates mensuelles. Veillez à ce que le serveur obtienne les correctifs de qualité (Quality Updates) en plus des simples mises à jour de sécurité. Dans un environnement déconnecté, importez les packages KB via Windows Server Update Services ou Microsoft Update Catalog.
Le cas particulier des fichiers MSI historiques
On trouve encore dans les dépôts Microsoft les packages :
msxml6.msi
(x86)msxml6_x64.msi
(x64)
Ces installateurs sont certifiés pour Windows 2000 SP4, Windows XP et Windows Server 2003. À l’exécution sur un OS moderne, vous verrez l’erreur « Cette mise à jour ne s’applique pas à votre système » ou l’installation passera mais n’ajoutera rien, car les assemblies système ont priorité.
Le seul intérêt d’un package MSI aujourd’hui :
- Inclure MSXML 6.0 dans un setup d’application destiné à des postes encore sous XP/2003 (rare en 2025) ;
- Exécuter des tests de compatibilité ascendante en laboratoire.
Bonnes pratiques de sécurité et de conformité
- Évitez les sites tiers proposant un téléchargement de
msxml6.dll
. Ces DLLs sont souvent modifiées ou porteuses de logiciels malveillants. - Mettez en place un Application Whitelisting (Applocker ou WDAC) pour forcer les applications internes à charger la DLL système plutôt qu’une copie locale.
- Automatisez l’audit de version MSXML lors des mises à jour mensuelles pour garantir la conformité PCI‑DSS ou ISO 27001, en intégrant les commandes ci‑dessus dans vos playbooks Ansible, Chef ou PowerShell DSC.
- Pour les applications .NET, privilégiez le namespace
System.Xml
plutôt que COM ; vous bénéficierez du support à long terme (LTS) et des correctifs hors bande plus rapides.
FAQ
« Erreur 0xC0000135 : la DLL MSXML6 est manquante »
Cette erreur apparaît quand un exécutable tente de charger MSXML 6.0 avant la fin de son initialisation. Exécutez sfc puis regsvr32 msxml6.dll. Vérifiez aussi que le service Windows Modules Installer n’est pas désactivé.
« Le ProgID MSXML2.DOMDocument.6.0 est introuvable dans le registre »
Ré‑enregistrez la DLL via regsvr32. Si le problème persiste, comparez le hachage SHA‑256
de votre DLL avec celui extrait d’une installation saine ou du catalogue \WinSxS.
« Dois‑je désinstaller MSXML 4.0 après avoir confirmé que la v6 est bien là ? »
Oui. MSXML 4.0 est fin de vie depuis 2014 et ne reçoit plus aucun correctif. Supprimez‑le via Programmes et fonctionnalités ► Afficher les mises à jour installées, ou à l’aide de wusa /uninstall.
Conclusion
Pas de panique : sur Windows Server 2019, MSXML 6.0 est prêt à l’emploi. Si un logiciel signale le contraire, la voie la plus sûre est la réparation du système et la mise à jour via Windows Update, non pas le téléchargement d’une DLL isolée. Réservez les packages MSI historiques aux laboratoires qui maintiennent encore des OS hors support.