Partager via


Configuration par application sur Windows XP

Sur Windows XP, la configuration par application remplace configuration par défaut et configuration de l’éditeur par application. Cela redirige la dépendance d’une application spécifique d’une version d’un assembly côte à côte vers une autre version spécifiée de l’assembly.

Note

À compter de Windows Server 2003, la configuration par application remplace configuration de l’éditeur par application uniquement si le fichier de configuration de l’application spécifie apply="non » dans publisherPolicy et qu’il existe une entrée correspondante dans la base de données de compatibilité des applications. La configuration par application remplace toujours la configuration par défaut. Pour plus d’informations, consultez configuration par application.

 

Une configuration par application peut devenir nécessaire si l’opération correcte d’une application particulière nécessite une version d’assembly différente de la version spécifiée normalement comme configuration par défaut ou 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 d’assembly précédente. Un autre exemple d’installation de Service Pack contenant une mise à jour d’assembly peut utiliser configuration de l’éditeur pour rediriger les dépendances de toutes les applications et assemblys sur le système de la version 1.0.0.0 vers la version 1.0.1.0. S’il existe une application qui nécessite la version 1.0.0.0 pour fonctionner correctement, elle peut être redirigée vers la version 1.0.0.0 à l’aide de la configuration par application.

Les administrateurs d’applications peuvent implémenter une configuration par application en créant et en installant fichiers de configuration d’application. Ceux-ci redirigent une application spécifique de la dépendance sur une version d’un assembly côte à côte vers la dépendance à une autre version. fichiers de configuration d’application peuvent remplacer fichiers de configuration de l’éditeur et la configuration par défaut spécifiée par manifestes d’application et manifestes d’assembly . Le fichier de configuration de l’application inclut des informations utilisées par le chargeur lorsque CreateProcess est appelée.

Pour configurer une application pour remplacer le manifeste de l’application et la configuration de l’éditeur, un développeur doit créer un fichier de configuration d’application. Le fichier de configuration de l’application est ensuite 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 de fichier de configuration d’application.

Notez que si votre application utilise la configuration par application, elle ne recevra pas de correctifs de sécurité importants ou des correctifs de bogues que l’éditeur de l’assembly peut émettre en tant que fichiers de configuration de l’éditeur. Une application qui utilise la 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 expédier une application avec une configuration par application. La configuration par application ne doit être utilisée que par les administrateurs d’entreprise comme 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 devront collaborer 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 
          name="Microsoft.Windows.mysampleApp" 
          processorArchitecture="x86" 
          version="1.0.0.0" type="win32"/>
        <dependentAssembly>
          <assemblyIdentity type="win32" 
              name="Microsoft.Windows.SampleAssembly" 
              processorArchitecture="x86" 
              publicKeyToken="0000000000000000"/>
          <bindingRedirect 
              oldVersion="2.0.0.0" 
              newVersion="2.0.1.0"/>
        </dependentAssembly>
    </assemblyBinding>
   </windows>
</configuration>