ClickOnce deployment manifest
A deployment manifest is an XML file that describes a ClickOnce deployment, including the identification of the current ClickOnce application version to deploy.
Deployment manifests have the following elements and attributes.
Element | Description | Attributes |
---|---|---|
<assembly> Element | Required. Top-level element. | manifestVersion |
<assemblyIdentity> Element | Required. Identifies the application manifest for the ClickOnce application. | name version publicKeyToken processorArchitecture culture |
<description> Element | Required. Identifies application information used to create a shell presence and the Add or Remove Programs item in Control Panel. | publisher product supportUrl |
<deployment> Element | Optional. Identifies the attributes used for the deployment of updates and exposure to the system. | install minimumRequiredVersion mapFileExtensions disallowUrlActivation trustUrlParameters |
<compatibleFrameworks> Element | Required. Identifies the versions of the .NET Framework where this application can install and run. | SupportUrl |
<dependency> Element | Required. Identifies the version of the application to install for the deployment and the location of the application manifest. | preRequisite visible dependencyType codebase size |
<publisherIdentity> Element | Required for signed manifests. Contains information about the publisher that signed this deployment manifest. | Name issuerKeyHash |
<Signature> Element | Optional. Contains the necessary information to digitally sign this deployment manifest. | None |
<customErrorReporting> Element | Optional. Specifies a URI to show when an error occurs. | Uri |
Remarks
The deployment manifest file identifies a ClickOnce application deployment, including the current version and other deployment settings. It references the application manifest, which describes the current version of the application and all of the files contained within the deployment.
For more information, see ClickOnce Security and Deployment.
File location
The deployment manifest file references the correct application manifest for the current version of the application. When you make a new version of an application deployment available, you must update the deployment manifest to refer to the new application manifest.
The deployment manifest file must be strongly named and can also contain certificates for publisher validation.
File name syntax
The name of a deployment manifest file must end with the .application extension.
Examples
The following code example illustrates a deployment manifest.
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd"
manifestVersion="1.0"
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"
xmlns:dsig=http://www.w3.org/2000/09/xmldsig#
xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1"
xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2"
xmlns="urn:schemas-microsoft-com:asm.v2"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity
name="My Application Deployment.app"
version="1.0.0.0"
publicKeyToken="43cb1e8e7a352766"
language="neutral"
processorArchitecture="x86"
xmlns="urn:schemas-microsoft-com:asm.v1" />
<description
asmv2:publisher="My Company Name"
asmv2:product="My Application"
xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true">
<subscription>
<update>
<expiration maximumAge="0" unit="days" />
</update>
</subscription>
<deploymentProvider codebase="\\myServer\sampleDeployment\MyApplicationDeployment.application" />
</deployment>
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.20506" />
<framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.20506" />
</compatibleFrameworks>
<dependency>
<dependentAssembly
dependencyType="install"
codebase="1.0.0.0\My Application Deployment.exe.manifest"
size="6756">
<assemblyIdentity
name="My Application Deployment.exe"
version="1.0.0.0"
publicKeyToken="43cb1e8e7a352766"
language="neutral"
processorArchitecture="x86"
type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>E506x9FwNauks7UjQywmzgtd3FE=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<publisherIdentity name="CN=DOMAIN\MyUsername" issuerKeyHash="18312a18a21b215ecf4cdb20f5a0e0b0dd263c08" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
...
</Signature></asmv1:assembly>