2010-06-09 8 views
1

J'ai un fichier .exe de débogage que je veux exécuter sur d'autres machines sur lesquelles MS Visual Studio 2008 n'est pas installé. Comment cela peut-il être fait? L'option de libération ne fonctionne pas car l'application ne fonctionne pas correctement lors de la génération dans la version (je ne sais pas pourquoi). À l'heure actuelle, je reçois un message disant «Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte».Comment exécuter le fichier de débogage sur un autre ordinateur?

Répondre

0

Vous devez installer le moteur d'exécution de VC sur l'autre machine choisir un (ou les deux) des éléments suivants (selon la version de Visual Studio que vous utilisez) ...

  1. VS2008

  2. VS2005

+0

J'ai installé le pack de distribution VS2008 mais j'ai toujours la même erreur. – Pazzy

3

Vous avez deux options:

  1. Installez la version de débogage de VC Redist
  2. Copiez le temps d'exécution de débogage (C et ou MFC) dans votre répertoire d'application. Vous trouverez l'exécution de débogage dans votre répertoire Visual Studio, par exemple. C: \ Program Files (x 86) \ Microsoft Visual Studio 8 \ VC \ redist \ Debug_NonRedist \ x86 \ Microsoft.VC80.DebugCRT. Vous devrez copier ce répertoire dans votre répertoire d'application, et assurez-vous que le manifeste de l'application fait référence à cette version de l'environnement d'exécution.
+0

dois-je copier le contenu de ce répertoire ou le dossier entier dans le répertoire de l'application? Il y a aussi des dossiers DebugMFC et DebugOpenMP ici ... faut-il aussi les copier? – Pazzy

+0

Copiez le dossier entier dans le répertoire de votre application. Vous n'aurez besoin de copier DebugMFC que si votre application utilise MFC. – humbagumba

0

En général dans la plupart des cas c'est seulement le problème des dépendances de programme comme MSVCR90D.DLL. Le problème est que la version de débogage de C++ Runtime n'est pas redistributive libre.

Si vous utilisez l'option "Génération de code" de "DLL de débogage multithread (/ MDd)" à "Multi-threaded Debug (/ MTd)". Il se peut que votre programme s'exécute après ces changements.

Vous pouvez utiliser le profilage dans "Dependency Walker" (voir www.dependencywalker.com) pour voir toutes les dépendances de l'application (y compris toutes les DLL de chargement différé).

+0

Eh bien j'ai eu la version de sortie pour fonctionner correctement, mais elle ne s'ouvre toujours pas quand j'ai le pack redist installé sur la machine cible. – Pazzy

+0

Désolé, je ne comprends pas votre commentaire. Vous avez demandé comment démarrer la version DEBUG de votre exe sur un autre ordinateur. Maintenant vous parlez de la version RELEASE. Voulez-vous vouloir faire? Pack de redistribution dont vous avez besoin si vous compilez votre application C/C++ avec le paramètre de génécation de code "Multi-threaded Debug DLL (/ MDd)" ou "Multi-threaded DLL (/ MD)".Si vous utilisez "Multi-threaded Debug (/ MTd)" ou "Multi-threaded (/ MT)" votre EXE sera plus grand, mais toutes les fonctions d'exécution C/C++ seront à l'intérieur de votre EXE, donc vous n'avez pas besoin dans le Dans la plupart des cas, insérez un paquet redist pour l'exécution C/C++ – Oleg

+0

Désolé de ne pas avoir de sens auparavant, votre droit je demandais à propos de l'exe de débogage. Peu importe, tous triés maintenant. Encore merci pour votre contribution. Cela m'a beaucoup aidé :) – Pazzy

Questions connexes