begin process at 2010 03 18 14:22:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

 > RENDRE LES EXE VB AUTONOME (SANS RUNTIME - MSVBVM60.DLL, VB6FR.DLL)

RENDRE LES EXE VB AUTONOME (SANS RUNTIME - MSVBVM60.DLL, VB6FR.DLL)


 Information sur la source

Note :
8,17 / 10 - par 23 personnes
8,17 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Exécution Classé sous :autonome, runtime Niveau :Débutant Date de création :03/06/2002 Date de mise à jour :03/06/2002 21:34:50 Vu / téléchargé :34 404 / 3 349

Auteur : DamienI

Ecrire un message privé
Site perso
Commentaire sur cette source (40)
Ajouter un commentaire et/ou une note

 Description

Et oui, c'est possible. Je fourni les codes de ce prog qui comprend un exe C et un exe VB.
En bref, le principe est simple :
Le prog VB ajoute le code binaire : .....
                                                         - des deux dll
                                                         - ainsi que le code binaire de votre exe écrit en VB
..... à la suite du code d'un prog que j'ai écrit en C.

Ce prog écrit en C est un "lanceur". J'explique :
* il se copie lui-même sous c:/windows/temp,
* puis il extrait de ladite copie les deux dll ( avec éventuellement une copie sous c;/windows/system si l'utilisateur n'a pas les runtime vb sur sa machine ),
* puis il extrait aussi votre exe ( toujours sous c:/windows/temp).
* Enfin, il lance votre exe qui vient dêtre extrait.

Merci de me faire part de vos remarques, se sera toujours sympa de les lire...

A++ DamienI



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Assemblage auto des Runtime dans un EXE VB

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture LOGICIEL DE CRYPTAGE PAR CLÉ ET DE DÉCRYPTAGE - COMPLET AVEC...
Source avec Zip DLL FACILITANT QUELQUES API AVEC SES SOURCES ET UN PROG DE T...

 Sources de la même categorie

Source avec Zip APPEL DE POINTEUR DE FONCTIONS - API SANS LES DECLARER par Renfield
Source avec Zip Source avec une capture RETROUVER LES DONNÉES PUBLIQUES DANS UNE BIBLIOTHÈQUE par VBsearch
Source avec Zip Source avec une capture CRÉER VOTRE PROGRAMME D'INSTALLATION par VBsearch
Source avec Zip Source avec une capture BART VOTRE BUREAU DANS UNE BARRE par alfamick
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLE SHUTDOWN SCHEDULER : ARRÊTS PLANIFIÉS (LOCAL OU REMOT... par violent_ken

 Sources en rapport avec celle ci

Source avec Zip CRÉATEUR DE LANCEUR DE LOGICIEL DANS UN DOSSIER TEMPORAIRE E... par deleplace
Source avec Zip Source avec une capture MODIFIER L'ÉTAT DES BOUTONS RÉDUIRE AGRANDIR FERMER [MODULE ... par PCPT
Source avec Zip Source avec une capture SUPPRIMER LES RÉFÉRENCES AUX DLL VB6FR/VB5FR par EBArtSoft
Source avec Zip Source avec une capture UTILITAIRE DE REDÉMARRAGE AUTONOME par marcdebureaux
Source avec Zip EXE TOTALEMENT AUTONOME par NBhack

Commentaires et avis

Commentaire de khalilo le 03/06/2002 21:38:59

Terrible rien a dire ça merrite bien un ptit 10 meme si j'ai pas encore vu le code!!!!!

@+

Commentaire de Stebo le 03/06/2002 22:40:04

cest bien tu as eu un super concept de melanger le C et VB mais imagine toi ke le prog vb doit automatiquement avoir les vb6fr.dll(ca depende de la version de vb) sinon le prog se lance pas. Donc tu dois inclure dans le prog C les dll de VB. et dans ce cas la autant apprendre a programmer en C.
Est ce ke les progs en C sont automone?

Commentaire de Almandric le 03/06/2002 23:10:42

J'ai pas encore regarder les sources mais je suis sur que c'est bon boulot. Mais dis-moi quel est l'interêt si ce n'est d'éviter d'avoir à donner 2 dll quand on veut donner notre prog? Sachant que bien souvent il y a un ou plusieurs OCX utilisés qui demande un setup ou au moins l'enregistrement dans la base de registre. A moins que tu ne puisses fusionner aussi les OCX dans ton lanceur?

Commentaire de SysteM le 04/06/2002 03:15:29

est que la taille du exe augmente beaucoup ?

Commentaire de Jackboy le 04/06/2002 04:21:01

Ya pas une source sur ce site qui fait la même chose en tk une bonne idée

Commentaire de apxa le 04/06/2002 12:30:24

kel difference y a t il entre ton prog et un self extractor ou un installeur classic ?

Commentaire de DamienI le 04/06/2002 13:25:53

La différence avec un installeur classique est que là on est le code source. Surtout, les seuls fichiers de bases nécessaires à tout exe compilé en VB sont les deux dll : MSVBVM60.dll et VB6FR.dll, et aucun autre, car les autres votre exe VB pourra les installé lui même ( pareil que mon prog en C par un accès bianire ). encore faut il que vous les ajoutiez à la fin de votre exe VB. Bref, ce lanceur permet de lancer tout vos prog VB. Car aucun prog vb ne peut être autoexec ( sans ces dll installés ). Donc, ce prog contourne cette limite. Ais-je été plus clair ? J'en doute ?
Voyez le code et la lumière sera !        Bonne prog à tous : A++
PS : il est bien sur possible d'enlever la fenêtre C au démarrage, pour cela faut mofifier les paramètres dela wndclass et la rendre invisible, aibsi l'utilisateur ne vera pas le lanceur.
A++             DamienI

Commentaire de skrol29 le 04/06/2002 13:54:18

L'idée est vraiment bonne mais je te suggère 3 choses :

1 - La possibilité de choisir une extraction dans le répertoire TMP (système) ou dans le rép de l'EXE. Et oui, certaines appli utilisent le App.Path qui est très utile.

2 - Idem pour le déchargement des DLL VB.

3 - Ben faut quand même supprimer les fichiers au déchargement de l'appli, sinon c'est caca. En tout cas si c'est dans le répertoire TMP c'est important.

Skrol29

Commentaire de Neo.balastik le 04/06/2002 13:55:38

Un des rares softs qui fait ca sans passer par de tels subterfuges, c'est FUSION de Bit-Arts.  Allez jeter un oeil ici: http://www.bit-arts.com/

Il n'est pas gratuit mais costaud (y a moyen de le trouver ailleurs...)!

Bonne programmation tout de même et l'idée est sympa.

Commentaire de CtHuLhU50 le 04/06/2002 15:07:51

VB-PowerWrap c pareil ke FUSION ca marche bien mé limité dans le temps é pour trouvé le crack ben c chocho :( !

Commentaire de neojoce le 05/06/2002 02:12:34

WWWWWWWWWWWWOOOOOOOOOOOOOOOOOAAAAAAAAAAAAAAAAWWWWWWWWWWWWWWWWWWWWW !!!!!!!!!!!!!1

10/10

Commentaire de kllmm le 05/06/2002 10:35:05

a moi , apparemment ca compile les dll mais pas l'executable VB ... si je passe l'Exe fais avec ton module sur un editeur exadecimal , je vois les DLL mais pas l'executable qui est en VB ... je cherche ou ca fonctionne pas ,mais je trouve pas :-( ........ par contre pour le FUSION , il est pas mal mais faut le crack ... (Si qq l'a suis interress :-)
Bref je cherche encore ou ca marche pas chez moi pour le "Assemblage auto des Runtimes dans un EXE VB" parsque ca m'interresse ce truc .. mais dommage qu'on ne puisse pas inclure les OCX a la difference de Fusion ...Mais DamienI , c'est quant meme pas mal , (l'ide surtout) moi j'aurais pas pu faire cette source :-(

Commentaire de DamienI le 08/06/2002 17:01:41

Oui, fusion tt le monde en dit du bien, mais je voulais un truc ou j'avais le code. Mais faut savoir que pour les ocx, on peut toujous reprendre la logique du prog en c dans un prog vb. cad que l'on peut faire un prog vb qui fait la même chose pour un prog vb que le prog en C, donc une fois exécuter : un premier prog vb qui désassemble le prog vb final et ses ocx et dll et les enregistre via une commande shell regsvr32 ("nom-du_prog")
J'espère avoir été clair : c'est  pas facile en qq lignes...alors je résume :
Bref, autrement dit : on peut faire un prog qui contient:
1 - le prog C ( installe les 2 dll vb et le prog1 VB ) qui lance prog1 VB.
2 - un premier prog VB ( cad prog1 VB ) qui a pour objet d'installer les autres fichiers de dépendances ( ocx et dll ) et de les enregsitrer, mais qui installe aussi LE prog2 VB (qui a besoin des dites dépendances ) et le lance.

Encore autrement dit :
Le prog C : contient lui même et les deux dll et prog1 VB
Le prog1 VB : contient lui même, et contient le prog2 VB et les dll et ocx dont ce dernier a besoin.

On pourrait dire : une sorte de récursion, tt en répétant que seul le premier prog vb nécessite les deux dll vb fondamentales, c'est ça l'intérêt du prog C, de rendre le programmeur vb LIBRE de tout faire avec un seul fichier, car ça : VB NE LE PERMET MALHEUREUSEMENT PAS et c'est ça qui m'énervait ...
A++

DamienI

Bonne prog.....

Commentaire de Nil le 21/06/2002 15:30:39

Lors d'une installation il faut installer les DLL et pas lors du lancement du programme car tu crée à chaque fois des fichiers, si le gars a 15 progs VB avec ton system, il doit souvent faire des défrag et pas courte !!!

Sinon l'idée est très bonne mais t'aurais du faire ca pour un programme d'installation. On exécute pas des installations tout les jours (la plus-part des gens du moin lol)

Commentaire de Psykroro le 25/07/2002 13:49:53

Moi jdi ke le C ya rien de plus puissant!
Mais au niveau interface....Pas cool!
La fusion Vb/C est ce qui reste de plus performant mais le seul probleme etait les dll VB...
Résolu par ton Prog!
J'met dix pour l'utilisation de deux language totalement différent et pour l'innovation
lol

Commentaire de moustachu le 05/12/2002 10:16:39

Sympa ton code mais le problème est qu'il installe les dll dans un chemin par défaut c:windowssystem et lorsqu'il y a plusieurs OS (le mien est sur d: et sous xp les dll sont dans system32, si le type est sous NT ou 2000 -> c:winnt, etc..)

En tout cas l'idée est très bonne donc bonne note mais je ne sais pas si on peut récupérer le chemin système de  windows

Commentaire de DamienI le 06/12/2002 23:50:44

'voila le code pour récupérer le chemin de windows
'pour toi moustachu et tt ceux qui veulent porter ma source ss XP,etc...
'pour le reste : le principe n'a pas changé et reste valable ss d'autres OS.
'++ et bonne prog à tous !!!

'API de Windows repertoire finder
Private Declare Function GetWindowsDirectory Lib "Kernel32" Alias "GetWindowsDirectoryA" (ByVal lpbuffer As String, ByVal nSize As Long) As Long

Public Function WinDir() As String
    Temp$ = Space$(255)
    X% = GetWindowsDirectory(Temp$, Len(Temp$))
    WinDir = Left$(Temp$, X%)

Commentaire de Delirium le 21/12/2002 23:15:48

mouai sa c bien !! pour le lamers ki von redoubler a faire des virus pourri et troyen !

Commentaire de Nektanebos le 01/01/2003 10:22:07

Franchement je comprends pas du tout tu copie le code binaires des dll et du prog à la suite d'un exe en c ?

Commentaire de toniou le 19/01/2003 16:32:56

je comprend pas, le prog ne march po chez moa :(  je suis tro nul!!! kan je click sur "assembler mon nouvelle exe" j ai un message d erreur "erreur d'execution '76' chemin d acces introuvable." qq1 peu m aider????

Commentaire de Lapita le 31/01/2003 11:40:13

Toniou : il y a plusieurs endroits dans les sources ou est indiqué des chemins (pour l'icone, pour les exe, etc.) Tu dois donc modifier tout ca avant de lancer le prog. Lis les messages du dessus, il y en a déjà bcp qui en parle !!

Commentaire de taz1 le 17/04/2003 10:29:00

jtrouve ca génial !!!!

ptdr ;-)

Commentaire de maitrecesar le 05/05/2003 15:36:14

Salut

je suis debutant en VB et j'aimerai savoir comment executer (la commande et les sources a telecharger pour l'execution) des sources VB sans que j'ai le KIT de VB.

merci d'avance pour votre aide

Commentaire de princegent le 23/08/2003 20:35:09

salut  DamienI
j suis tres intersser a votre programme mais jarrivais jamais a voir un exe avec des dll inclus veuillez m 'eclairsir le chemain et  essaye bien d  me xpliquer comment ca marche ton program..je te remercier
salut..

Commentaire de guth42 le 25/08/2003 16:43:42

je n'ai pas la bonne taille pour les DLL (une nouvelle version surement), c'est peut etre aussi ton probleme princegent
il faut ouvrir le fichier Mainrun.cpp et modifier les lignes ou il y a la taille des DLL :
for (i=0; i<1384448; i++)
et
for (ii=0; ii<119568; ii++)
l'idéal serait que DamienI ou un autre bon en VC++ patch son C_Runner_VB.exe pour qu'il lise automatiquement la taille des 2 DLL, ou qu'il la demande à l'utilisateur...
(j'ai essayé mais y a une redefinition de ShellExecuteA et CopyFileA qui me bloque)

Commentaire de c3rb3r3 le 20/01/2004 19:25:35

Effectivement, c'est une très bonne idée.
Pour ma part, j'utilisais un petit soft russe d'empaquetage, il code un exécutable indépendant qui décompresse tous les fichiers sélectionnés auparavant, *.ocx, *.dll, *.*.
Merci beaucoup d'avoir fait ce code, ça permet d'analyser un peu plus en profondeur le fonctionnement.

Commentaire de Le_Tolier le 07/04/2004 00:08:12

salut
tres bon prog sauf que chez moi il ne fonctionne pas  ! :(
au moment de l assemblage du nouvel exe j ai une erreur d'execution 76 : chemin d acces introuvable .
si quelqu un a un soluce ou si il a le mm prob qu il laisse un mess qu on en parle @+

Commentaire de NEHOSS le 09/05/2004 22:47:47

regarde si tu n a pas modifie le chemin d [instal] de windows.
ou ton repertoire temp
moi ca marche j ai xp pro sp1

Commentaire de LeFoUvErT le 17/07/2004 23:30:26

nehoss a raison, dans le code VB il faut modifier une adresse (qui doit sans doute dater de l epoque win98) au lieu de laisser newfich= "c:windows\bureau\machinchose"
tu doit mettre
newfich="c:\windows\documents and settings\nom_de_ton_compte_XP\bureau\machinchose"
toujours est il que l idée est bonne mais moi aussi j ai un pb :
ca me créé bien le exe modifier sur le bureau mais oh surprise
qd je lance cet exe... il y a juste lancement du prog en cours
suivi d une fenetre dos (qui disparait aussi sec mais ca c est normal si je ne me trompe pas)
et puis.........plus rien
qd je vais voir dans le fichier temp j ai bien mes DLL qui ont ete decompresser
et aussi ce que je suppose etre sa copie de lui meme
par contre pour la copie de mon exe a moi je peut me brosser je ne l ai pas trouver.... :'(   :'(

j ai aussi une deuxieme question a poser:
est ce que ce programme traque les *.OCX qui sont necessaire au bon fonctionnement de certain programme?
si ce n est pas le cas et que Damien I veut bien revenir sur sa programmation, alors il me semble que cela pourrait etre fort pratique/utile
quitte a ce que l utilisateur place lui meme les OCX dans un repertoire specifique pour qu il soit traiter par le programme..
enfin voila... sinon l idee est bonne a mon sens.. mais je n ai pu juger de la qualiter effective car je n ai pas reussi a faire fonctionner les appli transformer..

et... ayer pitier de moi: pardonner mes faute de francais... :')     AdRieN

Commentaire de PaTaTe le 23/07/2004 19:35:08

g sur veoler les posts et voila :

DamienI > pour recuperer le chemin du rep temporaire on peux faire ca en une ligne sans declarer d'API et compatible Win9x & 2000/XP :

RepertoireTemporaire=Environ$("TEMP")


Pour ce qui est du titre il TOTALEMENT FAUX !

UN PROG QUI REND VOS EXE VB AUTONOME ( SANS RUNTIME CAD NI MSVBVM60.DLL, NI VB6FR.DLL)

hmmm, il dépend TOUJOURS des runtimes puiske tu passe par un prog en C pour les mettre non ?

Donc Il dépends toujours des runtimes et en plus tu le fait dependre d'un autre programme qui sans lui il faudrais kan meme installer les runtimes VB

CQFD

Si tu veux faire un programme vraiement autonome n'utilise pas VB car c'est impossible sans accrochage. Ya bien des solution ki existent mais y a toujours dependance meme si c un joiner d'EXE ...

Une vrai solution SANS runtime n'est donc pas possible !

@++

Commentaire de aathiaw le 14/09/2004 17:41:11

tu es superb je ne peux rien te dire de plus

Commentaire de PaTaTe le 14/09/2004 18:05:23

J'ai pas tout suivi la lol !

Commentaire de mti le 06/11/2005 21:25:24

toniou:
Moi aussi j'ai le même problème j'ai regardé le code source l'érreur vient de là:

newfich = "C:\Windows\Bureau\C_Runner_VB.exe" 'ON EST OBLIGE DE METTRE TON PROG DANS C:\WINDOWS\BUREAU POUR QUE CA MARCHE SINON
nom_Cprog = "C_Runner_VB.exe"
nom_dll1 = "Msvbvm60.dll"
nom_dll2 = "Vb6fr.dll"
nom_exe = Dir.Path & "\" & File.FileName
'nom = File.FileName

Open newfich For Binary As #1'CA PLANTE ICI CAR VB NE TROUVE PAS TON PROG là où IL LE CHERCHE.
Open nom_Cprog For Binary As #2
Open nom_dll1 For Binary As #3
Open nom_dll2 For Binary As #4
Open nom_exe For Binary As #5


Voilà pour l'explication donc soit vous mettez son prog dans c:\windows\bureau même si vous avez xp ;-) soit vous modifiez le chemin d'accès dans le code source.

Commentaire de toniou le 07/11/2005 18:28:29

houlala!!!
C loin tt ça!
merci kan meme pour la solution.
bonne continuation.

++

Commentaire de cortex01 le 08/01/2006 07:15:56

cortex01:j ai bien installe ton programme ainsi que les 2 dll(msvbvm60.dll et vb6fr.dll)mais lorsque j execute makevbexe il m annonce que je ne puis continuer l installation car mon chemin'76' est toujours invalide la je ne comprend plus, etant novice toute aide me serait utile merci d avance

Commentaire de RPG3000 le 11/07/2006 18:49:41

ah wai et supposons que mon disk systeme soit pas c: et que le dossier temp ne se trouve pas dans windows mais dans system32 ?

Commentaire de PaTaTe le 12/07/2006 01:59:02

RPG3000 > La commande Environ("TEMP") ou Environ("TMP") renverra ton dossier temporaire quelque soit la lettre du disque dur et son emplacement.

Pour avoir la lettre du disque sur lequel est installé le systeme, tu peux faire Environ("HOMEDRIVE")

Les variables d'environnement c'est bien pratique quand on veut faire rapide.

Je te renvois à un code qui permet de lister ces variables, ca peut toujours servir :)

Commentaire de PaTaTe le 12/07/2006 02:02:42

J'ai oublié l'adresse 'ou ai-je la tête :s)

http://www.codyx.org/snippet_variables-environnement_161.aspx

Commentaire de ABF le 24/01/2007 20:19:08

> Code et indentation à revoir
> Chemin relatif
> ...

Commentaire de Sinsitrus le 16/02/2007 10:14:01

Je monte vérifier je re xd

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

coup de gueule >VS.NET [ par clem2003 ] Ne vous plaignez pas d'avoir encore vb6 si vous voulez distribuez vos programmes sur le net, car vous avez de la chance : il suffit de mettre le "pe Aplication vb autonome [ par OPL ] Comment rendre une application vb autonome....(S.V.P, donnez-moi quelque chose qui marche....) prog autonome (dll et ocx) [ par psychodingue ] Salut à tous,j'me suis demandé si c'était pas possible de copier le contenu d'une dll dans un exe... je m'explique: j'ouvre par exemple vb6fr.dll avec Errata : le runtime .NET est disponible pour Windows 9x [ par Patrice99 ] Contrairement à ce que j'avais indiqué dans mes contributions, c'est le SDK qui n'est disponible que pour Windows NT/XP, le runtime .NET lui est dispo Création d'une application autonome sur cdrom sans setup [ par ericaix13 ] Bonjour,Comment peut on créer une application a finalité de consultation d'une base access et tout cela sur un cdrom.Le but etant de pouvoir executer AUTOMATION +ACCESS +WORD +RUNTIME [ par donbuz ] Bonjour à tous,je vais débuter une mission Access / VBA, je sais que mon client est radin (pauvre) et qu'il voudra que j'utilise le Runtime pour faire Runtime Word 97 sur Win 2000 [ par David2410 ] Bonjour, Je veux piloter Word 97 depuis mon applic VB6 sur plateforme Win 2000.Comment puis-je faire car j'ai une erreur automation sur cette ligne :S BITARTS FUSION appli autonome [ par YabLeo ] Salut ! Voila depuis quelque jour je recherche un logiciel pour rendre mon appilcation autonome. J'ai trouvé vb powerwrap mais pas le top j'aimerai sa Un exécutable autonome est-il vraiment réalisable? [ par Philipina ] Bonjour,Je voudrais faire une petit programme autorun pour mettre sur un CD.Ce programme sera utilisé pour lancer dans exécutables et ouvrir des pages


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales