Bonjour bonjour,
J'ai developpé un lourd programme en Visual C++ (version 2005 du studio), et je me demandais, si pour utiliser cette aplicatif, il pouvait suffir de copier mon dossier sur un autre PC et de double cliquer sur le .exe?
Bonjour bonjour,
J'ai developpé un lourd programme en Visual C++ (version 2005 du studio), et je me demandais, si pour utiliser cette aplicatif, il pouvait suffir de copier mon dossier sur un autre PC et de double cliquer sur le .exe?
Bonjour,
La réponse dépend des bibliothèques avec lesquelles le soft a été lié.
WIN32 / MFC static : besoin de rien.
MFC DLL : besoin de la dll MFCxx.dll.
.net : besoin d'installer sur le poste client le redistribuable .net correspondant au moins à la version de développement.
aaarf
C'est une appli WIN32 et cela testicule (politesse oblige)
Quand vous dites de cela ne fonctionne pas, quel est le message d'erreur envoyé ?
Dans properties / projects defaults, quelle est l'entrée pour "use MFC" ?
Que quelles DLL dépend cette application ? (Voir ça avec dependencywalker qui est installé avec certaines versions de VS, à télécharger sinon)
use MFC : Utiliser les bibliothèques Windows standard
Erreur retournée : Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pourrait résoudre le problème.
Dépendance :
msvcp80d.dll
msvcr80d.dll
kernel32.dll
msvcp80d.dll : MicroSoft Visual C Plusplus (?) 8.0msvcp80d.dll
msvcr80d.dll
msvcr80d.dll : MicroSoft Visual C Runtime 8.0
Ces deux bibliothèques sont à fournir avec l'exécutable pour que le soft se lance correctement.
Deux solutions :
- Mettre les dll dans le répertoire d'exécution de l'appli
- Copier les dll dans le path du poste cible (genre c:\windows\system32)
- Solution bonus : passer par un installateur comme celui de nullsoft par exemple.
kernel32.dll est installé sur tous les windows
J'ajouterais juste que les deux sont des version debug.
Tu veux distribuer une version debug![]()
?Je crois (à 90%
) par expérience que ça ne suffit pas pour VS2005. Pour distribuer du release, il te faut passer par le pack de redistribution, disponible dans la FAQ.
A noter également ce lien, qui te concerne peut-être plus pour le debug.
Troisième solution, mille fois plus simple, les lier en statique (Project / Properties / C/C++ / Code Generation / Runtime Library = Multi-threaded)
Alors sous ma première question simple se cache un réelle probleme que vous allez retrouver sur ce post ci
Si vous avez quelques idées que ce soit, maintenant que vous avez toutes les données du problème, je suis preneur.
(vous verrez sur le lien, que j'ai deja installé vcredist_x86.exe sur mon autre PC et ca n'a pas aidé. Il doit y avoir une subtilité du vs2005 que je ne connais pas encore)
De plus, je crois que les version debug des DLL msvcp80.dll n'ont pas le droit d'être déployées comme cela car elles nécessitent une licence Visual sur le poste sur lequel on les copie
Et comment passer en version release?
Vu que tu utilises Visual:
Menu Générer >> Gestionnaire de configurations >> Release
Bon ba j'ai mis en release,
Bibliothèque runtimes -> DLL multithread
Mais cela me lance toujours la meme erreur, c'est à n'y rien comprendre : "Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pour résoudre ce problème"
Quel est exactement la procédure ou les paramètre à mettre pour déployer une application vc++2005? Juste ce qu'il y a en début de message?
(en tout cas je vous remercie pour le temps que vous m'accordez)
Ah oui et apres avoir mis en release mes dépendance sont :
msvcp80d
msvcr80
Pas normal que la version Debug soit encore référencée...
Parfaitement d'accord. Ca n'a changé que la seconde. La première serait elle dépendante d'un autre paramètre de la configuration?
Ou alors les options de la configuration "release" ne correspondent pas à une version release et ont été bidouillées![]()
Je ne pense pas, j'ai été le seul à utiliser Visual sur ce PC et étant donné que je n'y connais absolument rien, je me suis contenter de coder ma solution au problème et de la tester avec des "Executer".
Après si tu as une idée de l'option qui peut en être responsable je peux y farfouiller
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager