Dépendance à vb6fr.dll et comment s'en affranchir

Dépendance à VB6FR.DLL et comment s'en affranchir

Deleplace 2009

Introduction

Les Fichiers EXE compilés par Visual Basic 6.0 version française, sont dépendants de VB6FR.DLL et MSVBVM60.DLL.

Depuis Windows 2000, MSVBVM60.DLL est d'office présent dans %WinDir%\System32, mais pas VB6FR.DLL (sauf si VB6(fr) ou un programme VB6(fr) a été installé)

Pour que L'EXE soit exécutable sur n'importe quel PC, à partir de d'une clé USB par exemple, il faut copier VB6FR.DLL mais aussi MSVBVM60.DLL dans le dossier de l'EXE.

VB6FR.DLL et MSVBVM60.DLL doivent être dans le même dossier (VB6FR.DLL+ MSVBVM60.DLL environ 1.4Mo).

Pour installer le Logiciel, Il faudra copier VB6FR et MSVBVM60.DLL dans WinDir%\System32, s'il n'y sont pas déjà.
Si l'on est pas administrateur de son PC, il faudra copier VB6FR et MSVBVM60.DLL dans le dossier de l'application

A quoi sert VB6FR.DLL

A rien ou presque.
A afficher des messages d'erreurs en Français en cas de plantage de L'EXE

Rendre les EXE indépendants de VB6FR.DLL

Les EXEs indépendants de VB6FR.DLL auront des messages d'erreur critique en Anglais, mais ne nécessiteront pas de transporter VB6FR.DLL et MSVBVM60.DLL avec l'EXE

Compiler sous VB6 version américaine

Si vous n'avez que la version française :

  • Faites une sauvegarde de C:\Program Files\Microsoft Visual Studio\VB98\VB6IDE.DLL (Par exemple en le renommant VB6IDE.DLL.FR)
  • Puis copier la version américaine au même endroit

Téléchargement disponible à cette adresse :
http://www.vbfrance.com/codes/DUAL-LANGUAGE-VB6-DEVELOPPEZ-FRANCAIS-COMPILEZ-ANGLAIS-PAS_49383.aspx

Votre VB6 est maintenant américain (pas les aides)

Pour revenir à la version française il suffit de replacer la version française de VB6IDE.DLL dans le dossier de VB6 (:\Program Files\Microsoft Visual Studio\VB98\VB6IDE.DLL)

Autre solution :

patcher les EXE compilés avec VB6(fr)

Patcher consiste à rediriger la dépendance à VB6FR.DLL vers MSVBVM60.DLL.

Pour ce faire on remplace dans le fichier EXE la chaine "VB6FR.DLL" & String$(3,0) par "MSVBVM60.DLL"
L'idéal serait de patcher VB6IDE.DLL (Version française)
de remplacer "VB6FR.DLL" (qui s'y trouve écrit en Unicode (2 octets/caractère)) par "MSVBVM60.DLL".
Seulement c'est plus long, il n'y a pas la place

J'ai écrit 3 logiciels disponibles avec les sources pour vous affranchir de la dépendance à VB6FR.DLL.

http://www.vbfrance.com/codes/DUAL-LANGUAGE-VB6-DEVELOPPEZ-FRANCAIS-COMPILEZ-ANGLAIS-PAS_49383.aspx
Permet de basculer la langue de VB6 en un click
(intègre les versions française et américaines de VB6IDE.DLL)

http://www.vbfrance.com/codes/PATCHER-COMPILATEUR-VB6-QU-COMPILE-EXES-AUTONOMES-SANS_49369.aspx
Permet de compiler des EXEs indépendants de VB6FR.DLL sous VB6 en Français
(intègre aussi le projet suivant)

http://www.vbfrance.com/codes/SUPPRESSEUR-DEPENDACE-VB6FR-DLL-REND-EXES-VB6-AUTONOMES_49353.aspx)
Permet de patcher les EXEs déjà compilés sous VB6 en Français sous forme d'un explorateur.

Ce document intitulé « Dépendance à vb6fr.dll et comment s'en affranchir » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous