[Tutoriel] Compatibilité des logiciels (en Visual Basic 6) prévu pour Windows XP sous Windows 7 (32 bits et 64 bits)

C’est certainement le sujet qui à fait couler beaucoup d’encre et qui le fera encore lors de la sortie de Windows 8 ! Je veux bien sûr parler de la compatibilité des anciens logiciels (professionnels) avec le nouveau système d’exploitation de Microsoft. J’ai eu l’occasion de tester certains de mes logiciels développé en Visual Basic 6 sur plusieurs versions de Windows 7. Et bien je dois dire qu’il faut faire preuve de beaucoup de patience pour trouver pourquoi cela ne marche pas alors que j’ai tout fait comme il faut !

Voici donc la solution ! Pour commencer il faut savoir que Windows 7 n’est pas compatible avec les applications en Visual Basic 6 tout simplement parce qu’il ne contient pas certains fichiers que sont les DLL et autres OCX. Heureusement il y a le Runtime Visual Basic 6 qui contient l’ensemble des librairies (DLL) nécessaires pour exécuter des programmes écrits en langage Visual Basic 6.0.

Runtime Visual Basic 6 contient notamment les DLL suivantes :

  • asycfilt.dll
  • COMCAT.DLL
  • msvbvm60.dll
  • OLEAUT32.DLL
  • OLEPRO32.DLL
  • STDOLE2.TLB
  • Vb6fr.dll

Oui mais voilà, jusque là pas de problème, mais j’ai toujours le même message d’erreur après l’installation du Runtime Visual Basic 6. Le logiciel ne trouve toujours pas telle ou telle DLL ! Une petite vérification dans le répertoire de Windows ou elles doivent toutes se trouver, je vous le donne c’est « c:\Windows\System32 ». Elles sont bien là tonnerre de Brest !!!!

La solution

Si vous pensez avoir toutes les DLL et les OCX dans le répertoire de « c:\Windows\System32 » et avoir installé le Runtime Visual Basic 6.

Lancer votre logiciel avec les 2 options suivantes de validées

  • Exécuter le programme en mode compatibilité
  • Exécuter ce programme en tant qu’administrateur
  • Normalement le miracle ce produit !
  • Tester alors votre logiciel à 100%, puis fermer le.
  • Vous pouvez normalement dé-valider les 2 options ci-dessus.

Particularité sous Windows 64 bits

Il faut que les DLL et OCX soit présentent aussi bien dans le dossier « c:\Windows\System32 » que dans « c:\Windows\Syswow64« .

Vous devriez aussi lire ces articles

A propos de R1C 131 Articles
L’homme est un être paresseux qui utilise son intelligence pour éviter le travail inutile. - http://www.zapwallpaper.fr - http://www.cmdvb.fr

5 Comments

    • A l’aide du menu contextuel, dans les propriétés choisir exécuter sous Windows XP et valider le mode administrateur sur le fichier setup.exe avant de lancer l’installation.

  1. Hello
    J’ai exécute toute la démarche mais j’ai toujours le message:
    La classe n’est pas enregistrée: le fichier MSSTDFMT.DLL
    Alors que le fichier est bien installé dans System 32
    Pourriez vous m’aider. Merci

  2. Bonjour ,

    pour info aux futurs nécessiteux

    Cela fonctionne en ayant seulement copié la VB6FR.DLL dans le répertoire de « c:\Windows\System32 » ET « c:\Windows\Syswow64 » .

    La dll VB6FR a été récupérée sur http://www.opendll.com .Le San avec l’antivirus AVAST n’a rien détecté.

    MERCI BEAUCOUP ERWAN

1 Trackback / Pingback

  1. Windows 8 [Part 3], test d’applications en Visual Basic 6 – C'est Mon Domaine Votre Besoin !

Répondre à Jean-Marc62 Annuler la réponse

Votre adresse de messagerie ne sera pas publiée.


*


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.