Renaming applications in IIS 7.0

troublemaker picture troublemaker · Apr 16, 2011 · Viewed 31.8k times · Source

It's generally known that you are not allowed to edit the application alias while editing application settings through window interface of IIS Manager. The alias of an application has the gray color (not admitted to change). But in this article you may found how to do this through the command-line utility software:

http://www.foliotek.com/devblog/rename-applications-and-virtual-directories-in-iis7/

But there is an another way to do it. You can edit the settings file as it is written in this article:

http://learn.iis.net/page.aspx/150/understanding-sites-applications-and-virtual-directories-on-iis-7/#Configuration

In the settings file I just changed the value ("/Site1") of the path attribute at the application element and nothing more:

<application path="/Site1" applicationPool="DefaultAppPool">
    <virtualDirectory
        path="/" 
        physicalPath="C:\Sites\Site1" />
</application>

The issue is that I don't know whether these two ways is the same and have the same results. Maybe the command-line utility (appcmd) does some additional work except just renaming the application name?

Answer

Alex Nolasco picture Alex Nolasco · Sep 12, 2014

I recently had to do this and I think you are better off using appcmd because ,as you said, we don't know what else is changing behind the scenes.

Example,

appcmd list app

APP "Default Web Site/" (applicationPool:DefaultAppPool)
APP "Default Web Site/develop" (applicationPool:mypool)
APP "Default Web Site/develop/xyz" (applicationPool:mypool)

In my case, I did have to do the renaming starting from the child. Otherwise, appcmd won't find the child site.

appcmd set app "Default Web Site/develop/xyz" -path:/B455/xyz
appcmd set app "Default Web Site/develop" -path:/B455

After

appcmd list app

APP "Default Web Site/" (applicationPool:DefaultAppPool)
APP "Default Web Site/B455" (applicationPool:mypool)
APP "Default Web Site/B455/xyz" (applicationPool:mypool)

Note: appcmd can be found under %windir%\system32\inetsrv