An application must be deployed to be useful. How an individual application should be deployed depends heavily on circumstances. Factors such as the geographic distribution of the application, its complexity, and how often it will be updated must be considered when choosing an appropriate strategy.
The main possibilities for deployment are as follows:
XCOPY deployment
Installation via the Windows Installer
No-touch deployment
ClickOnce deployment
Deployment with other technologies such as the Application Updater Block
This chapter has covered each of these, with some discussion of their applicability. It will be helpful for you to understand all of these options to make appropriate decisions for the deployment of individual applications.
On the one hand, simple utilities, for example, might be best installed by simply copying files. On the other hand, standalone applications that have many dependencies on COM-based components will more often use Windows Installer technology. Applications that depend on Web services for data will often be best deployed with ClickOnce. Corporate applications with special needs for security during installation, or that need to install an application once for multiple users, may be better off using the Application Updater Block.
It’s also helpful to understand that these options are not mutually exclusive. You may have an application with COM dependencies that needs to use an .msi file for an initial install, but then gets the rest of the application and future updates via ClickOnce or the Application Updater Block. Whatever your application, the plethora of application deployment technologies available for .NET-based applications means you should be able to find an option or combination that suits your needs.