VBsearch
Messages postés50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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.
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és50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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és4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 2 sept. 2009 à 00:55
VBsearch>cqfd !
VBsearch
Messages postés50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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és4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 26 août 2009 à 22:03
tout a fait.
VBsearch
Messages postés50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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és178Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention30 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és178Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention30 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és50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 août 2009 à 23:23
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 25 août 2009 à 22:09
Regarde dans les sources de Rey tu trouvera
vicosta
Messages postés178Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention30 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és1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 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.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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és178Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention30 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és50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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és3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 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és50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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és1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 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és50Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention22 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.
@+
13 janv. 2013 à 20:35
2 sept. 2009 à 01:33
Merci pour les commentaires. J'en toujours besoin pour pouvoir évoluer
A+
2 sept. 2009 à 00:55
2 sept. 2009 à 00:17
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.
1 sept. 2009 à 08:50
26 août 2009 à 22:03
26 août 2009 à 21:39
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.
26 août 2009 à 09:15
Quand on connait toutes les astuces, on peut aller loin avec VB6
26 août 2009 à 08:24
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.
26 août 2009 à 08:18
é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.
25 août 2009 à 23:56
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.
25 août 2009 à 23:23
25 août 2009 à 22:09
25 août 2009 à 20:39
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...
25 août 2009 à 13:55
Voici un lien pour le telecharger :
http://dl.free.fr/p53kluCva
25 août 2009 à 13:50
This submission no longer exists in the database.
25 août 2009 à 13:41
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=64499&lngWId=1
25 août 2009 à 13:37
jouez avec des manifest, c'est grandiose (windows 2000 et sup)
24 août 2009 à 22:26
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.
24 août 2009 à 18:46
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)
23 août 2009 à 21:22
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+
23 août 2009 à 13:59
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
22 août 2009 à 15:35
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
22 août 2009 à 11:01
Bref ingérable.
22 août 2009 à 02:18
@+