Je développe une application .NET C++. J'utilise un capteur d'empreintes digitales dont la bibliothèque principale ne fonctionne que sur 32bits, et a beaucoup de dépendances, l'une d'entre elles est msvcr110.dll. Je sais que cette DLL est livrée avec VS C++ Redistributable Package 2012, donc je l'ai installée. Toutefois, lorsque j'exécute l'application, j'obtiens une exception BadImageFormat. J'ai ouvert la DLL avec Dependency Walker, et j'ai vu qu'il trouve msvcr110.dll/msvcr110d.dll sur le dossier de Windows/System32, mais dans Dependency Walker la DLL apparaît avec le format 64 bits. Cela n'a aucun sens pour moi, car il a été chargé à partir du dossier System32.BadImageFormatException sur l'application 32 bits fonctionnant sur un PC 64 bits
Si j'ouvre msvcr110.dll avec Dependency Walker, il apparaît comme 32bit. Pourquoi quand le capteur de l'empreinte digitale charge la bibliothèque, la charge-t-elle en 64 bits?
Des idées pour résoudre ce problème? Merci beaucoup
N'êtes-vous pas victime de la redirection 32 bits? En savoir plus sur 'Wow64DisableWow64FsRedirection'. Si vous pouvez repérer et contrôler le point exact où le chargement est en cours, vous pouvez désactiver la redirection, puis, une fois le chargement terminé, vous pouvez revenir en arrière. – sergiol