Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I know that IIS 7+ now uses XML config files instead of the metabase. I also know that if I edit a web.config file for a given site, IIS automagically detects the changes and implements any corresponding config changes.

However, does this also apply to the server-level applicationHost.config settings file? (Its usually located in C:\windows\system32\inetsrv\config.) Specifically, is it safe to carefully edit this file instead of using IIS Manager or the appcmd command line utility? I couldn't find anything in the documentation that said it was okay or not okay to do this.

I'm curious because I have to change the bindings for numerous sites from one IP to another. It would be much faster to simply do a global search and replace for the IP address in the config file instead of manually editing a few dozen sites in the GUI.

share|improve this question
add comment

4 Answers

Yes, you can edit the applicationhost.config file directly if you're an administrator; that's all that the tools do, anyway.

If you get into trouble, configuration backups are stored in \inetpub\history .

share|improve this answer
    
Thanks! I don't know why they don't document this more. –  lunadesign Nov 17 '11 at 8:03
add comment

You will find a nice introduction to the applicationHost.config file right over at IIS.NET. There's also a thorough Reference for all elements in the IIS config schema.

It's pretty well-documented actually :-)

share|improve this answer
add comment

Another helpful bit to know: when you manually edit the applicationHost.config file (as the tools do) only the applications for which you've changed configuration will recycle. IIS actually takes a snapshot of the config for each application and doesn't update it until something changes for that application.

share|improve this answer
add comment

Also check this answer from here: Cannot manually edit applicationhost.config

The answer is simple, if not that obvious: win2008 is 64bit, notepad++ is 32bit. When you navigate to Windows\System32\inetsrv\config using explorer you are using a 64bit program to find the file. When you open the file using using notepad++ you are trying to open it using a 32bit program. The confusion occurs because, rather than telling you that this is what you are doing, windows allows you to open the file but when you save it the file's path is transparently mapped to Windows\SysWOW64\inetsrv\Config.

So in practice what happens is you open applicationhost.config using notepad++, make a change, save the file; but rather than overwriting the original you are saving a 32bit copy of it in Windows\SysWOW64\inetsrv\Config, therefore you are not making changes to the version that is actually used by IIS. If you navigate to the Windows\SysWOW64\inetsrv\Config you will find the file you just saved.

How to get around this? Simple - use a 64bit text editor, such as the normal notepad that ships with windows.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.