TN056 : Installation de composants MFC

Cette note décrit les exigences pour l'installation de n'importe quel composant qui utilise le DLL(s) MFC, y compris CTL3D32.DLL. les composants liés à l'ODBC et DAO nécessite des considérations particulières et ne sont pas abordées ici. Veuillez vous référer à la documentation de ces composants pour plus d'informations.

DLL et les notes de Version

La DLL(s) MFC sont ce qu'on appelle une DLL partagée. Pour la version Win32 de MFC, il y a potentiellement une seule DLL MFC que vous devez installer avec votre demande : MFC4x.DLL ou une version ultérieure. Cette DLL unique contient tout le code nécessaire pour noyau MFC, MFC/OLE MFC et base de données et les classes MFC/réseau (les versions précédentes avaient chacune de ces composantes éclatés dans des DLL distinctes).

Pour la version Macintosh de MFC, ce sont encore distinctes de DLL : MFC4x.DLL, MFCO4x.DLL et MFCD4x.DLL (ou versions ultérieures). Même si votre application n'utilise pas toutes les DLL MFC (peut-être vous n'utilisez pas la fonctionnalité OLE ou de base de données de MFC, par exemple), vous devez installer toutes les DLL MFC comme un ensemble. Chose se traduirait par des composants. Ceci est important parce qu'il n'y a aucune garantie qu'une version ultérieure de MFC4x.DLL travaillera avec la version 4.x de MFCO4x.DLL.

Étant donné que ces DLL est des composants partagés, ils résident dans le répertoire « system » de Windows. C'est-à-dire, ils doivent être installés dans le répertoire indiqué par la valeur de retour de GetSystemDirectory. Installation dans ce répertoire, comme les autres composantes du système commun, doit être fait avec soin pour éviter d'écraser les versions plus récentes de la DLL qui autres applications précédemment installées peuvent être en se fondant sur. Pour récupérer les informations de version pour les fichiers installés, utilisez la GetFileVersionInfo API fourni par les version API Windows. Vous devez uniquement installer une nouvelle DLL si ses informations de version, donner par les champs dwFileVersionMS et dwFileVersionLS de la structure VS_FIXEDFILEINFO sont plus grandes que les mêmes informations de version de la DLL déjà installée.

Enfin, si votre application utilise CTL3D32.DLL (si il appelle CWinApp::Enable3dControls), vous devez installer la version correcte de CTL3D32.DLL dans le répertoire système, encore une fois, en prenant soin de vérifier qu'une version plus récente n'existe pas déjà. En outre, la version de CTL3D32.DLL que vous installez est différent selon la plate-forme que vous installez le. Pour Windows, version 4.0 et supérieure, CTL3D32.DLL n'est pas utilisé en aucun cas, donc il ne doit pas être installé (y compris Windows 95 et Windows NT 4.0). Pour Win32s, \WIN32S\REDIST\CTL3D32.DLL doit être installé dans le répertoire système. Pour Windows NT 3.xx, \MSDEV\CTL3D32.DLL doit être installé dans le répertoire système. Chacun de ces DLL est spécifique à la plate-forme cible, même s'ils ont le même nom. La version de Win32s refusera d'exécuter sur Windows NT ; la version Windows NT refuse d'exécuter sur Win32s.

Facteurs de localisation

Si votre application a choisi de localiser son utilisation des ressources MFC par l'installation de MFC4xLOC.DLL ou une version ultérieure, vous devrez suivre les instructions de cette section. Comme autres DLL partagée, MFC4xLOC.DLL devraient seulement être installés si sa version est plus récente que la version qui est déjà installée. Donc installer cette DLL est très similaire à installer les autres DLL(s) de MFC. Il y a quelques exceptions près.

Tout d'abord, vous devez installer jamais MFC4xLOC.DLL sur un système anglais. Ressources anglais sont construits en MFC4x.DLL et il est plus rapide pour charger tout d'abord de cette MFC4xLOC.DLL DLL au lieu de chercher (et chargement).

Deuxièmement, il existe plusieurs versions de MFC4xLOC.DLL – un pour chaque paramètre régional. Leurs noms sont basés sur les paramètres régionaux. Par exemple, MFC4xDEU.DLL est la version allemande de MFC4xLOC.DLL, il contient des informations de version qui l'identifie comme paramètres régionaux allemand ; MFC4xESP.dll, est de la même façon, la version espagnole de la DLL. Si vous l'installez, vous devez s'assurer que les paramètres régionaux système de Windows qui est installée correspondant à 1) les paramètres régionaux pour lesquels il est destiné, et 2) que les paramètres régionaux ne sont pas différente de la locale de la MFC4xLOC.DLL est déjà installé (si elle est installée). Si ces deux conditions ne peuvent être satisfaites, puis la DLL ne devrait pas remplacée. Si la marque de version sur les MFC4xLOC.DLL existants est égale ou supérieure à la marque de la version de votre distribution, alors vous êtes produit fonctionnera une fois installé. Il peut avoir mélangé de ressources (dont certains d'une langue, de l'autre), mais il fonctionnera. Si la marque de la version de la DLL existante est inférieur à votre distribution et les paramètres régionaux sont incorrect, votre produit peut ne pas fonctionner une fois installé. Vous devez avertir l'utilisateur de ce décalage et retour de votre processus d'installation. L'utilisateur devra résoudre le conflit entre cette DLL et votre produit avant de continuer.

&Nbsp important;  De toute évidence, cela peut ajouter beaucoup de complexité à votre installation ainsi que des tracas pour votre utilisateur final si ils utilisent et installez un mélange de différentes applications localisées (certaines applications localisées à une seule langue et à certains à l'autre). En raison de cette difficulté, il est fortement recommandé que vous expédier pas n'importe quelle version de MFC4xLOC.DLL. Au lieu de cela, comprennent les ressources appropriées de mise en œuvre des MFC dans votre module de soi et d'éviter toute cette question. Consultez Technical Note 57 pour plus d'informations sur ce sujet.

&Notes techniques par le numéro |nbsp ; Notes techniques par catégorie

Index