The development process does not end when the source code is compiled and testing is complete. At that stage, the job of getting the application into the user’s hands begins. Whether it’s an ASP.NET application, a smart client application, or an application built using the Compact Framework, the software must be deployed to a target environment. The .NET Framework has made deployment much easier than it was in the past. The pains of registering COM components and writing new hives to the registry are all gone.
This chapter looks at the options that are available for application deployment, both from an ASP.NET perspective and from the smart client perspective. The following topics are discussed:
- Deployment requirements
- Simple deployment scenarios
- Windows Installer–based projects
Designing for Deployment
Often, deployment is an afterthought in the development process that can lead to nasty, if not costly, surprises. To avoid grief in deployment scenarios, the deployment process should be planned out during the initial design stage. Any special deployment considerations — such as server capacity, desktop security, or where assemblies will be loaded from — should be built into the design from the start, resulting in a much smoother deployment process.
Another issue that must be addressed early in the development process is the environment in which to test the deployment. Whereas unit testing of application code and of deployment options can be done ...