Manifeste d’application ClickOnce

Un manifeste de l’application ClickOnce est un fichier XML qui décrit une application déployée à l’aide de ClickOnce.

Les manifestes de l’application ClickOnce possèdent les éléments et attributs suivants.

Élément Description Attributs
<assembly> Élément Obligatoire. Élément de niveau supérieur. manifestVersion
<assemblyIdentity> Élément Obligatoire. Identifie l’assembly principal de l’application ClickOnce. name

version

publicKeyToken

processorArchitecture

language
<trustInfo> Élément Identifie les exigences de sécurité de l’application. None
<entryPoint> Élément Obligatoire. Identifie le point d’entrée de code d’application. name
<dépendance> Élément Obligatoire. Identifie chaque dépendance requise pour l’exécution de l’application. Identifie éventuellement les assemblys qui doivent être préinstallés. None
<fichier> Élément facultatif. Identifie chaque fichier non assembly utilisé par l’application. Peut inclure les données d’isolation COM (Component Object Model) associées au fichier. name

size

group

optional

writeableType
<fileAssociation> Élément facultatif. Identifie une extension de fichier à associer à l’application. extension

description

progid

defaultIcon

Remarques

Le fichier manifeste de l’application ClickOnce identifie une application déployée à l’aide de ClickOnce. Pour plus d’informations sur ClickOnce, consultez Sécurité et déploiement ClickOnce.

Emplacement du fichier

Un manifeste de l’application ClickOnce est propre à une seule version d’un déploiement. Pour cette raison, ils doivent être stockés à l’écart des manifestes de déploiement. La convention courante consiste à les placer dans un sous-répertoire nommé d’après la version associée.

Le manifeste de l’application doit toujours être signé avant le déploiement. Si vous modifiez manuellement un manifeste de l’application, vous devez utiliser mage.exe pour signer à nouveau le manifeste de l’application, mettre à jour le manifeste de déploiement, puis signer à nouveau le manifeste de déploiement. Pour plus d’informations, consultez Procédure pas à pas : déployer manuellement une application ClickOnce.

Syntaxe du nom de fichier

Le nom d’un fichier de manifeste de l’application ClickOnce doit reprendre le nom complet et l’extension de l’application telle qu’identifiée dans l’élément assemblyIdentity, suivi de l’extension .manifest. Par exemple, un manifeste de l’application qui ferait référence à l’application Example.exe utiliserait la syntaxe de nom de fichier suivante.

example.exe.manifest

Exemple

L’exemple de code suivant montre un manifeste de l’application pour une application ClickOnce.

<?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.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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1">
  <asmv1:assemblyIdentity name="My Application Deployment.exe" version="1.0.0.0" publicKeyToken="43cb1e8e7a352766" language="neutral" processorArchitecture="x86" type="win32" />
  <application />
  <entryPoint>
    <assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
    <commandLine file="MyApplication.exe" parameters="" />
  </entryPoint>
  <trustInfo>
    <security>
      <applicationRequestMinimum>
        <PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
        <defaultAssemblyRequest permissionSetReference="Custom" />
      </applicationRequestMinimum>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!--
          UAC Manifest Options
          If you want to change the Windows User Account Control level replace the
          requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

         If you want to utilize File and Registry Virtualization for backward
         compatibility then delete the requestedExecutionLevel node.
    -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentOS>
      <osVersionInfo>
        <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
      </osVersionInfo>
    </dependentOS>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
      <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.20506.0" />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="4096">
      <assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
      <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>DpTW7RzS9IeT/RBSLj54vfTEzNg=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
<publisherIdentity name="CN=DOMAINCONTROLLER\UserMe" issuerKeyHash="18312a18a21b215ecf4cdb20f5a0e0b0dd263c08" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
...
</Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

Voir aussi