Applications developed with the .NET Framework have a host of deployment options that were not available for older, COM-based software. These options completely change the economics of deployment. The changes are so important that they can even alter the preferred architecture for a system written in .NET.
Deployment encompasses many activities required to place an application into a production environment, including setting up databases, placing software in appropriate directories on servers, and configuring options for a particular installation. Deployment also includes handling changes and upgrades to the application.
This chapter covers the major deployment options for .NET applications. The previous chapter on assemblies should be considered a prerequisite for this chapter, as assemblies are the basic unit of deployment.
First, you'll look at some of the problems that can occur when you deploy applications, along with a number of terms that are used when talking about application deployment. Then you'll learn how .NET addresses many of these deployment issues. The remainder of the chapter covers the following:
Creating deployment projects in Visual Studio 2008 that enable initial installation of applications
Deployment of the .NET Framework itself on systems where it does not already reside
Updating applications on servers, including components and ASP.NET applications
Installing and updating Windows Forms applications on client machines with ClickOnce