The .NET Framework provides several basic features that make it easier to deploy a variety of applications, including ClickOnce deployment.
Deployment Features in the .NET Framework
The following basic .NET Framework features help to 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 Basics
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 needs 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 done only on assemblies with strong names. Strong-named assemblies have identifiers consisting 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
ClickOnce deployment allows you to publish Windows applications to a Web server or network file share for simplified installation. When you want to publish your 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 deploying applications with ClickOnce may be caused by HTTP compression issues, manifest parsing issues, server configuration issues, and versioning issues. For more information, see Troubleshooting ClickOnce Deployment.
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.
See Also