Je suis en train de déployer une application Visual C++ (développée avec Microsoft Visual Studio 2008) à l'aide d'un projet d'installation et de déploiement. Après l'installation, les utilisateurs de certains ordinateurs cibles reçoivent le message d'erreur suivant après le lancement de l'exécutable de l'application: «Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application peut résoudre le problème. "Un autre utilisateur après l'installation pourrait exécuter l'application correctement. Je ne peux pas trouver la cause première de ce problème, malgré le fait que je passe plusieurs heures sur les fichiers d'aide et les forums en ligne de Visual Studio (la plupart des messages datent de 2006). Est-ce que quelqu'un à Stack Overflow a une suggestion? Merci d'avance. Des détails supplémentaires apparaissent ci-dessous.Qu'est-ce qui rend le déploiement réussi pour certains utilisateurs et échoué pour d'autres?
L'application utilise FLTK 1.1.9 pour une bibliothèque GUI, ainsi que certaines bibliothèques Boost 1.39 (regex, lexical_cast, date_time, math).
Je me suis assuré que j'essayais de déployer la version finale (pas la version de débogage) de l'application. La bibliothèque Runtime dans les paramètres de génération de code est DLL multithread (/ MD). Le dépendant des dépendances de myapp.exe répertorie les DLL suivantes: wsock32.dll, comctl32.dll, kernel32.dll, user32.dll, gdi32.dll, shell32.dll, ole32.dll, mvcp90.dll, msvcr90. dll.
Dans le projet d'installation et de déploiement, j'ajoute les DLL suivantes au système de fichiers sur la machine cible: fltkdlld.dll et un dossier nommé Microsoft.VC90.CRT avec msvcm90.dll, msvcp90.dll, mcvcr90.dll et Microsoft.VC90.CRT.manifest.
Le processus d'installation sur les ordinateurs cibles qui reçoivent le message d'erreur nécessite l'installation préalable de .Net Framework 3.5.
Une suggestion? Merci d'avance!
Bonjour - Merci pour votre réponse. Dans mon post ci-dessus, je détaille comment j'ai déjà un dossier (dans le projet de configuration et de déploiement, dans le système de fichiers sur la machine cible) nommé Microsoft.VC90.CRT avec msvcm90.dll, msvcp90.dll, mcvcr90.dll et Microsoft. VC90.CRT.manifest. N'est-ce pas le redistribuable Visual C++ que vous mentionnez dans votre réponse? – Julien
Ce n'est pas pareil, non. Mon souci est que ces DLL MSVCRT peuvent ne pas être la bonne version pour toutes vos dépendances ... Pour vérifier, sur un ordinateur de travail, utilisez Process Explorer pour déterminer la liste complète des DLL qui sont utilisées et comparez aux versions que vous avez re expédition. Sur une machine de travail, il peut y avoir quelque chose (obscure) installé qui a expédié une autre version des DLL. – JBRWilkinson
Ok. J'ai ajouté le fichier vcredist_x86.exe au projet d'installation et de déploiement.Est-ce que vous voulez dire par "Ajouter le redistribuable Visual C++ à votre projet de déploiement"? J'ai ensuite demandé à l'utilisateur sur une machine cible d'exécuter le nouveau fichier setup.exe (avec le nouveau fichier * .msi) et le message d'erreur apparaît toujours. Un aperçu? – Julien