Les applications qui ignorent les assemblys côte à côte exécutés de façon globale peuvent être vulnérables aux problèmes résolus par une mise à jour logicielle Microsoft

Traductions disponibles Traductions disponibles
Numéro d'article: 835322 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

INTRODUCTION

Sur les ordinateurs Microsoft Windows Server 2003, les administrateurs peuvent ignorer les assemblys côte à côte mis à jour de façon globale pour une application spécifique. Sur les ordinateurs Microsoft Windows XP, les développeurs de logiciels et les administrateurs peuvent ignorer les assemblys côte à côte mis à jour de façon globale pour une application spécifique. Toutefois, cette fonction de contournement peut rendre votre application vulnérable à des problèmes qui seraient par ailleurs résolus si une mise à jour logicielle Microsoft globale était installée. Par conséquent, nous recommandons vivement aux développeurs de logiciels et aux administrateurs de ne pas utiliser cette fonction.

Nous vous déconseillons d'utiliser des assemblys côte à côte associés à la technique de redirection DLL/COM sur Windows. Reportez-vous à la section "Plus d'informations" pour obtenir des informations supplémentaires.

Plus d'informations

Un assembly côte à côte contient une collection de ressources pouvant inclure un ou plusieurs fichiers DLL, classes de fenêtres, serveurs COM, bibliothèques de types ou interfaces. Ces ressources sont toujours fournies ensemble aux applications. Un assembly côte à côte est sélectionné par un manifest d'application XML pouvant exister dans l'un quelconque des emplacements suivants :
  • une ressource dans le fichier exécutable pour l'application ;
  • un fichier avec une extension ".exe.manifest" installé dans le même dossier que le fichier exécutable de l'application ;
  • un paramètre de la base de données de compatibilité des applications Microsoft. Si un manifest d'application est fourni par la base de données de compatibilité des applications Microsoft, il est prioritaire sur ce qui est fourni par l'application.
Après le déploiement, les développeurs logiciels ou les administrateurs peuvent mettre à jour la configuration de l'assembly, par application, à l'aide d'un fichier de configuration d'application. Un fichier de configuration d'application est un fichier doté d'une extension ".exe.config" se trouvant dans le même dossier que le fichier exécutable de l'application. Un fichier de configuration d'application peut être utilisé pour rediriger une application spécifique, utilisant une version d'un assembly côte à côte, vers une autre version de cet assembly, sans recompiler l'application. Par exemple, un administrateur ou un développeur peut mettre à jour ou adhérer à une application individuelle pour qu'elle utilise un assembly côte à côte plus récent qui n'a pas été imposé à toutes les applications par l'intermédiaire d'une stratégie d'éditeur. La version la plus récente de l'assembly côte à côte est alors prioritaire par rapport aux versions antérieures pour l'application spécifiée.

En outre, un administrateur pour Windows Server 2003 ou un administrateur ou développeur de logiciels pour Windows XP, peut ignorer ou annuler son adhésion à tout assembly côte à côte mis à jour de façon globale pour une application spécifique au lieu de supprimer cet assembly pour toutes les applications. Pour cela, un administrateur peut mettre à jour le fichier de configuration d'application pour qu'il inclue un élément <publisherPolicy apply="no"/>.

Pour déterminer si le fichier de configuration d'application est utilisé pour ignorer les assemblys côte à côte mis à jour de façon globale pour une application spécifique sur un ordinateur Windows XP, recherchez l'élément <publisherPolicy apply="no"/> dans un fichier .config avec le même nom de fichier que le fichier exécutable de l'application. Par exemple, recherchez l'élément <publisherPolicy apply="no"/> dans le fichier Application.exe.config pour déterminer si des assemblys côte à côte mis à jour de façon globale sont ignorés pour une application utilisant le fichier Application.exe en tant que fichier exécutable. Ce fichier Application.exe.config est installé au même emplacement que le manifest d'application de l'application.

Cette fonction permet aux développeurs de logiciels et aux administrateurs de désactiver, de façon sélective, une mise à jour logicielle Microsoft pour une application spécifique qui ne fonctionne pas correctement si la mise à jour logicielle est installée. (Par conséquent, les développeurs de logiciels et les administrateurs n'ont pas à supprimer la mise à jour logicielle pour toutes les applications.) Toutefois, si une application inclut un tel contournement, elle peut être vulnérable à l'un des problèmes résolus par la mise à jour logicielle.

Remarque Ce contournement requiert une entrée dans la base de données de compatibilité des applications Microsoft sur les ordinateurs Windows Server 2003. Ce paramètre peut uniquement être ajouté par les administrateurs ou par Microsoft dans une mise à jour logicielle.

Il existe d'autres méthodes que l'auteur de l'application, ou toute autre personne disposant du contrôle sur le répertoire de l'application, peut utiliser pour contourner la mise à jour globale.

Prudence lors de l'utilisation de la technique de redirection DLL/COM sur Windows

Cette technique fait généralement appel à un fichier .local, qui doit être déployé avec l'application. Cette condition permet de réduire les problèmes de compatibilité de l'application.

Remarque Le fichier .local permet que le système utilise la copie de la DLL dans le dossier de l'application plutôt que la copie globale, qui peut être une mise à jour de service importante. Nous conseillons aux développeurs de logiciels et aux administrateurs d'utiliser cette fonctionnalité avec précaution, voire même de ne pas l'utiliser du tout, lorsque l'application utilise un assembly côte à côte.

Pour plus d'informations sur la technique de redirection DLL/COM sur Windows, reportez-vous au site Web de Microsoft (en anglais) à l'adresse suivante :
http://msdn2.microsoft.com/en-us/library/aa375142.aspx


Pratiques recommandées pour les développeurs de logiciels qui utilisent des assemblys côte à côte
  • Fournissez avec votre application un manifest d'application répertoriant la version de l'assembly côte à côte qui a servi à la création et au test de votre application.
  • Déployez toujours le fichier manifest de l'assembly côte à côte avec les DLL côte à côte, même si vous choisissez de déployer dans le dossier de l'application.
  • Si votre application peut être installée sur un ordinateur qui exécute Microsoft Windows 2000 ou une version antérieure de Windows, ne fournissez pas l'assembly côte à côte dans le dossier de votre application pour ces systèmes d'exploitation. En effet, les assemblys côte à côte doivent être utilisées à partir du dossier système.
  • N'utilisez pas la fonctionnalité associée au fichier .local, également appelée redirection DLL/COM sur Windows.
  • N'exécutez pas la fonction LoadLibrary sur les DLL de l'assembly côte à côte avec un chemin d'accès complet explicite. Utilisez plutôt une liaison statique ou la fonction LoadLibrary avec le nom de fichier DLL brut. Par exemple, utilisez le nom de fichier ?Gdiplus.dll?.
Pour plus d'informations, reportez-vous au site Web de Microsoft (en anglais) à l'adresse suivante :
http://msdn2.microsoft.com/en-us/library/ms997620.aspx

Références

Pour plus d'informations sur les applications isolées et les assemblys côte à côte, reportez-vous au site Web de Microsoft (en anglais) à l'adresse suivante :
http://msdn2.microsoft.com/en-us/library/aa375193.aspx
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
824684 Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 835322 - Dernière mise à jour: samedi 1 décembre 2007 - Version: 4.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Édition familiale
  • Microsoft Windows XP Professional x64 Edition
Mots-clés : 
kbinfo kbtshoot kbsecurity kbprb KB835322
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com