Configuration par application

La configuration par application redirige la dépendance d’une application particulière d’une version d’un assembly côte à côte vers une autre version de l’assembly. Une configuration par application peut devenir nécessaire si le bon fonctionnement d’une application particulière nécessite une version d’assembly différente de la version normalement spécifiée comme configuration par défaut ou configuration d’éditeur. Par exemple, une mise à jour globale de la version de l’assembly par l’éditeur peut corriger l’assembly, mais interrompre cette application particulière. Dans ce cas, la configuration par application peut être utilisée pour permettre à l’application de continuer à s’exécuter avec la version précédente de l’assembly.

À compter de Windows Server 2003, la configuration par application remplace toujours la configuration par défaut par application. La configuration par application remplace la configuration de l’éditeur par application uniquement si le fichier de configuration de l’application spécifie apply="no » dans publisherPolicy et qu’une entrée correspondante est présente dans la base de données De compatibilité des applications.

Notes

Sur Windows XP, la configuration par application remplace la configuration par défaut et la configuration de l’éditeur par application. Pour plus d’informations, consultez Configuration par application sur Windows XP.

 

À compter de Windows Server 2003, une configuration par application remplace une configuration d’éditeur si le fichier de configuration de l’application spécifie apply="yes » dans publisherPolicy et que l’indicateur EnableAppConfig est défini pour l’application dans la base de données de compatibilité des applications. Cette fonctionnalité de remplacement d’une configuration d’éditeur à l’aide d’une configuration par application permet à l’application d’être exécutée dans Safemode. Pour plus d’informations sur la base de données de compatibilité des applications et safemode, consultez Windows Application Compatibility Toolkit. Vous pouvez obtenir le Kit de ressources de compatibilité des applications Windows à partir de https://www.microsoft.com/downloads.

Notes

Si vous livrez des composants avec un fichier de configuration d’application (fichier .config) qui spécifie apply="no » dans publisherPolicy, la génération du contexte d’activation échoue. La configuration par application sera ignorée si vous livrez des composants avec un fichier .config spécifiant apply="yes » dans publisherPolicy.

 

Les administrateurs d’applications peuvent implémenter une configuration par application en créant et en installant des fichiers de configuration d’application et en mettant à jour la base de données de compatibilité des applications. Le fichier de configuration de l’application doit ensuite être déployé et installé dans le même dossier que le fichier exécutable de l’application. Pour obtenir la liste du schéma de fichier, consultez Schéma du fichier de configuration d’application. La base de données de compatibilité des applications doit être distribuée comme décrit dans application Compatibility Toolkit.

Notes

Si votre application s’exécute dans Safemode, elle ne recevra pas de correctifs de sécurité importants ou de correctifs de bogues que l’éditeur de l’assembly peut émettre en tant que fichiers de configuration de l’éditeur. Une application qui utilise une configuration par application peut donc rester non sécurisée ou continuer à fonctionner incorrectement même après l’application d’un nouvel assembly avec ces correctifs au système. Pour cette raison, les développeurs d’applications ne doivent jamais livrer une application avec une configuration par application. La configuration par application ne doit être utilisée par les administrateurs d’entreprise qu’en tant que correctif temporaire lorsque l’application est interrompue par une configuration d’éditeur. Dans ce cas, la solution permanente est que les développeurs de l’assembly et les développeurs de l’application doivent travailler ensemble pour s’assurer que les assemblys avec la configuration de l’éditeur sont entièrement rétrocompatibles.

 

Voici un exemple de fichier de configuration d’application. Pour plus d’informations, consultez Fichiers de configuration d’application.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
 <windows>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <assemblyIdentity  processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>
   <publisherPolicy apply="no"/>                     
   <dependentAssembly>
    <assemblyIdentity type="win32" processorArchitecture="x86" name="Microsoft.Windows.SampleAssembly" publicKeyToken="0000000000000000"/>
    <bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
   </dependentAssembly>
  </assemblyBinding>
 </windows>
</configuration>

L’administrateur d’application doit ajouter les entrées requises à la base de données De compatibilité des applications. Téléchargez et installez Windows Application Compatibility Toolkit 2.6 à partir de https://www.microsoft.com/downloads. Créez une nouvelle base de données personnalisée ou mettez à jour votre base de données existante à l’aide de l’administrateur de compatibilité, comme indiqué dans le kit de ressources. Le correctif de compatibilité que vous souhaitez choisir pour la couche de compatibilité de votre application est EnableAppConfig. Vous devez toujours tester les applications avant d’installer une nouvelle base de données de compatibilité.