Élément <dependency> (déploiement ClickOnce)

Identifie la version de l'application à installer et l'emplacement du manifeste d'application.

Syntaxe


      <dependency>
   <dependentAssembly
      preRequisite
      visible
      dependencyType
      codeBase
      size
   >
      <assemblyIdentity
         name
         version
         publicKeyToken
         processorArchitecture
         language
         type
      />
      <hash>
         <dsig:Transforms>
            <dsig:Transform
                Algorithm
            />
         </dsig:Transforms>
         <dsig:DigestMethod />
         <dsig:DigestValue>
         </dsig:DigestValue>
      </hash>

   </dependentAssembly>
</dependency>

Éléments et attributs

L’élément dependency est obligatoire. Il n’a aucun attribut. Un manifeste de déploiement peut avoir plusieurs éléments dependency.

L’élément dependency exprime généralement des dépendances pour l’application principale sur les assemblys contenus dans une application ClickOnce. Si votre application Main.exe consomme un assemblys appelé DotNetAssembly.dll, cet assembly doit être répertorié dans une section de dépendance. Cependant, la dépendance peut également exprimer d'autres types de dépendances, par exemple des dépendances sur une version spécifique du Common Language Runtime, sur un assembly dans Global Assembly Cache (GAC), ou sur un objet COM. Comme il s'agit d'une technologie de déploiement sans contact, ClickOnce ne peut ni lancer le téléchargement ni l'installation de ces types de dépendances, mais il empêche l'exécution de l'application si une ou plusieurs des dépendances spécifiées n'existent pas.

dependentAssembly

Obligatoire. Cet élément contient l’élément assemblyIdentity. Le tableau suivant présente les attributs pris en charge par dependentAssembly.

Attribut Description
preRequisite facultatif. Spécifie que cet assembly devrait déjà exister dans GAC. Les valeurs valides sont true et false. Si la valeur est true et que l’assembly spécifié n’existe pas dans GAC, l’application ne s’exécute pas.
visible facultatif. Identifie l’identité d’application de niveau supérieur, y compris ses dépendances. Utilisé en interne par ClickOnce pour gérer le stockage et l’activation des applications.
dependencyType Obligatoire. La relation entre cette dépendance et l’application. Les valeurs autorisées sont :

- install. Le composant représente une installation distincte de l’application actuelle.
- preRequisite. Le composant est requis par l’application actuelle.
codebase facultatif. Chemin complet du manifeste de l'application.
size facultatif. La taille du manifeste de l’application, en octets.

assemblyIdentity

Obligatoire. Cet élément est un enfant de l’élément dependentAssembly . Le contenu de assemblyIdentity doit être identique à celui décrit dans le manifeste de l’application ClickOnce. Le tableau suivant présente les attributs de l'élément assemblyIdentity.

Attribut Description
Name Obligatoire. Identifie le nom de l’application.
Version Obligatoire. Spécifie le numéro de version de l’application dans le format suivant : major.minor.build.revision
publicKeyToken Obligatoire. Spécifie une chaîne hexadécimale de 16 caractères qui représente les 8 derniers octets de la valeur de hachage SHA-1 de la clé publique sous laquelle l’application ou l’assembly sont signés. La clé publique utilisée pour la signature doit être une valeur de 2048 bits ou plus.
processorArchitecture Obligatoire. Spécifie le microprocesseur. Les valeurs valides sont x86 pour Windows 32 bits et IA64 pour Windows 64 bits.
Language facultatif. Identifie les codes de langue en deux parties de l’assembly. Par exemple, EN-US, qui signifie Anglais (États-Unis). Par défaut, il s’agit de neutral. Cet élément se trouve dans l’espace de noms asmv2.
type facultatif. Pour la compatibilité descendante avec la technologie d’installation côte à côte de Windows. La seule valeur autorisée est win32.

hash

L’élément hash est un enfant facultatif de l’élément file. L’élément hash ne comporte pas d’attributs.

ClickOnce utilise un hachage algorithmique de tous les fichiers dans une application en guise de vérification de sécurité, et s’assure ainsi qu’aucun des fichiers n’a été modifié après le déploiement. Si l’élément hash n’est pas inclus, cette vérification n’est pas effectuée. Il est donc déconseillé d’omettre l’élément hash.

dsig:Transforms

L’élément dsig:Transforms est un enfant obligatoire de l’élément hash. L’élément dsig:Transforms ne comporte pas d’attributs.

dsig:Transform

L’élément dsig:Transform est un enfant obligatoire de l’élément dsig:Transforms. Le tableau suivant présente les attributs de l'élément dsig:Transform.

Attribut Description
Algorithm Algorithme utilisé pour calculer le code de hachage pour ce fichier. Actuellement, la seule valeur utilisée par ClickOnce est urn:schemas-microsoft-com:HashTransforms.Identity.

dsig:DigestMethod

L’élément dsig:DigestMethod est un enfant obligatoire de l’élément hash. Le tableau suivant présente les attributs de l'élément dsig:DigestMethod.

Attribut Description
Algorithm Algorithme utilisé pour calculer le code de hachage pour ce fichier. Actuellement, la seule valeur utilisée par ClickOnce est http://www.w3.org/2000/09/xmldsig#sha1.

dsig:DigestValue

L’élément dsig:DigestValue est un enfant obligatoire de l’élément hash. L’élément dsig:DigestValue ne comporte pas d’attributs. Sa valeur texte est le hachage calculé pour le fichier spécifié.

Notes

Les manifestes de déploiement comportent généralement un seul élément assemblyIdentity qui identifie le nom et la version du manifeste d’application.

Exemple 1

L’exemple de code suivant montre un élément dependency dans un manifeste de déploiement ClickOnce.

<!-- Identify the assembly dependencies -->
<dependency>
  <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="16384">
    <assemblyIdentity name="MyApplication" version="0.0.0.0" cultural="neutral" processorArchitecture="msil" />
    <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>YzXYZJAvj9pgAG3y8jXUjC7AtHg=</dsig:DigestValue>
    </hash>
  </dependentAssembly>
</dependency>

Exemple 2

L'exemple de code suivant spécifie une dépendance sur un assembly déjà installé dans GAC.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
  </dependentAssembly>
</dependency>

Exemple 3

L'exemple de code suivant spécifie une dépendance à l'égard d'une version spécifique du Common Language Runtime.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
  </dependentAssembly>
</dependency>

Exemple 4

L'exemple de code suivant spécifie une dépendance du système d'exploitation.

<dependency>
   <dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
      <osVersionInfo>
         <os majorVersion="4" minorVersion="10" />
      </osVersionInfo>
   </dependentOS>
</dependency>

Voir aussi