Voici ma configuration :
- Ordinateur A - Windows 7, MS Visual Studio 2005 patché pour la compatibilité avec Win7 (8.0.50727.867)
- Ordinateur B - Windows XP SP2, MS Visual Studio 2005 installé (8.0.50727.42)
Mon projet a quelques dépendances externes (DLLs pré-construites - construites sur A ou téléchargées sur Internet), quelques DLLs construites à partir des sources et un exécutable. Je développe principalement sur A et tout va bien là-bas. À un moment donné, j'essaie de construire mon projet sur l'ordinateur B, en copiant les DLLs pré-construites dans le dossier de sortie. Tout se construit bien, mais en essayant de lancer mon application, j'obtiens
L'application n'a pas réussi à s'initialiser correctement (0xc0150002)....
Le journal des événements contient deux de ces messages :
L'assembly dépendant Microsoft.VC80.CRT n'a pas pu être trouvé et la dernière erreur était L'assembly référencé n'est pas installé sur votre système.
plus un peu plus amusant
Générer le contexte d'activation a échoué pour some.dll. Message d'erreur de référence : L'opération s'est terminée correctement.
À ce stade, j'essaye de faire appel à mon Google-Fu, mais en vain - pratiquement tous les résultats concernent l'exécution de binaires sur des machines sans Visual Studio installé. Dans mon cas, cependant, les exécutables échouent à s'exécuter sur l'ordinateur sur lequel ils sont construits.
La prochaine étape a été d'essayer Dependency Walker et cela m'a encore plus déconcerté - mes DLLs construites à partir des sources sur la même machine ne peuvent pas trouver MSVCR80.DLL
et MSVCP80.DLL
, cependant l'exécutable semble être correct en ce qui concerne ces deux DLLs c'est-à-dire que lorsque j'ouvre l'exécutable avec Dependency Walker, il montre que les MSVC?80.DLL
peuvent être trouvées, mais lorsque j'ouvre l'une de mes DLLs, il dit qu'elles ne peuvent pas. C'est là que je suis complètement à court d'idées sur quoi faire, donc je vous demande, chers utilisateurs de stackoverflow :)
J'avoue que je suis un peu confus sur tout ce côté "side-by-side", donc une lecture générale sur le sujet sera également appréciée.