This chapter discussed how to deploy various .NET applications. I started the discussion with the deployment of assemblies. This discussion developed your understanding of how the CLR locates the shared assemblies and private assemblies. I also discussed how the side-by-side execution of assembly works and how to configure binding policy in the application, publisher, and machine configuration files to control how the CLR locates assemblies.
You learned that some simple applications will be as easy to deploy as just copying the files from one location to another, whereas some applications might be complex and might require reliance on Microsoft Windows Installer Service. I discussed how to create Setup projects to deploy Web service, Windows Service, serviced components , and .NET remoting objects. I also discussed how to use various types of editors provided in the Setup and Deployment projects to perform specific types of tasks. Through these editors, you can perform various tasks on the target server machine, such as placing files in multiple folders including the GAC, creating registry keys and values in the registry editor, associating file types with the application, checking on dependencies, performing custom actions at different phases (such as during Install, Commit, Rollback, and Uninstall), customizing the user -interface of the installation process, and many more.