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 où 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 où 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>