Question

Si vous appelez LoadLibrary sans chemin d'accès (par exemple, LoadLibrary (" each.dll ") , Windows suivra généralement son algorithme de recherche standard, le même utilise pour trouver les fichiers EXE.

Ma question est la suivante: supposons qu'un manifeste d'application spécifie une version particulière d'une DLL système, par exemple, comctl32.dll 6.0. Dans ce cas, LoadLibrary ("comctl32.dll") ira immédiatement dans le bon dossier côte à côte, ou effectue-t-il toujours une sorte de recherche?

Était-ce utile?

La solution

De Microsoft:

  

Les applications peuvent contrôler l'emplacement à partir duquel une DLL est chargée en spécifiant un chemin complet, en utilisant la redirection de DLL ou en utilisant un manifeste. Si aucune de ces méthodes n'est utilisée, le système recherche la DLL au moment du chargement, comme indiqué dans cette rubrique.

Alors oui, si un manifeste est présent, il ira directement dans le dossier SxS.

Autres conseils

Pour tester le chargeur en cas de problèmes avec les bibliothèques manquantes, vous pouvez utiliser le fichier "sxstrace". fonctionnalité. www.codeproject.com/KB/DLL/QueryAssemblyIdentities.aspx fournit des détails. sur les dépendances entre manifest et WinSxs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top