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

VB 6 et antérieur Discussion :

Erreur compatibilité DLL windows 7


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut Erreur compatibilité DLL windows 7
    Bonjour,

    Mon entreprise utilise divers applications développées en Vb 6.0 notamment. Les pc tournaient sur xp , la migration vers windows 7 est en cours. Or en lançant les appli j'ai par exemple ce message :

    " Le point d'entrée de procédure DplDrawRectangle est introuvable dans la bibliothèque de liens dynamiques Display.dll "

    Quand je lance l'appli en "XpMode" sous 7 cela fonctionne parfaitement, mais ce n'est pas une solution valable , comment trouver la fameuse DLL "display.dll" compatible ??

    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ici c'est le forum vb.net, pas vb6

    de plus le xp mode a été fait car justement microsoft a commencé (enfin !) à supprimer une partie de l'héritage win32 avec windows 7

    donc de l'appel d'api d'une appli vb6 sur windows 7 ca me semble être un mauvais cocktail ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Désolé pour le mauvais endroit !

    Donc impossible de faire autrement ? C'est fastidieux

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je ne dis pas que c'est impossible, je ne suis pas expert en vb6 ni en api windows
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Je vais attendre l'avis d'autres personnes alors ! , merci en tout cas

  6. #6
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par clem1138 Voir le message
    Bonjour,

    Mon entreprise utilise divers applications développées en Vb 6.0 notamment. Les pc tournaient sur xp , la migration vers windows 7 est en cours. Or en lançant les appli j'ai par exemple ce message :

    " Le point d'entrée de procédure DplDrawRectangle est introuvable dans la bibliothèque de liens dynamiques Display.dll "

    Quand je lance l'appli en "XpMode" sous 7 cela fonctionne parfaitement, mais ce n'est pas une solution valable , comment trouver la fameuse DLL "display.dll" compatible ??

    Merci d'avance
    Bonjour,
    As-tu comparé les versions de display.dll dans system32 et dans le cache dll ?
    Existe-t-il un anti-virus d'activé ?

    Citation Envoyé par Pol63 Voir le message
    ici c'est le forum vb.net, pas vb6

    de plus le xp mode a été fait car justement microsoft a commencé (enfin !) à supprimer une partie de l'héritage win32 avec windows 7

    donc de l'appel d'api d'une appli vb6 sur windows 7 ca me semble être un mauvais cocktail ^^
    Display.dll, une api vb6 ! A moins d'avoir été compilée spécifiquement (ce qui est rare)
    ce serait une dll activeX, ce qui ne semble pas être le cas vu le message d'erreur.
    Le mauvais cocktail, ce serait pas plutôt un mélange de n'importe quoi dont il serait bon de s'abstenir ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    J'ai vérifié, remplacer la dll "display.dll" à partir de celle du cache est inutile le probleme reste le meme .

    Le probleme etant que sur Xp "display.dll" n'existe pas , comment cela se fait-il qu'en lancant mon appli , Windows 7 m'indique un probleme de cette dll ?

  8. #8
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par clem1138 Voir le message
    Bonjour,

    J'ai vérifié, remplacer la dll "display.dll" à partir de celle du cache est inutile le probleme reste le meme .

    Le probleme etant que sur Xp "display.dll" n'existe pas , comment cela se fait-il qu'en lancant mon appli , Windows 7 m'indique un probleme de cette dll ?


    Citation Envoyé par clem1138 Voir le message
    .../... Quand je lance l'appli en "XpMode" sous 7 cela fonctionne parfaitement, mais ce n'est pas une solution valable , .../...
    Comme j'imagine que le problème se pose avec Seven 64bits,
    je vois mal comment ne pas utiliser le Mode de compatibilité avec une application 32bits !

    Je ne maitrise pas les subtilités de Vista/Seven en 64 bits mais pour le peu que j'ai pu voir
    il existe une entrée dans la base de registre qui apparemment gère les mode d'exécution :
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
    Si tu y ajoutes le chemin de ton application comme Nom de valeur
    avec pour valeur # WINXPSP2
    tu dois pouvoir résoudre ton problème (cela doit pouvoir s'automatiser si tu as les privilèges Administrateur)
    car cela semble être la correspondance de l'action sur l'onglet Compabilité>Exécuter ce programme en mode ...

    Une autre voie à explorer :
    une entrée <compatibility> dans le manifest

  9. #9
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Il ne suffit pas de cliquer du bouton droit sur l'EXE en question (ou sur son raccourci) et dans le menu "Propriétés" choisir le mode de compatibilité une fois pour toute ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  10. #10
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par OhMonBato Voir le message
    Il ne suffit pas de cliquer du bouton droit sur l'EXE en question (ou sur son raccourci) et dans le menu "Propriétés" choisir le mode de compatibilité une fois pour toute ?
    Citation Envoyé par clem1138 Voir le message
    .../...

    Quand je lance l'appli en "XpMode" sous 7 cela fonctionne parfaitement, mais ce n'est pas une solution valable ,
    .../...Merci d'avance
    Il semble donc qu'il ait demandé une méthode transparente pour l'utilisateur -
    exécution d'un fichier reg en fin d'install par exemple.

  11. #11
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    J'ai bien lu la même chose mais on ne l'interprète pas pareil. Pour moi, une fois que le mode de compatibilité est défini une fois pour toute, ça devient transparent pour l'utilisateur.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  12. #12
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Il parle de migrations d'un ensemble d'applications au sein de sa société,
    j'ai donc compris qu'il ne voulait pas faire la manipulation poste par poste
    sinon, évidemment qu'une fois paramétrée, il n'est plus nécessaire de reproduire la manipulation à chaque lancement.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Oui Dark Vader c'est exactement le soucis .... ne pas avoir à faire la manip poste par poste ...

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Si tu y ajoutes le chemin de ton application comme Nom de valeur
    avec pour valeur # WINXPSP2
    C'est à dire ?

    Ps: une petite précision , c'est une appli à installer en local , et c'est au moment du lancement que l'erreur s'affiche

  15. #15
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Tu installes une appli poste par poste donc ? Si oui, pourquoi ne pas faire cette simple manip juste après l'install ?
    La manip proposée par DarkVader ne nécessite-t-elle pas une intervention poste à poste elle aussi ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Non l'utilisateur installe l'appli lui meme depuis le reseau , et c'est pas le mode de compatibilité xp que j'utilise soyons clair , mais bien le XPMode (l'espece de machine virtuelle )

  17. #17
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Vois sois à exécuter un fichier reg avec ton installeur (Shell regedit ...)
    ou à écrire directement dans la base de registre la clé indiquée.

    par ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "G:\\Copies CD\\VS 6\\VS6.0\\setup.exe"="# WINXPSP2"
    Autres modes
    WIN95 ......... Windows 95
    WIN98 ......... Windows 98 / Windows Me
    NT4SP5 ........ Windows NT 4.0 (Service Pack 5)
    WIN2000 ...... Windows 2000
    WINXPSP2 .... Windows XP (Service Pack 2)
    WINXPSP3 .... Windows XP (Service Pack 3)
    WINSRV03SP1 Windows Server 2003 (Service Pack 1)
    WINSRV08SP1 Windows Server 2008 (Service Pack 1)
    VISTARTM ..... Windows Vista
    VISTASP1 ...... Windows Vista (Service Pack 1)
    VISTASP2 ...... Windows Vista (Service Pack 2)
    WIN7RTM ....... Windows 7

  18. #18
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par DarkVader Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "G:\\Copies CD\\VS 6\\VS6.0\\setup.exe"="# WINXPSP2"
    il vient de dire qu'il n'utilise pas le mode compatibilté mais la machine virtuelle xp dispo pour windows 7 (qui n'est peut etre pas installée par défaut d'ailleurs)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Merci ,

    Effectivement le XpMode n'est pas installé par défaut. Le probleme c'est qu'il fonctionne comme une machine virtuelle , donc tout à configurer poste par poste uniquement pour 1 Appli.

    Je sais pas si je suis clair

    edit : et je confirme que le "mode de compatibilité" intégré ne fonctionne pas !

  20. #20
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    à taper dans google :
    xpmode programatically

    il y a l'air d'avoir des pistes
    dans le pire des cas tu fais un petit exe qui lance ton appli réelle en xp mode par shell
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/10/2005, 09h22
  2. Où se rangent les dll windows ?
    Par dabeuliou dans le forum Windows
    Réponses: 9
    Dernier message: 10/08/2005, 09h24
  3. Erreur compilation DLL dans Eelphi 6
    Par jakouz dans le forum Langage
    Réponses: 2
    Dernier message: 25/05/2005, 16h38
  4. Erreur de protection Windows !!?
    Par VeNus3 dans le forum Windows 2000/Me/98/95
    Réponses: 6
    Dernier message: 27/04/2005, 13h35
  5. [C#] Erreur mscoree.dll
    Par Damsou dans le forum Windows Forms
    Réponses: 12
    Dernier message: 20/01/2005, 11h56

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