Modifier directement le fichier de configuration applicationHost.config d'IIS 7

Je sais qu’IIS 7+ utilise des fichiers de configuration XML au lieu de la métabase. Je sais aussi que si je modifie un fichier web.config pour un site donné, IIS détecte automatiquement les changements et applique les modifications de configuration correspondantes.

Cependant, cela s’applique-t-il aussi au fichier de paramètres au niveau serveur applicationHost.config ? (généralement situé dans C:\windows\system32\inetsrv\config) Plus précisément, est-il sûr de modifier ce fichier au lieu d’utiliser le Gestionnaire IIS ou l’utilitaire en ligne de commande appcmd ? Je n’ai rien trouvé dans la documentation qui disait que c’était acceptable ou non.

Je suis curieux car j’ai besoin de changer les liaisons de nombreux sites d’une IP à une autre. Il serait beaucoup plus rapide de faire un rechercher-remplacer global de l’adresse IP dans le fichier de configuration plutôt que de modifier manuellement quelques dizaines de sites dans l’interface graphique.


Source : Server Fault

Consultez aussi cette réponse ici : Cannot manually edit applicationhost.config

La réponse est simple, même si pas si évidente : Windows 2008 est en 64 bits, Notepad++ est en 32 bits. Lorsque vous naviguez vers Windows\System32\inetsrv\config en utilisant l’explorateur, vous utilisez un programme 64 bits pour trouver le fichier. Lorsque vous ouvrez le fichier avec Notepad++, vous essayez de l’ouvrir avec un programme 32 bits. La confusion survient car, plutôt que de vous informer de ce que vous faites, Windows vous permet d’ouvrir le fichier mais lorsque vous l’enregistrez, le chemin du fichier est redirigé de manière transparente vers Windows\SysWOW64\inetsrv\Config.

En pratique, ce qui se passe est que vous ouvrez applicationhost.config avec Notepad++, faites une modification, enregistrez le fichier ; mais au lieu d’écraser l’original, vous enregistrez une copie 32 bits dans Windows\SysWOW64\inetsrv\Config, donc vous ne modifiez pas la version réellement utilisée par IIS. Si vous naviguez vers Windows\SysWOW64\inetsrv\Config, vous trouverez le fichier que vous venez d’enregistrer.

Comment contourner cela ? Simple – utilisez un éditeur de texte 64 bits, comme le Bloc-notes standard livré avec Windows.