The .NET Framework provides several basic features that make it easier to deploy a variety of applications. This includes ClickOnce deployment.
Deployment Features in the .NET Framework
The following basic .NET Framework features help make deployment easier:
No-impact applications
Controlled code sharing
Side-by-side versioning
On-the-fly updates
Partially trusted code
For more information, see .NET Framework Deployment Features.
Deployment is the process by which you distribute a finished application or component to be installed on other computers. In Visual Studio, deployment can be done based on Microsoft Windows Installer technology or on ClickOnce technology. For more information, see Choosing a Deployment Strategy.
An application can be packaged as a single assembly, as a collection of assemblies, as cabinet (CAB) files, as a Microsoft Windows Installer 2.0 package, or as an installer package in another format. For more information, see Deployment Scenarios for .NET Framework Applications.
An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. Assemblies form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions, and they provide the common language runtime (CLR) with the information it must have to be aware of type implementations.
This table shows common deployment tasks.
Versioning
Versioning, which records the specific version of an assembly and the versions of dependent assemblies in the assembly's manifest, is performed only on assemblies with strong names. Strong-named assemblies have identifiers that consist of the assembly's identity plus a public key and a digital signature.
By default, the CLR attempts to locate and bind with the exact version of the assembly that the application was built with, although this behavior can be overridden by configuration file settings.
For more information, see Assemblies in the Common Language Runtime, Assembly Versioning, and Strong-Named Assemblies.
ClickOnce deployment enables you to publish Windows applications to a Web server or network file share for simplified installation. When you want to publish a Windows application to a network server, Visual Studio automatically generates the XML manifest files necessary for ClickOnce and publishes the application to the specified server.
ClickOnce applications are self-contained and install on a per-user basis, which means no administrative rights are required. Applications deployed using ClickOnce technology run with a limited set of permissions based on a security zone. For more information, see ClickOnce Deployment and Security.
ClickOnce applications can be self-updating; you can control when and how updates are deployed.
This table shows tasks associated with ClickOnce deployment.
Difficulties when you deploy applications by using ClickOnce may be caused by HTTP compression issues, manifest parsing issues, server configuration issues, and versioning issues. For more information, see Troubleshooting ClickOnce Deployments.
Windows Installer Deployment
Microsoft Windows Installer technology creates installers that give you complete control over the installation process.
This table shows tasks associated with Windows Installer deployment.
Concepts
Other Resources