CRÉER VOTRE PROGRAMME D'INSTALLATION

VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009 - 22 août 2009 à 02:18
 katuabuyenge - 13 janv. 2013 à 20:35
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/50472-creer-votre-programme-d-installation

katuabuyenge
13 janv. 2013 à 20:35
Si la source contient une base de donnees mysql, sql server ou Access, comment faire pour creer son fichier d'installation .exe ou msi ... ?
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
2 sept. 2009 à 01:33
Ça sera pour un peu plus tard car en ce moment j'ai pas mal d'occupations.
Merci pour les commentaires. J'en toujours besoin pour pouvoir évoluer
A+
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
2 sept. 2009 à 00:55
VBsearch>cqfd !
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
2 sept. 2009 à 00:17
Si un utilisateur ne sait pas faire le Copier/Coller, il n'est pas digne d'utiliser un PC.
Pour ce qui est installation, si on fait le Copier/Coller comme tu le dis, au lancement du programme les bibliothèques qui l'accompagnent seront automatiquement installées dans la BDR. Or dans un commentaire précédent, j'avais signalé que j'ai opté pour les manifests, ce qui évite l'enregistrement des différentes biblios dans la BDR.
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
1 sept. 2009 à 08:50
Un programme correctement développé ne devrait pas avoir besoin l'installateur. Dans le temps on partageait les dll dans le dossier système par manque de place sur les disques et les setup était compressé à mort pour passer sur des connexions 56K. De nos jours ce n'est plus vraiment le cas et il est préférable de conserver toutes les dll dans le dossier du programme lui même évitant ainsi tout les problèmes lié au version-checking et formatage de l'OS. Pour ce qui est de l'utilisateur lambda qui ne sais pas faire un copié/collé l'installateur se résume à un simple archiveur zip ou rar. Tout le reste est superflus...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 août 2009 à 22:03
tout a fait.
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
26 août 2009 à 21:39
L'installation d'un composant OCX ou une DLL ou même un EXE comportant des informations d'inscription n'est pas nécessaire. On peut retrouver ces infos dans le fichier lui-même en faisant référence à l'objet TypeLib information(TLBINF32.DLL) dans le projet et qui fournit entre autres l'objet TLIApplication dont deux fonctions sont "TypeLibInfoFromRegistry" et "TypeLibInfoFromFile".
On teste alors si le composant est déjà enregistré et le fichier correspondant existe avec la même version donc pas besoin de le référencer dans le manifest et on n'a pas besoin de l'installer, sinon on crée le fichier manifest correspondant.
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
26 août 2009 à 09:15
ha... je commence à compreendre la. Merci Renfield.
Quand on connait toutes les astuces, on peut aller loin avec VB6
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 août 2009 à 08:24
pour générer le manifest, faut que les dll soient enregistrées sur le poste.
après, sur le poste ciblé, no soucy...

le tout, en fait est de pouvoir extraire d'une dll/ocx/exe les infos a placer en registry... le plus simple étant en fait d'enregistrer ladite dll et d'aller lire la registry, de générer un manifest.

la dll peut même être alors désenregistrée.

en livrant Exe + manifest (possible même d'intégrer le manifeste aux ressources de vos exe)
pas besoin d'enregistrer les ocs/dll
du coup pas besoin de droits spécifiques.
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
26 août 2009 à 08:18
Notre ami Philheiz a, dans son excelent project ISOLATION D'APPLICATION PAR MANIFEST (WINXP) http://www.vbfrance.com/code.aspx?ID=28387
écrit ceci:
WARNING !! Manifest files can only be written if the dependencies (DLL and OCX) are already registered in the registry of the workstation on which the current application is used.

Ce que veut dire qu'on doit, d'une façon ou d'une autre, enregistrer nos OCX ou Dll privés ou autres comme mscomctl.ocx qui ne sont pas, au départ, enregistrés sous xp ou vista.
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
25 août 2009 à 23:56
Bonjour à tous
Il y a quelques jours que je me suis mis à l'idée des manifests pour utiliser les DLLs et OCXs sans les enregistrer dans la BDR.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 août 2009 à 23:23
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
25 août 2009 à 22:09
Regarde dans les sources de Rey tu trouvera
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
25 août 2009 à 20:39
Merci Bouv, ça marche après quelques modifications.
Le seul inconvenient c'est qu'on doit passer par eventinfo pour gérer les évenements.
Peut être que la méthode à Renfield soit plus pratique: "jouez avec des manifest, c'est grandiose (windows 2000 et sup)". J'ai cherché un peu dans le site mais je ne l'ai pas encore trouve...
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
25 août 2009 à 13:55
Effectivement, j'ai pas vérifié avant de poster, la page a disparue. Heureusement j'ai sauvegardé une copie du Zip.

Voici un lien pour le telecharger :
http://dl.free.fr/p53kluCva
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 août 2009 à 13:50
euh...

This submission no longer exists in the database.
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
25 août 2009 à 13:41
Autre solution, utiliser les DLL et OCX sans les enregistrer :

http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=64499&lngWId=1
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 août 2009 à 13:37
"Le prob majeur est de faire enregistrer correctement les .ocx et .dll privées dans la base de registre (à cause des droits d'admin"

jouez avec des manifest, c'est grandiose (windows 2000 et sup)
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
24 août 2009 à 22:26
Bonjour vicosta
c'est bien l'idée à laquelle je me suis finalement fait. J'ai essayé cette méthode en renommant Vb6fr.dll en Vb6fr.dl_ et ça marche à merveille.
Merci pour l'itervention.
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
24 août 2009 à 18:46
Plus besoin de C++ pour le test
Il suffit de remplacer les mots vb6fr.dll encontré dans le .exe et le remplacer par msvbvm6.dll
Tant xp comme vista and seven and à l'avenir win8, 9, 10, etc possedent cette dernière dll au départ.
Il y a des sources sur le site qui traitent ce sujet et ça marche.
Le prob majeur est de faire enregistrer correctement les .ocx et .dll privées dans la base de registre (à cause des droits d'admin)
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
23 août 2009 à 21:22
Bonjour gillardg
Très bonne idée mais mon problème est que je ne connais rien en C ou C++
Merci pour l'idée
A+
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
23 août 2009 à 13:59
petite idée pour gérer le problème des runtimes :

créer un ch tit bout de code en c++ ( natif ) qui teste si runtime présent alors démarre si pas présent download install puis démarre :)

et hop plus de blèmes :)

peut être dur dur à faire ,
mais peut être que ça existe déjà =>
demande à ton ami google xD
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
22 août 2009 à 15:35
Je l'ai dit dans la conclusion: .
Pour ce qui est démarrage ou pas à cause des runtimes, le pgogramme lui-même a besoin d'être empaqueté par celui de VB et ensuite installé.
Actuellement, les nouvelles configuration (XP ou VISTA) comporteent presque tous les objets de démarrage des appli. VB

J'y penserai quand-même
Merci pour les remarques
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
22 août 2009 à 11:01
Sujet abordé des dizaines de fois. Le problème en VB est que l'installeur a besoin des runtimes VB6 pour fonctionner. Si un PC ne les possède pas, l'installeur ne demarrera même pas...
Bref ingérable.
VBsearch Messages postés 50 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 22 août 2009
22 août 2009 à 02:18
Dans la description, j'ai oublié de mentionner le fait qu'on doit avoir ZLIB.DLL dans le dossier système ou dans le dossier du projet.
@+
Rejoignez-nous