The Microsoft Web Deployment Tool synchronizes or migrates IIS configuration, content, SSL certificates, and other types of data that are associated with a Web site or server. You can also specify additional objects to migrate that are not included by default, such as registry keys. The Microsoft Web Deployment Tool can be used on Windows Server 2008 and IIS 7.0 and also on Windows Server 2003 and IIS 6.0.
The Microsoft Web Deployment Tool includes these key features:
Migration from IIS 6.0. The migrate operation provides administrators with a way to migrate sites or entire servers from IIS 6.0 to IIS 7.0, including their settings and content. A migration is essentially a way of synchronizing, filtered by migration rules.
Synchronization of IIS 6.0 / IIS 7.0. The sync operation provides administrators with a way to quickly synchronize a site or server and deploy changes to existing sites and servers. A synchronization allows you to synchronize one source with one destination. For example, you can synchronize two directory paths or two web servers. The sync can be performed with local or remote objects.
Snapshot IIS 6.0 / IIS 7.0. The snapshot, or archive, functionality allows administrators or developers to quickly take an archive of their web site or server for rollback, restore or backup purposes.
Analysis of Dependencies on IIS 6.0 / IIS 7.0. The analyze operation allows administrators to check what components are installed on the source server. In this way, they can determine if features are present that they will need in IIS 7.0 or that require more advanced setup than simply copying files.
Troubleshooting and Validation. For validating an operation, the -whatif parameter allows administrators to see what actions would happen when they perform an operation. This is especially useful for performing sync or migration, when they want to validate what changes will be made before performing them. For troubleshooting, the -verbose parameter allows administrators to get rich detail about what operations are being performed, and upon failure, the ability to diagnose the problem.
Differential Synchronization. The tool will only synchronize what has changed between the source and the destination.
PowerShell Support. PowerShell cmdlets are included, allowing you to use the Microsoft Web Deployment Tool conveniently with PowerShell. For more information about how the PowerShell cmdlets work, see the Help file as well as the Microsoft Web Deployment Tool Walkthroughs.
Enhanced Dependency Support. The dependencies that are checked for a web site or server can now be viewed on IIS 7.0 as well as IIS 6.0. They can be turned off on a granular level, such as disabling the drive space dependency check while still running the other dependency checks, or disabling the check for a single ISAPI script map. Additionally, when you view dependencies, you will be able to see the “trigger” for the dependency (what location(s) in configuration caused the Microsoft Web Deployment Tool to say that the module/component is a potential dependency).
Help file included in Setup. You can now see the full list of verbs, parameters and other detailed information about the Microsoft Web Deployment Tool in our .chm Help file, which will be included when you install the tool.
The following prerequisites must be fulfilled in order to install the tool:
There are two separate downloadable packages for the tool; you will need to download the appropriate package for your version of Windows Server 2003 or 2008:
You will need to run the installation package as an administrator. This can be accomplished by one of the following methods:msiexec /I <msi_filename>
Important Note! By default, the Setup will offer you the choice of installing the remote service and will use a default remote service URL, http://+:80/MSDEPLOY.
You can set the remote service URL to a custom URL by running Setup from the command-line: (where the port and URL are specified, please customize):
msiexec /i <msi_filename> /passive ADDLOCAL=ALL LISTENURL=http://+:8080/MSDEPLOY2/
Issue: If you migrate from IIS 6.0 to IIS 7.0 and your application pools run as Network Service, you may get an error "specified user is invalid" on the destination IIS 7.0 when you try to change application pool properties in the IIS Manager tool.
Workaround: To change this in the IIS Manager, use the following steps.
Issue: The BitTo64BitRuleHandler is used to ensure that moving from 32-bit to 64-bit servers will retain 32-bit compatibility. It should not be disabled, or it will write invalid data to your 64-bit .NET Framework configuration files.
Workaround: Do not disable the BitTo64BitRuleHandler rule. If you have already done this, restore your 64-bit .NET Framework config from backup.
Issue: The Microsoft Web Deployment Tool will not move the physical files for Script maps and items referenced in the Web Service Extension Restriction List, unless the files are located in a Web site’s content directories. This is because many ISAPIs may not migrate correctly, such as:
Issue: If you move a site or server that has more than 1 million files and folders, the operation may take many hours.
Workaround: For more than 1 million files, it is recommended that you use the -disableLink:ContentExtension parameter to skip the content and move it manually.
Issue: If you create a large manifest file (that is bigger than 4k), you cannot sync the manifest using the remote agent service.
Workaround: If you have a large manifest file to sync, do an offline sync using the archive provider or break up the manifest into multiple manifests.
Issue: If you migrate a site from IIS 6.0 to IIS 7.0, and the site already exists on the destination, it will be renamed to SITE_ Issue: The IIS 7.0 configProtectedData section is machine-specific and should NOT be synced. For this reason, you should not disable the SkipConfigProtectedData rule or your destination machine's configuration will become invalid and require restore from backup.
Issue: Custom trust files referenced in the root level Web.config and Code Access Security (CAS) policy settings will not be moved.
Issue: If you move a site to a server that has a different trust level, you will not receive a warning.
Issue: If you have a custom manifest file that is pointing to an invalid source, you may not receive an error.
Issue: FTP and SMTP are not included in the default definitions for webserver60.
Issue: Inherited properties are not migrated with an IIS 6.0 site migration. A common example is authentication set at the server level with all sites inheriting this property. When you migrate a single site, it will now inherit the settings of the new destination server. If the destination server settings are not the same, your site could break. This applies to every inherited property, including mime maps, script maps, etc.
Issue: .NET COM objects (.NET classes exposed via COM) are not supported for sync or migration.
If you encounter any problems during installation, you can run appropriate command listed below for your version of Windows to create a log file that will contain information about the installation process: You can analyze this log file after a failed installation to help determine the cause of the failure. The following additional resources for the Microsoft Web Deployment Tool are available on IIS.net: © 2007 Microsoft Corporation.
Workaround: Delete the site from the IIS 7.0 destination machine before syncing, or rename the site afterwards.
Workaround: Do not sync this section or disable the SkipConfigProtectedData rule.
Workaround: Manually specify the custom trust file and the CAS policy file, security.config, in a manifest file. See the Help file for more information about creating manifest files.
Workaround: Please ensure that the trust level is set correctly on the destination machine when doing a site level sync or migrate.
Workaround: If you are not seeing expected output when using a manifest file, try each item individually to see if they are mistyped or invalid.
Workaround: If you need to sync these locations, manually sync them using the metakey provider - i.e., metakey=lm/msftpsvc.
Workaround: Use the metadataGetInherited flag to copy inherited settings to the site level when you sync or migrate a web site on IIS 6.0. Or ensure the server settings are the same on source and destination servers or manually set the site to use correct settings.
Workaround: Move .NET COM objects manually. You will receive an error when you try to move a .NET COM object using the tool.
Troubleshooting Installation Issues
For More Information