Question

Après la compilation d'un projet C ++ simple à l'aide de Visual Studio 2008 sur vista, tout fonctionne correctement sur la machine vista d'origine et sur d'autres ordinateurs vista. Toutefois, si vous le déplacez vers une boîte XP, un message d'erreur apparaît: "Échec du démarrage de l'application car la configuration de l'application est incorrecte".

Que dois-je faire pour que mon fichier EXE compilé fonctionne sur XP et Vista? J’ai eu ce même problème il ya quelques mois et je me suis contenté de modifier certains paramètres du projet pour le corriger, mais je ne me souviens pas de ceux que j’ai modifiés.

Était-ce utile?

La solution

Vous devez installer le moteur d'exécution Visual Studios 2008 sur l'ordinateur cible:

  

http: // .microsoft.com / downloads / details.aspx? FamilyID = 9b2da534-3e03-4391-8a4d-074b9f2bc1bf & amp; displaylang = fr

Sinon, vous pouvez également lier l'exécution de manière statique. Dans la fenêtre des propriétés du projet, accédez à:

  

c ++ - > Génération de code - > Runtime   Bibliothèque et sélectionnez "Multi-threaded"   / MT "

Autres conseils

Vous devez installer les fichiers redistribuables d'exécution sur la machine sur laquelle vous essayez d'exécuter l'application.

Le redistribuable pour 2008 est ici .

Ils peuvent être installés côte à côte, au cas où vous auriez besoin des deux.

Vous devez probablement distribuer le runtime VC avec votre application. Il y a plusieurs façons de le faire. Cet article de l’équipe Microsoft Visual C ++ explique le mieux les différentes façons de distribuer ces dépendances si vous utilisez Visual Studio 2005 ou 2008.

Comme indiqué dans l'article, bien que vous puissiez télécharger le package d'installation redistribuable et le lancer simplement sur la machine cliente, ce n'est presque toujours pas l'option optimale. Il existe généralement de meilleures méthodes pour inclure les DLL requises, telles que le module de fusion si vous distribuez via le programme d'installation de Windows ou la copie App-Local si vous souhaitez simplement distribuer un dossier compressé.

Une autre option consiste à établir un lien statique avec les bibliothèques d'exécution au lieu de les distribuer avec votre application. Cette option ne convient que pour les fichiers EXE autonomes qui ne chargent pas d'autres DLL. Vous ne pouvez pas non plus faire cela avec les DLL chargées par d'autres applications.

Il est beaucoup plus simple de créer un lien statique avec le moteur d'exécution.

c ++ - > Génération de code - > Bibliothèque d'exécution et sélectionnez "multi-threaded / MT"

Cependant, cela rend votre exécutable plus grand de quelques centaines de Ko. Cela peut poser problème si vous installez un grand nombre de petits programmes, car chacun d’eux sera chargé par sa propre copie du moteur d’exécution. La solution consiste à créer un programme d’installation.

Nouveau projet - > " configuration et déploiement " - > " projet d'installation "

Chargez le résultat de vos projets d'application (défini à l'aide de la version DLL du runtime) dans le projet d'installation et générez-le. La dépendance vis-à-vis de la DLL d'exécution sera remarquée, incluse dans le package d'installation et installée proprement et discrètement à l'emplacement approprié sur la machine cible.

Visual Studio 2005 en a réellement deux

Celui de l'original libérer

et celui

scroll top