VS 2010 also supports a packaging option that enables you to
package up your ASP.NET Web Application (together with its dependencies like
web.config, databases, ACLs, etc) into a .zip based deployment package file
that you can optionally hand-off to an IT administrator who can then easily
install it either via the IIS Admin Tool or via a command-line/powershell script.
The deployment package you create can optionally expose
application configuration settings that can be overridden (like directory
locations, database connection-strings, etc). When using the IIS7 Admin
Tool, the install wizard can prompt the administrator for each setting to be
customized – enabling you to provide a clean customization experience without
having to write any custom code to-do so. The settings can also obviously
be passed as arguments on the command-line when using a command-line or
Powershell script to deploy the application.
To create a web package within Visual Studio 2010, just
right click on your ASP.NET Web Project node in the solution explorer and
select the “Build Deployment Package” menu item:

This will compile your application, perform appropriate
web.config transforms on it, optionally create .sql scripts for your database
schema and data files, and then package them all up into a .zip deployment
package file. Adjacent to the .zip file you’ll file a deployment script
file that you can use to automate deployment of the package to a remote server.
I will dive deeper into how to create web deployment
packages in future blog posts.