J'ai créé une application client-serveur en C++ à l'aide de Visual Studio.
Maintenant, je veux exécuter le fichier exe client sur un autre ordinateur (qui n'a pas installé Visual Studio) mais lorsque j'essaie d'exécuter le fichier exe, il donne le message d'erreur suivant:
Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application peut résoudre ce problème.
Comment puis-je exécuter le fichier exe sans rien installer sur l'ordinateur?
J'ai déployé mon programme en version au lieu de déboguer et l'exe fonctionne maintenant sur l'autre ordinateur
Les applications créées avec Visual Studio dépendent de Visual C++ Redistibutable (VCRedist). Lorsque le programme est lié dynamiquement, vos fichiers binaires auront besoin de MSVCR**.dll
(Microsoft C Runtime Library).
Sur MSDN, il y a un article de Nice appelé Redistributing Visual C++ Files (pour Visual Studio 2008) , qui indique qu'il y a Erreurs potentielles d'exécution au cas où = la bibliothèque Visual C++ requise n'est pas installée:
vous pouvez obtenir l'un des messages d'erreur suivants selon la version de Windows sur laquelle vous essayez d'exécuter votre application:
- L'application n'a pas pu s'initialiser correctement (0xc0000135).
- Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. La réinstallation de l'application peut résoudre ce problème.
- Le système ne peut pas exécuter le programme spécifié.
Multi-threaded DLL (/MD)
à Multi-threaded (/MT)
.Mais votre application peut également dépendre d'autres DLL. Si vous voulez savoir quelles sont les dépendances de votre programme, il existe un excellent utilitaire appelé Dependency Walker , qui vous aidera dans cette situation et dans bien d'autres situations :)
Contexte:
Soloution: Enfin, de toute façon, l'ordinateur cible devrait avoir les assemblages d'exécution exacts. Il y a peu de façons de le faire (pour plus de détails, recherchez dans Google chacun).
Conditions:
Je n'ai jamais vu cette erreur spécifique auparavant, il s'agit généralement d'une erreur autour d'un DLL (Windows redistribuable) manquant. En supposant qu'il n'y a pas réellement de problème avec la configuration, vous avez deux choix:
1) Modifiez le mode de compilation de Multithreaded DLL à Multithreaded. Cela peut être fait à partir de la section C++ des propriétés du projet sous génération de code. En mode multithread, votre binaire sera lié statiquement aux fenêtres redistribuables. C'est probablement ce que tu veux.
2) Installez les fenêtres redistribuables sur la machine cible. Ce n'est probablement pas ok b/c vous déclarez que vous ne voulez rien installer sur la machine cible.
Un avertissement concernant l'option 1, différentes versions de Windows ont différentes versions du redistribuable. Il est possible de rencontrer un environnement hautement spécialisé dans lequel un programme lié statiquement ne se comportera pas comme prévu.
Il semble que vous manquiez des fichiers DLL. Assurez-vous de copier les DLL appropriées avec exe.