SUPPRESSEUR DE LA DÉPENDACE À VB6FR.DLL REND LES EXES VB6 AUTONOMES

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 25 févr. 2009 à 03:12
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 - 17 juin 2010 à 17:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49353-suppresseur-de-la-dependace-a-vb6fr-dll-rend-les-exes-vb6-autonomes

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
17 juin 2010 à 17:45
Merci pour l'info.
En fait, je ne développe pas sur une machine dont je ne suis pas Administrateur. Je développe à la maison et installe ensuite mes programmes au boulot. Et là, le nouveau PC est en compte limité.
Faudra certainement que je revois ça avec le responsable parce que ça me gonfle (même l'heure du PC ne peut être modifiée).
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
16 juin 2010 à 21:33
Pour les appels des DLL si tu utilise l'option P-Code pour la compilation, oui elles peuvent être dans le même répertoire que ton programme. Pour les OCX par contre c'est plus délicat. Si ils sont déjà enregistrés sur la machine pas de soucis par contre pour ceux qui ne le sont pas, un accès en écriture à la base de registre est nécessaire, autant éviter d'en utiliser. En même temps, développer sur une machine dont tu n'es pas administrateur dessus, c'est pas très logique (ni pratique).
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
12 juin 2010 à 18:18
Au boulot, j'ai un compte limité sur le PC ; donc impossible d'installer quoi que ce soit qui modifie la base de registre.

Dès lors, est-ce qu'en mettant les OCX et DLL dans le même répertoire que l'EXE sur une clé USB, il me sera possible d'utiliser le programme ?
deleplace Messages postés 40 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 mars 2009
2 mars 2009 à 14:43
La dernière version proposée ne redirige plus la dépendance
à VB6FR.DLL vers MSDMO.DLL mais vers MSVBVM60.DLL
c'est plus logique, l'EXE est déja dépendant de MSVBVM60.DLL
et surtout cela supprime les problèmes constatés
différence avant et après patch:
les messages d'erreurs critiques(progamme planté)
sont en Anglais au lieu d'être en Français
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
28 févr. 2009 à 01:15
@ deleplace : J'ai l'impression que les heureux possesseurs de ces licences veulent les garder !
deleplace Messages postés 40 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 mars 2009
27 févr. 2009 à 20:44
Puisque ma source est devenue un forum
je vais m'y mettre aussi
Comme je l'ai mis dans mes conclusions j'ai constaté un problème à remplacer VB6FR par MSDMO
assez bien identifié ce n'est sans doute pas le seul
si j'écrit
Chaine$ = 1 'ou n'importe quel nombre
'puis
If Chaine Then
'C'est admis et interprété comme IF Val(Chaine)<>0 Then
aprés patchage ça plante
j'ai du modifier un assez gros logiciel
et remplacer Chaine par Val(Chaine)
Je pense qu'en suite le fonctionnement doit être stable
Certains m'en conseillé d(utiliser la version anglaise
je trouve que c'est effectivement mieux
Problème: officiellement elle est introuvable
VBbigineure Messages postés 169 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 27 février 2009 1
27 févr. 2009 à 18:57
Vi, on a tjr entendu que c'était nécessaire, mais en la supprimant ça marche encore très bien.
D'ailleurs, toutes les applis ne l'appellent pas, si y'a pas d'ocx ni autre truc tordu... pas d'appel.
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
27 févr. 2009 à 17:53
PATATE>>ThInstall = petites applis uniquement...
Je ne suis pas tout à fait d'accord. On trouve sur le réseau torrent beaucoup de grosses appli (Office, Photoshop) qui ont été virtualisée avec ThInstall et qui fonctionne très bien.

Par contre concernant l'UAC je sais pas.

VBbigineure>>Qu'entends tu par : "je bene aussi les appels à msvbvm60.dll" ?
Il me semblait que cette dll est nécessaire à tout programme VB6 ?!?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 févr. 2009 à 16:34
voilà, c'est bien cette dll qui est requise.
(dépend de ce que font tes applis, j'imagine)
VBbigineure Messages postés 169 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 27 février 2009 1
27 févr. 2009 à 16:30
En fait je bene aussi les appels à msvbvm60.dll. Et sur toutes configs je n'ai jamais eu de retour...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 févr. 2009 à 16:24
mais non !

ca voudrais dire qu'un exe compilé sur un Visual Studio british est autonome, puisque ne requérant pas vb6fr.dll

il faut la Runtime VB6, c'est un fait.
VBbigineure Messages postés 169 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 27 février 2009 1
27 févr. 2009 à 16:21
Bien dans mon cas je supprime souvent l'appel a VB6FR.DLL et ça suffit, dans toutes les configs ça suffit pour que l'appli soit autonome, une a d'ailleurs été reconnue par framakey.
Je n'ai jamais entendu parler de plantage ni de manque d'une autre dll.
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
26 févr. 2009 à 23:58
ThInstall c'est bien pour des petits programmes que tu gardes pour toi (donc inutile puisque tu as les runtimes) Pourquoi ? Je doute que ce type d'EXE recompilé fonctionne correctement sous Vista (ou Windows 7 c'est pareil) avec UAC actif ...

à vérifier ...
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
26 févr. 2009 à 22:48
ThInstall fait cela très bien (recompiler un exe en y intégrant les dll, ocx,...).
Côté performance, le lancement de l'exe devient un peu plus long mais je n'ai pas senti de différence flagrante à l'utilisation.

J'ai eu beau cherché, je ne comprend toujours pas le mécanisme employé. Mais je doute que l'on puisse en faire de même en VB6.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 févr. 2009 à 07:01
bien d'accord avec toi...

"c'est le jeu ma pauvre Lucette"

Après y'a deux choses:
pouvoir avoir un exe, avec toutes les dll a coté
et pouvoir lancer ledit exe, sans INSTALLER (base de registres) les dll et sans que le Runtime VB n'ai a étre installé.

là, ce serait utile.

mais faire un exe autonome et embarquant les dll, pas utile, gros exe, et galère si on veux betement recompiler l'exe (steps en plus)
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
26 févr. 2009 à 03:07
impossible de greffer msvbvm60.dll dans l'exécutable. Pourquoi ? pour l'extraire il faut que l'exécutable en question puisse se lancer et pour ça il lui faut msvbvm60.dll ... Jeu sans fin donc ! A part passer par un lanceur écrit en C/C++ pour copier la DLL, impossible de faire autrement. Et si tu créé un lanceur C/C++ autant écrire tes programmes dans ce langage.

Conclusion : Rendre un exécutable VB6 autonome est impossible. Tenter de le faire est suicidaire, ça rajoute des risques de plantages ou autres. Si vous voulez des programmes vraiment autonomes, utilisez un langage sans runtimes ou framworks
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
25 févr. 2009 à 09:46
Cette DLL n'est utilisée que pour la version française de VB6 ...
Donc ceux qui ont la version anglaise (moi par exemple) n'auront pas de problème !

N'y a-t-il pas moyen de mettre msvbvm60.dll directement dans l'EXE ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 févr. 2009 à 09:10
Possible aussi peut etre de se greffer au compilateur (avant, opu après) pour que ce soit systématique, et que la suppression se fasse sans qu'on ait a manipuler quoi que ce soit
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 févr. 2009 à 03:12
reste tout le reste de la runtime VB
on est juste tranquille quant à la langue du runtime installé.

mais on n'est pas "autonome" a fond
Rejoignez-nous