Partager via


Fichiers de configuration du serveur de publication

Un fichier de configuration d’éditeur est un fichier XML qui redirige globalement les applications et les assemblys à partir d’une version d’un assembly côte à côte vers une autre version du même assembly. En règle générale, l’éditeur de l’assembly émet une mise à jour compatible ou un correctif de sécurité par assembly en émettant un fichier de configuration d’éditeur à installer avec une mise à jour service pack. Il s’agit de la configuration de l’éditeur . Pour plus d’informations sur ce type de configuration de consultez Configuration du serveur de publication.

Les fichiers de configuration du serveur de publication ont les éléments et attributs suivants. Pour obtenir une liste complète du schéma XML, consultez schéma de fichier de configuration de l’éditeur.

Élément Attributs Obligatoire
assembly Oui
manifestVersion Oui
assemblyIdentity Oui
type Oui
nom Oui
langue Non
processorArchitecture Non
version Oui
publicKeyToken Non
de dépendance Non
dépendantAssembly Non
bindingRedirect Oui
oldVersion Oui
newVersion Oui

Emplacement du fichier

Les fichiers de configuration du serveur de publication doivent être installés dans le dossier WinSxS. Ils sont généralement installés en tant que fichier distinct, mais les fichiers de configuration de l’éditeur peuvent également être inclus en tant que ressource dans une DLL. Un fichier de configuration d’éditeur ne peut pas être inclus en tant que ressource dans un fichier EXE. Un fichier EXE peut inclure un manifeste d’application en tant que ressource.

Syntaxe du nom de fichier

Le nom de fichier d’un fichier de configuration d’éditeur a le formulaire stratégie.majeure.mineures .nom d’assembly majeure et mineure font référence aux parties principales et mineures de la version d’assembly affectée. Le nom d’assembly fait référence au nom de l’assembly.

Par exemple, un fichier de configuration d’éditeur pour la version 6.0 de Microsoft.Windows.Common-Controls assembly aurait le nom suivant :

policy.6.0.Microsoft.Windows.Common-Controls

N’utilisez pas de fichiers de configuration de stratégie pour incrémenter la version principale ou mineure d’un assembly. Par exemple, ne redirigez pas la version 6.0.0.0 vers la version 7.0.0.0 ou 6.1.0.0. Lorsqu’une application fait référence à une version d’assembly, telle que 6.0.0.0.0, vérifie côte à côte la présence de tous les fichiers de configuration de stratégie avec les versions principales et mineures spécifiées, par exemple 6.0. L’application est ensuite redirigée vers une autre version de l’assembly, par exemple 6.0.1.0. Si un fichier de configuration d’éditeur incrémente la version principale ou mineure d’un assembly, la redirection ultérieure de l’assembly peut nécessiter l’émission de plusieurs fichiers de configuration de stratégie.

Éléments

assembly

Élément conteneur. Son premier sous-élément doit être un assemblyIdentity . Obligatoire.

L’élément d’assembly doit se trouver dans l’espace de noms urn :schemas-microsoft-com :asm.v1. Les éléments enfants de l’assembly doivent également se trouver dans cet espace de noms, par héritage ou par balisage.

L’assembly a les attributs suivants.

Attribut Description
manifestVersion L’attribut manifestVersion doit être défini sur 1.0.

assemblyIdentity

Décrit et identifie de manière unique un assembly côte à côte.

Comme premier sous-élément d’un assembly élément, l'assemblyIdentity décrit l’assembly côte à côte qui a une ou plusieurs de ses dépendances d’assembly modifiées. Le fichier de configuration de l’éditeur redirige les dépendances de l’assembly identifié. Par exemple, le assemblyIdentity suivant indique que le fichier de configuration de l’éditeur affecte les dépendances de l’assembly x86 Microsoft.Windows.Pop 6.0.0.0.

<assemblyIdentity 
     type="win32-policy" 
     publicKeyToken="0000000000000000" 
     name="policy.6.0.Microsoft.Windows.Pop" 
     version="2.1.0.0" 
     processorArchitecture="x86"/>

Comme premier sous-élément d’un élément dépendantAssembly, assemblyIdentity décrit une dépendance d’assembly côte à côte. Le fichier de configuration de l’éditeur reconfigure l’identité de cet assembly côte à côte requis. La modification est spécifiée dans un bindingRedirect. Par exemple, le assemblyIdentity suivant modifie toute dépendance sur Microsoft.Windows.SampleAssembly version 2.0.0.0.0 en dépendance sur Microsoft.Windows.SampleAssembly version 2.0.1.0.

<dependency>
      <dependentAssembly>
         <assemblyIdentity 
type="win32" 
name="Microsoft.Windows.SampleAssembly"  
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
         <bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
      </dependentAssembly>
</dependency>

L’élément assemblyIdentity a les attributs suivants. Il n’a aucun sous-élément.

Attribut Description
type Spécifie le type d’assembly. Obligatoire. Dans le assemblyIdentity pour l’assembly affecté, la valeur de l’attribut type doit être définie sur win32-policy. La valeur win32-policy doit être en minuscules.
Dans le assemblyIdentity pour la modification de la dépendance d’assembly, la valeur de l’attribut type doit être définie sur win32. La valeur win32 doit être en minuscules.
nom Nomme de manière unique un assembly. Obligatoire. Dans le assemblyIdentity pour l’assembly affecté, le nom a le formulaire stratégie.majeure.mineure .nom_assembly principale et mineure font référence aux parties principales et mineures de la version d’assembly .
Dans le assemblyIdentity pour la dépendance d’assembly changeant, le nom a le formulaire Organization.Division.Name. Par exemple, Microsoft.Windows.MysampleApp.
langue Identifie la langue de l’assembly. Optionnel. Dans le assemblyIdentity pour l’assembly affecté, si l’assembly est spécifique au langage, spécifiez le code de langue DHTML. Si l’assembly est utilisé dans le monde entier (neutre en langue), omettez cet attribut.
Dans le assemblyIdentity pour la modification de la dépendance d’assembly, si l’assembly est spécifique au langage, spécifiez le code de langue DHTML. Si l’assembly est utilisé dans le monde entier (langue neutre) définissez la valeur sur « * ».
processorArchitecture Spécifie le processeur exécutant l’application.
version Spécifie la version de l’assembly. Utilisez la syntaxe de version en quatre parties : mmmm.nnnn.oooo.pppp Obligatoire uniquement dans le contexte DEF assemblyIdentity. Ne spécifiez pas l’attribut de version dans le contexte REF assemblyIdentity.
publicKeyToken Chaîne hexadécimale de 16 caractères représentant les 8 derniers octets du hachage SHA-1 de la clé publique sous laquelle l’assembly est signé. La clé publique utilisée pour signer le catalogue doit être de 2048 bits ou supérieur. Un publicKeyToken est requis pour tous les assemblys côte à côte partagés. Le publicKeyToken utilisé pour le fichier de configuration de l’éditeur doit être la même clé que celle utilisée pour l’assembly signé. Les fichiers de configuration de l’éditeur peuvent être signés à l’aide des mêmes outils que ceux utilisés avec des assemblys, consultez exemple de signature d’assembly et Création de fichiers signés et de catalogues.

de dépendance

Élément conteneur facultatif pour au moins un dépendantAssembly. Il n’a aucun attribut.

dépendantAssembly

Chaque dépendantAssembly doit être à l’intérieur exactement d’une dépendance. Un dépendantAssembly n’a aucun attribut. Le premier sous-élément de dépendantAssembly doit être un assemblyIdentity pour l’assembly côte à côte reconfiguré par la configuration de l’éditeur.

bindingRedirect

L’élément bindingRedirect contient des informations de redirection pour la liaison de l’assembly.

Cet élément présente les attributs indiqués dans le tableau suivant.

Attribut Description
oldVersion Spécifie la version de l’assembly en cours de substitution et redirigée. Utilisez la syntaxe de version en quatre parties nnnnn.nnnnn.nnnnn.nnnnn. Spécifiez une plage de versions par un tiret sans espace. Par exemple, 2.14.3.0 ou 2.14.3.0 2.16.0.0. Obligatoire.
newVersion Spécifie la version de l’assembly de remplacement. Utilisez la syntaxe de version en quatre parties nnnnn.nnnnn.nnnnn.nnnnn.

Remarques

Les fichiers de configuration du serveur de publication ne spécifient pas de fichiers. Notez que les fichiers de stratégie spécifiques au langage sont distincts du fichier de configuration de l’éditeur.

Exemple

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32-policy" publicKeyToken="0000000000000000" name="policy.6.0.Proseware.Research.SampleAssembly" version="1.0.1.0" language="en-us" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" publicKeyToken="0000000000000000" name="Proseware.Research.SampleAssembly" language="en-us" processorArchitecture="x86"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.1.0"/>
</dependentAssembly>
</dependency>
</assembly>