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

<assembly> Element (ClickOnce Reference)

Required. Top-level element.

manifestVersion

<assemblyIdentity> Element (ClickOnce Reference)

Required. Identifies the ClickOnce application's primary assembly.

name

version

publicKeyToken

processorArchitecture

language

<trustInfo> Element

Identifies the application security requirements.

None

<dependency> Element (ClickOnce Reference)

Required. Identifies the application code entry point for execution.

None

<dependency> Element (ClickOnce Reference)

Required. Identifies each dependency required for the application to run. Optionally identifies assemblies that need to be preinstalled.

None

<file> Element

Required. Identifies each nonassembly file that is used by the application. Can include Component Object Model (COM) isolation data associated with the file.

name

size

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