IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Exécution sur une cible XP d'un code compilé sous W7


Sujet :

Visual C++

  1. #1
    Membre averti
    Profil pro
    dev
    Inscrit en
    Avril 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Avril 2010
    Messages : 53
    Par défaut Exécution sur une cible XP d'un code compilé sous W7


    Je souhaite exécuter un programme qui est compilé sur une machine Windows7 sur des machines XP.

    J'utilise Visual Studio 2005 Version 8.0.50727.687 (vsvista.050727-8600).
    Je réalise la compilation en RELEASE.
    J'installe "Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)" sur les machines cibles.
    Mais rien n'y fait, le programme plante sur les machines XP alors qu'il fonctionne parfaitement sur la machine en Windows7.

    J'intuite que le problème est relatif aux dépendances du projet. En utilisant Dependency Walker, DWMAPI.dll est manquante. En fouillant dans les forum, la solution était de désintaller Internet Explorer 7. Chose que j'ai faite mais maintenant, c'est MSJAVA.dll qui est déclarée manquante.

    Le code est en C++ et n'utilise pas le framework .Net. Je n'ai pas vérifié la compatibilité entre les frameworks. Je ne pense pas que cela puisse venir de là.

    Par ailleurs, j'ai essayé d'utilisé les versions minimums requises mais sans succès
    http://msdn.microsoft.com/en-us/library/aa383745.aspx
    Je ne sais d'ailleurs pas trop comment fait-on pour paramétrer le projet visual

    Merci d'avance,
    Sébastien

  2. #2
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Quand tu dis que le programme plante, as-tu une remontée d'erreur?
    Si oui, laquelle ?

  3. #3
    Membre averti
    Profil pro
    dev
    Inscrit en
    Avril 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Avril 2010
    Messages : 53
    Par défaut
    Aucune remontée d'erreurs

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 464
    Par défaut
    Si vous ne voulez pas installer VS sur un XP ou installer les outils de debugging à distance de VS sur une machine XP, vous pouvez toujours générer un Dump avec DrWatson ou un autre outil pour avoir la cause réelle du plantage.
    Il semble que vous ne maitriser pas du tout les dépendances en dll de votre application et c'est mal.
    Vous devez fournir, dans votre packaging d'installation, l'ensemble des dll que votre application utilise.

  5. #5
    Membre averti
    Profil pro
    dev
    Inscrit en
    Avril 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Avril 2010
    Messages : 53
    Par défaut
    Effectivement, je ne maitrise pas du tout les techniques de débogage VS à distance, ni la création de Dump

    Je vais creuser de mon côté mais si vous avez des liens à me conseiller sur ces 2 sujets, je suis preneur.

    Il semblerait que je maitrise mal les dépendances de l'appli. Néanmoins je veille à distribuer les dll dans le même dossier, à l'exception des redist vs qui doivent être installés.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    si ton exécutable est destiné à tourner sur des Windows xp , pense à définir la plateforme dans stdafx.h ou plus vraisemblablement dans le fichier targetver.h

  7. #7
    Membre averti
    Profil pro
    dev
    Inscrit en
    Avril 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Avril 2010
    Messages : 53
    Par défaut
    Oups, je n'ai ni fichier stdafx.h ou targetver.h.
    Je me suis finalement décidé à installer VS sur la machine XP.

  8. #8
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Citation Envoyé par TaZStars Voir le message
    Oups, je n'ai ni fichier stdafx.h ou targetver.h.
    Je me suis finalement décidé à installer VS sur la machine XP.
    Tu ne risques pas d'avoir ce genre de .h avec ton exécutable/livrable, farscape te parle des fichiers sources de ton projet ...
    Il semble que ton manque de maîtrise ne se cantonne pas seulement au dépendances vers des dll, mais plutôt à la programmation sous VS ...

  9. #9
    Membre averti
    Profil pro
    dev
    Inscrit en
    Avril 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Avril 2010
    Messages : 53
    Par défaut
    Merci TheGzD mais je sais encore faire la différence entre les sources et les binaires. Je n'ai évidemment pas cherché ces fichiers sur la machine cible.

    Il aurait été plus utile que tu m'éclaires sur la manière dont on les utilise au lieu de m'insulter.

  10. #10
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Merci TheGzD mais je sais encore faire la différence entre les sources et les binaires. Je n'ai évidemment pas cherché ces fichiers sur la machine cible.
    et ? je ne vois pas trop le rapport avec ce qui nous intéresse : on peut très bien livrer des .h dans le cas d'une bibliothèque. Ainsi on peut très bien retrouver du code source sur une machine cible. Excuse moi de ne pas savoir exactement ce que tu fais au boulot, et d'avoir essayé de t'éclairer un peu plus sur quelque chose que tu ne sembles pas comprendre ...

    Je dit juste ça car vu ton précédent poste il semblait que tu aies trouvé comme solution, pour avoir ces .h, d'installer VS sur ta machine sous XP.

    Il aurait été plus utile que tu m'éclaires sur la manière dont on les utilise au lieu de m'insulter.
    faudrait pas pousser non plus, où as-tu vu des insultes dans mon post ? Si tu es en colère, car tu ne t'en sors pas avec ton projet ce n'est pas une raison pour t'en prendre aux autres.

    Enfin ne t'inquiète pas je ne viendrais plus perdre mon temps à essayer de te faire avancer sur tes problèmes.

  11. #11
    Membre averti
    Profil pro
    dev
    Inscrit en
    Avril 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Avril 2010
    Messages : 53
    Par défaut
    Désolé, c'est ma faute, je me suis mal exprimé.
    J'ai installé VS entre temps et pas parce que je n'avais pas trouvé les fichiers.

    Si je suis sur ce forum, c'est bien que je cherche des solutions. Je ne trouve pas très constructif que tu pointes mes lacunes. C'est bien pour ça que j'écris.

    Si tu veux réellement m'aider comme tu le prétend cherche plutôt à les combler. Techniquement, tu ne m'as pas apporté plus d'info sur ces fichiers alors que tu sembles en savoir plus

  12. #12
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Maintenant que tu as VS sur ton XP, as-tu avancé ? VS a pu 'catcher' le crash ?

    N'oublie pas de mettre les fichiers pdb (pour debug) de ton exe et de tes dlls sous XP.

  13. #13
    Membre averti
    Profil pro
    dev
    Inscrit en
    Avril 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Avril 2010
    Messages : 53
    Par défaut
    Depuis que j'ai installé VS, l'appli ne crache plus

    J'ai alors testé le remote debug sur une autre machine XP où visual n'était pas installé. J'ai trouvé des infos là:
    http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx

    J'ai donc compilé le projet en debug et ajouté les vs redist debug au package trouvé là:
    C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT

    Malheureusement, l'appli crache direct sans même entrer en debug.
    (J'ai évidemment testé la technique du remote debug sur une machine sur laquelle l'appli ne plantait pas)

    Reste à tester le Dump avec DrWatson...

  14. #14
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Je crois qu'en définissant correctement la plateforme cible (donc XP) dans le stdafx.h ou le targetver.h lors de ton développement sur une machine Win7 que tu peux faire tourner ton application sous XP sans problème.
    Il faudra se rassurer que ton application compilé sous Seven n'utilisera uniquement que les ressources dans XP.
    L'avantage de cette pratique serait de t'éviter d'installer VS sous une quelconque version antérieure à Seven. car il y a Vista aussi.
    Et donc en "compile time mode" tu auras deux versions de ton application une sous Win7 et l'autre sous XP.

Discussions similaires

  1. Redirection sur une cible lors du rechargement de la page
    Par argon dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/11/2008, 23h02
  2. Réponses: 6
    Dernier message: 09/01/2007, 14h12
  3. Historique des requêtes exécutées sur une base
    Par Markeen dans le forum Firebird
    Réponses: 1
    Dernier message: 12/12/2006, 21h47
  4. Réponses: 4
    Dernier message: 14/11/2006, 19h03
  5. [VBA-E]Arrêt d'exécution sur une requette d'enregistrement
    Par thierry27 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/02/2006, 18h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo