|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Deployment is the process by which you distribute a finished application or component to be installed on other computers. Deployment is a multi-stage process that starts when an application is created on a developer's computer and ends when it is installed and ready to run on a user's computer.
Visual Studio provides two different technologies for deploying Windows applications: ClickOnce deployment or Windows Installer deployment.
ClickOnce can be used to deploy C++ applications that target the Common Language Runtime (mixed, pure, and verifiable assemblies). You can use Windows Installer to deploy a managed application also, but ClickOnce takes advantage of .NET Framework security features (such as manifest signing) and is therefore preferred over Windows Installer deployment. ClickOnce does not support deployment of native C++ applications. For more information, see ClickOnce Deployment for Visual C++ Applications.
Windows Installer technology can be used for deploying both native C++ applications and C++ applications that target the Common Language Runtime.
For a detailed comparison of ClickOnce and Windows Installer deployment, see Choosing a Deployment Strategy.
This section discusses how to ensure that a native Visual C++ application runs on any computer that provides a supported target platform, which files you need to include in your installation package, and what are the recommended ways to redistribute the Visual C++ components on which your application depends.
If you are familiar with the deployment process and are primarily interested in learning about changes made in Visual Studio 2008, start with Choosing a Deployment Method. For examples of deployment see Deployment Examples.
The following topics discuss deployment of Visual C++ applications in more detail.