ClickOnce Application Manifest
An application manifest is an XML file that describes an application that is deployed using ClickOnce.
Application manifests have the following elements and attributes.
Element | Description | Attributes |
---|---|---|
Required. Top-level element. |
|
|
Required. Identifies the ClickOnce application's primary assembly. |
|
|
Identifies the application security requirements. |
None |
|
Required. Identifies the application code entry point for execution. |
None |
|
Required. Identifies each dependency required for the application to run. Optionally identifies assemblies that need to be preinstalled. |
None |
|
Required. Identifies each nonassembly file that is used by the application. Can include Component Object Model (COM) isolation data associated with the file. |
|
Remarks
The application manifest file identifies an application deployed using ClickOnce. For more information about ClickOnce, see ClickOnce Deployment Overview.
File Location
An application manifest is specific to a single version of a deployment. For this reason, application manifests should be stored separately from deployment manifests. The common convention is to place them in a subdirectory named after the associated version.
The application manifest always must be signed prior to deployment. For more information, see Walkthrough: Deploying a ClickOnce Application Manually.
File Name Syntax
The name of an application manifest file should be the full name and extension of the application as identified in the assemblyIdentity
element, followed by the extension .manifest. For example, an application manifest that refers to the Example.exe application would use the following file name syntax.
example.exe.manifest
Example
The following code example shows an application manifest for a ClickOnce application. It consists of a single executable (.exe) file, a dependent assembly, and a configuration file containing application settings.
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xmlns="urn:schemas-microsoft-com:asm.v2" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd">
<!--Application Manifest Generated by ClickOnce MG. SCHEMA VERSION 2.0.0.13-PRE.ADAPTIVE-->
<asmv1:assemblyIdentity name="DatumCorpApp.exe" version="1.0.0.0" publicKeyToken="0000000000000000" processorArchitecture="msil" />
<entryPoint>
<assemblyIdentity name="DatumCorpApp" version="1.0.0.0" processorArchitecture="msil" language="neutral" />
<commandLine file="DatumCorpApp.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>
<!--Application Files-->
<file name="DatumCorpApp.exe.config" size="228">
<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>e1diZjAqZT5NNRAxTqoWKSK4iPE=</dsig:DigestValue>
</hash>
</file>
<!--Assemblies-->
<dependency>
<dependentAssembly codebase="DatumCorpApp.exe" size="32768">
<assemblyIdentity name=" DatumCorpApp " version="1.0.0.0" processorArchitecture="msil" language="neutral" />
<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>gybeo+fVPiXh8vsbatWFGx6mtgk=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly codebase="DatumCorpHelper.dll" size="33280">
<assemblyIdentity name="DatumCorpHelper" version="4.0.0.0" publicKeyToken="e8ed396099c4b4e9" processorArchitecture="msil" language="Neutral" />
<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>w+C0sOgi3IxbwoGK+IAsoa37z6Y=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<!--Microsoft Common Language Runtime Platform Version Required-->
<dependency>
<dependentAssembly preRequisite="true">
<assemblyIdentity name="Microsoft-Windows-CLRCoreComp" version="2.0.31121.0" />
</dependentAssembly>
</dependency>
<!--Microsoft Windows Operating System Platform Dependency-->
<dependency>
<dependentOS supportUrl="https://www.microsoft.com" description="Microsoft Windows Operating System">
<osVersionInfo>
<os majorVersion="4" minorVersion="10" />
</osVersionInfo>
</dependentOS>
</dependency>
</asmv1:assembly>
See Also
Reference
<assembly> Element (ClickOnce Reference)
<assemblyIdentity> Element (ClickOnce Reference)
<entryPoint> Element
<trustInfo> Element
<dependency> Element (ClickOnce Reference)
<file> Element