MSDeploy: Automatic Website Deployment and Sync
MSDeploy, also known as the IIS Web Deployment Tool, is a utility for migrating and synchronizing websites between servers. It can take care of tasks that would generally have to be performed manually by an administrator, such as copying files, modifying web.config, managing certificates, setting up databases, and configuring IIS.
The web deployment package that MSDeploy creates consists of a .zip file of all the web content in an application, plus IIS configuration details such as error pages and application pools. It can also include certificates, GAC components, and registry settings. If a SQL database is being deployed, MSDeploy will create a script of the schema and data, and allow the developer to include custom SQL scripts if necessary.
Using the IIS Remote Administration Service, MSDeploy can accommodate one-click publishing directly from Visual Studio 2010. Publish Profiles store login credentials and database connection strings, and do not require administrator privileges to deploy applications.
Another function of MSDeploy is web server synchronization. It can be used across server farms to detect differences and update only the changes across all servers (in addition to code changes, this also includes certificate, registry, and IIS configuration updates). Administrators can create a secure service for this so that transfers take place via HTTPS, if desired.
MSDeploy is included in the Visual Studio 2010 installer, or it can be downloaded separately using the Web Platform Installer.