Deleplace 2009 Dépendance à VB6FR.DLL et comment s’en affranchir
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 ?
à rien ou presque
à 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
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