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

VC++ .NET Discussion :

Probl�me de migration vs2003 vs2005


Sujet :

VC++ .NET

  1. #1
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avanc�
    Inscrit en
    Avril 2005
    Messages
    2 580
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : avanc�

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par d�faut Probl�me de migration vs2003 vs2005
    Bonjour,

    J'ai un probl�me qui me bloque depuis hier avec toutes les applications MFC d�velopp�es sous vs2003
    Ces derni�res refusent totalement de s'�x�cuter sur un pc o� vs2005 n'est pas install�
    J'ai acc�s � 2 PC avec XP fraichement install� o� vs2005 est pr�sent, l'application se lance sans broncher
    Un autre PC sans vs2005, lui aussi avec XP fraichement install�, refuse de lancer l'application
    Et le plus important, la machine de traitement avec XP pas frais qui est pr�vue pour faire tourner les programmes que je d�veloppe, m�me probl�me au lancement

    d�s que je double clic sur l'exe, windows me sort une erreur :
    L'application n'a pas r�ussi � s'initialiser correctement (0xc0150002). Cliquez sur OK pour arr�ter l'application.
    J'ai tout essay� sans succ�s :
    - installation des DLL runtime 8.0
    - lecture du tuto de Farscape : http://farscape.developpez.com/tutor...on-vc6-vc2005/
    - options de g�n�ration du projet avec biblioth�ques MFC statique ou DLL partag�e
    - g�n�ration de code MT ou MD

    je n'ai pas pu aller voir ce qui �tait propos� au lien donn� dans ce post :
    http://www.developpez.net/forums/sho...64&postcount=2
    l'acc�s ne m'est pas autoris�

    J'ai cr�� un projet de base pour tester et il me cr�e le m�me genre de probl�me sauf si je link statiquement les MFC
    le probl�me c'est que j'ai un �x�cutable et une dizaine de DLL, et lier statiquement les MFC aux DLL n'est pas accept� par visual

    si quelqu'un a une id�e, une piste � explorer, je d�sesp�re
    Tutoriels OpenGL
    Je ne r�pondrai � aucune question en MP
    - Si c'est simple tu dis que c'est compliqu� et tu le fait
    - Si c'est compliqu� tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  2. #2
    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 le projet de base cause aussi un probl�me c'est que tu n'as pas distribuer correctement les DLL et la crt 8.0
    http://c.developpez.com/faq/vc/?page=DLL#VC2005VCRedist
    autre point: tu as un manifest pour le style xp dans tes applications ?


  3. #3
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avanc�
    Inscrit en
    Avril 2005
    Messages
    2 580
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : avanc�

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par d�faut
    Salut Farscape,

    merci pour ta r�ponse mais j'ai malheureusement creus� sans succ�s de ces c�t�s l� aussi
    l'installation des DLL runtime 8.0 (vcredist_x86.exe) a �t� faite et n'a rien chang� au probl�me
    et les fichiers manifest semblent optionels puisqu'une simple application (un "hello world" MFC) fonctionne sans probl�me m�me sans les mettre � condition que les MFC soient li�s statiquement sauf que c'est pas possible avec une DLL

    en fait j'ai l'impression que windows charge les mauvaises DLL des MFC (les 7.1 de vs2003 ?)
    la machine a pas mal de progs utilisant les MFC 7.1 et je ne peux recompiler ces progs (pas les sources )

    j'ai contourn� le probl�me (j'esp�re temporairement) en attendant une solution en transformant une partie de mes DLL (celles qui sont utilis�es dans un petit projet) en biblioth�ques statiques afin de pouvoir lier statiquement aux MFC
    l'exe passe de 75Ko � 850Ko (petite appli)

    sauf que l'exe du projet principal fait 1,5Mo en utilisant les MFC en DLL partag�e, alors j'ose pas imaginer en lien statique
    et puis les 2 projets (et quelques autres) ont des DLL en commun, c'est pourqsuoi j'aimerai bien retrouver la possibilit� d'utiliser des biblioth�ques dynamiques
    j'ai un autre projet encore plus gros (environ 28 DLL) et �a me ferait mal de passer 2 jours � tout modifier en biblio statiques

    bon j'y retourne, chaque id�e est source de pistes � explorer
    je vais voir si en virant les MFC 7.1 du dossier syst�me de windows �a fait quelque chose (de bon )
    Tutoriels OpenGL
    Je ne r�pondrai � aucune question en MP
    - Si c'est simple tu dis que c'est compliqu� et tu le fait
    - Si c'est compliqu� tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  4. #4
    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
    Si tes DLL utilisent les MFC 7. Et que tu ne peux pas les reconstruire avec VC2005
    Tu dois aussi distribuer les MFC 7.0
    Quand je pense que MS annon�ait la fin des probl�mes pour les DLL avec VC2500, c�est pire qu�avant.
    Un autre point dont il faut se m�fier: le fait d�avoir des DLL en MFC 7.0 implique que celles-ci travaillent avec une CRT diff�rente de ton application, alors attention, les lib�rations d�objets ou fermeture de fichiers doivent �tre faites dans le module (DLL ou programme) qui l�a initi� sinon �a plantera�

  5. #5
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avanc�
    Inscrit en
    Avril 2005
    Messages
    2 580
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : avanc�

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par d�faut
    comment savoir si un exe et/ou une dll utilise bien les mfc80 ?
    "dependency scanner" me permet de voir que l'exe comme la dll ne sont pas sens�s faire appel aux mfc7x mais bien aux mfc8x

    la machine sur laquelle l'exe recompli� sous vs2005 ne fonctionne pas ne pose aucun probl�me avec un exe compil� avec vs2003
    si c'est un probl�me qui peut �tre li� � msvcrt.dll, que faire ?

    l'application ne plante pas en pleine ex�cution mais d�s le d�part
    la premi�re chose que j'ai � l'�cran c'est ce fichu message d'erreur

    si tu veux, tu peux t�l�charger le zip � l'adresse suivante :
    http://shenron.free.fr/AFFUtils.zip

    tel quel, l'exe avec sa dll ne fonctionne que sur les machines o� visual est install�

    edit: j'ai essay� de virer les dll des mfc 71 mais �a ne change rien
    j'ai aussi cr�� un projet en partant de rien, je peux utiliser une DLL normale mais � partir du moment o� les MFC sont li�es dynamiquement � l'exe ou � une DLL utilis�e par l'exe �a ne va plus
    :parti se pendre:
    Tutoriels OpenGL
    Je ne r�pondrai � aucune question en MP
    - Si c'est simple tu dis que c'est compliqu� et tu le fait
    - Si c'est compliqu� tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  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,
    ton programme utilise des d�pendances li�es aux MFC 6.0 (visual 6.0).
    MSVCRT.DLL et MSVCP60.DLL c'est du vc 6.0 �a ...
    donc si les dll vc6.0 ne sont pas distribu�es sur le poste non � jour �a ne fonctionne pas. (c'est peut �tre lz32.DLL qui en a besoin)
    sur mon poste �a fonctionne tr�s bien puisque j'ai visual 6.0 et Visual 2005 qui cohabite...

  7. #7
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avanc�
    Inscrit en
    Avril 2005
    Messages
    2 580
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : avanc�

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par d�faut
    normalement il n'y a rien qui fait r�f�rence � visual 6 dans mon prog
    il a �t� d�velopp� avec visual 7 et je l'ai recompil� avec visual 8
    lz32 je ne sait pas ce que c'est, premi�re fois que j'en entend parler
    et sur mon pc l'exe fonctionne alros que je n'ai pas visual 6

    c'est � n'y rien comprendre

    en plus, je viens de tester sur 2 autres machines
    un XP o� le probl�me est identique
    un windows 2000 o� il rale parceque MFC80.dll est introuvable, installation des redistribuables et l'application se lance
    les 2 machines n'ont que visual 6 d'install�

    serait-il possible que ce soit une mauvaise version de DLL ? (crt ou autre) ou une DLL corrompue ?
    Tutoriels OpenGL
    Je ne r�pondrai � aucune question en MP
    - Si c'est simple tu dis que c'est compliqu� et tu le fait
    - Si c'est compliqu� tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  8. #8
    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
    h� bien tu as la CRT li�e a MSVCRT.DLL et c'est du vc6.0, pas .NET 2003 et ni VS 2005....
    donc tu as bien un module qui utilise cette CRT .

  9. #9
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avanc�
    Inscrit en
    Avril 2005
    Messages
    2 580
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : avanc�

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par d�faut
    J'ai upload� 2 exe compil�s de 2 mani�res diff�rentes ici :
    http://shenron.free.fr/Test_MFC_80.zip

    c'est exactement le m�me programme, j'ai simplement fait un nouveau projet de type application MFC, une simple boite de dialogue
    je n'ai rien chang� au code et je l'ai compil� 2 fois en modifiant dans les propri�t�s g�n�rales du projet de l'exe l'option "Utilisation des MFC"
    - Test_MFC_80_dynamic : Utiliser les MFC dans une DLL partag�e
    - Test_MFC_80_static : Utiliser les MFC dans une iblioth�que statique

    les 2 programmes fonctionnent sur :
    - windows 2000 avec visual 6 et les redistribuables vs2005 install�s
    - windows XP avec visual 2005 install� (test sur 3 PC)

    le dynamique ne se lance pas alors que le statique n'a pas de probl�me sur les autres PC, et sur un PC o� les redistribuables 2005 ne sont pas install�s il ne demande m�me pas la DLL, et installer les redistribuables ne change rien au message d'erreur

    je s�che, � part faire des liaisons statiques je ne vois pas comment r�soudre mon probl�me
    � moins de retourner sous visual 2003....

    edit :
    Citation Envoy� par farscape
    h� bien tu as la CRT li�e a MSVCRT.DLL et c'est du vc6.0, pas .NET 2003 et ni VS 2005....
    donc tu as bien un module qui utilise cette CRT .
    comment je peux changer cela ?
    Tutoriels OpenGL
    Je ne r�pondrai � aucune question en MP
    - Si c'est simple tu dis que c'est compliqu� et tu le fait
    - Si c'est compliqu� tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  10. #10
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avanc�
    Inscrit en
    Avril 2005
    Messages
    2 580
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : avanc�

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par d�faut
    Finalement, apr�s avoir pass� ma journ�e � chercher :
    - d�sinstaller le SP2 XP
    - (r�)installer le SP1a
    - r�installer le SP2
    - installer les Framework .NET + Hotfix
    - d�sinstaller / r�installer les runtime vc80
    - trifouiller la base de registre en vain

    impossible de faire fonctionner le programme avec les MFC en DLL partag�e sur 5 PC / 11 au total (il y a m�me un PC avec visual 2005 install� qui refusait de le faire tourner)

    et comme les DLL ne sont pas pr�vues d'origine pour fonctionner en statiques, trop d'erreurs de lien apparaissent

    j'ai trouv� la solution utilme : d�sinstallation compl�te de visual 2005
    lundi je retourne sur visual 2003

    donc si vous envisagez un jour de passer sur visual 2005 des programmes utilisant les MFC dans des DLL, je vous le d�conseille fortement
    et faites comme moi, pr�voyez une sauvegarde de vos projets avant de les convertir vers une nouvelle version de visual
    bon courage et surtout bonne chance
    Tutoriels OpenGL
    Je ne r�pondrai � aucune question en MP
    - Si c'est simple tu dis que c'est compliqu� et tu le fait
    - Si c'est compliqu� tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

Discussions similaires

  1. Migration vs2003 -> vs2005: Catch exceptions
    Par cmathieu dans le forum C++
    R�ponses: 12
    Dernier message: 26/11/2009, 00h27
  2. R�ponses: 2
    Dernier message: 20/01/2009, 16h25
  3. Probl�me de conversion de projet VS2003 � VS2005
    Par franc82 dans le forum Visual C++
    R�ponses: 2
    Dernier message: 10/12/2007, 09h41
  4. [VB.NET] Migration VS2003 vers VS2005 & Framework 2.0
    Par ag007 dans le forum G�n�ral Dotnet
    R�ponses: 3
    Dernier message: 03/09/2007, 14h46
  5. [Vs2003] Probl�me de migration vs2002 � vs2003
    Par iDaaX dans le forum Visual Studio
    R�ponses: 3
    Dernier message: 17/10/2005, 10h12

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