Migrating websites from IIS 6 to IIS 7 using WebDeploy 2.0

The Web Deployment Tool (Web Deploy) is a command-line tool that deploys content and configuration from a user-specified Web site or Web server to a user-specified destination.

1. Migrating a single site

Syntax:

msdeploy -verb:sync -source:metakey=lm/w3svc/ <website identifier> ,computername= <source computer name> -dest:metakey=lm/w3svc/ <website identifier> -enableLink:appPool > msdeploy_test.log -verbose -debug

 

Example:

msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=xxxxx -dest:metakey=lm/w3svc/1 -enableLink:appPool > msdeploy.log -verbose -debug

2. Migrating complete webserver

Syntax:

msdeploy -verb:sync -source:webserver60,computername=< source computer name > -dest:webserver60 > msdeploy.log -verbose -debug

Example:

msdeploy -verb:sync -source:webserver60,computername=xxxxx -dest:webserver60 > msdeploy.log -verbose -debug

Things to remember:

1. Make sure you change the IP addresses on the destination machine because after migration the website bindings will have same IP addresses as on the source machine.

2. –enableLink:appPool switch is required to create an application pool on destination machine.

3. If you are migrating from one IIS7 server to another IIS7 server, then use “webserver” as provider if migrating the whole webserver and use “appHostConfig” if migrating a single website.

4. When is doubt, use “whatif” switch to simulate the effect of running a command without actually making any changes.

msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=xxxxx -dest:metakey=lm/w3svc/1 -enableLink:appPool -whatif > msdeploy_test.log -verbose -debug


5. Web Deploy cannot be used to migrate FTP sites from IIS 6.0 to IIS 7.x. This needs to be done manually.

 

 

References:

https://technet.microsoft.com/en-us/library/dd569106(WS.10).aspx