IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Creer un installateur + serveur mysql


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut Creer un installateur + serveur mysql
    BOnjour a tous. J'arrive a la fin de mon programme et j'aimerais faire un installateur de tout ce dont j'ai besoin pour rendre le programme éxécutable.

    J'utilise easyphp pour le serveur mysql qui contient 5 table
    mon programme sous builder.
    et 2-3 dll.

    Pour le programme en c++ j'ai vu qu'il fallait le compiler sans la RTL dynamique et sans les packages ( j'ai tester sur un autre pc ca marche )

    mais ce qui me pose problemes c'est l'installation automatique du serveur mysql et des tables.

    j'ai vu que vous utilisez inoSetup ou NullsoftSetup lequel serais a conseillé pour ce genre de manipulation ?

    Merci pour vos reponses

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    j'ai creer mon setup avec l'instalateur WIzard de InoSetup. et mon porgramme s'installe bien .


    Maitenant que dois je faire pour inclure mon serveur mysql et mes dll ?

    merci pour vos reponses

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    Je continue mon avancement

    J'ai su installer easyphp grace a cette methode :

    http://www.easyphp.org/custom_pack.php3?lang=fr&lang=fr

    l'installation se passe sans probleme mais je voudrais que lorsque je lance mon programme il detecte si easyphp.exe est lancé et sinon le lancé. je pense que sa doit etre possible.

    et aussi est-il possible de supprimer l'icone dans le system tray d'easyphp ?

    je cherche tj pour inclure des dll dans mon dossier system32

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Je ne sais pas pour InoSetup, mais avec NSIS pour installer une DLL c'est quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      StrCpy $ALREADY_INSTALLED 1
      !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED \
                   "data\olepro32.dll" "$SYSDIR\olepro32.dll" "$SYSDIR"
    La création des tables peut être fais par ton programme avec la commande CREATE TABLE en MySQL.

    Pour partir easyPHP à partir de ton programme il faut utiliser la commande ShellExecute.

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    En complément d'InnoSetup, j'utilise ISTool qui simplifie pas mal la vie

    Tu peux le télécharger à cette adresse :
    http://www.istool.org/

    Donc avec ISTool, tu cliques sur Fichiers et Dossiers, un clic droit, nouvel objet, tu renseignes la source donc ici la DLL, répertoire destination tu choisis {sys} et c'est tout, logiquement ça devrait fonctionner.

    Pour savoir si un programme est déjà lancé, tu peux aller voir ici et ici

    En espérant t'avoir aidé.
    A+

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    merci Ero pour ces cinfoss j'ai su integrer mes dlls dans mon programme.

    Maitenant je galere un peu pour savoir si EasyPHP.exe est deja lancé ou pas

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    j'ai eassayer plusieurs code mais j'arrive pas a avancer beaucoup...

    j'ai utiliser celui ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void* divers;
    HWND Handle;
     
    Handle = FindWindow( NULL, "EasyPHP" );
     if( Handle )
      {
        ShowWindow( Handle, SW_SHOWNORMAL );
        BringWindowToTop( Handle );
      }
      else
      {
    	divers = ShellExecute( 0, "open", "C:\Program Files\EasyPHP1-8\EasyPHP.exe", NULL, NULL, SW_SHOWNORMAL );
        if( divers < (void*)33 )
          ShowMessage( "Programme introuvable");
     
      }
    si EasyPHP est lancé alors il m'ouvre la fenetre => OK

    par contre si il n'est pas lancé.. il ne fait rien.

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Je pense qu'il faut doubler les AntiSlash :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    divers = ShellExecute( 0, "open", "C:\\Program Files\\EasyPHP1-8\\EasyPHP.exe", NULL, NULL, SW_SHOWNORMAL );
    Essaie voir

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    non ca ne marche pas et il ne me dit meme pas "programme introuvable"...

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Je confirme bien qu'il faut doubler les AntiSlashs sinon ça ne fonctionne pas.

    J'ai fait un test chez moi avec InnoSetup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      ShellExecute(NULL,"OPEN","C:\\Program Files\\Inno Setup 5\\Compil32.exe",NULL,NULL,SW_SHOWNORMAL );
    }
    Et ça fonctionne bien ...

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    Merci Ero j'ai vu ou été mon erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    void* divers;
    HWND Handle;
     
    Handle = FindWindow( NULL, "EasyPHP" );
     if( Handle )
      {
    	ShowWindow( Handle, SW_SHOWNORMAL );
    	BringWindowToTop( Handle );
      }
      else
      {
      ShellExecute(NULL,"OPEN","C:\\Program Files\\EasyPHP1-8\\EasyPHP.exe",NULL,NULL,SW_SHOWNORMAL );
      Sleep(5000);
      SQLConnection1->Connected=true;
      }
    En fait dans ma Form1 j'avais mis directement qu'il se connecté a la base de donnée et donc il avait pas le temp de lancer le programme.

    ici je lui laisse un temp de le lancer pour ensuite se connecter.



    Si tu connais la commande pour fermé EasyPhp je suis preneur :p
    et aussi quand il se lance pour le reduire dans le sytemtray directement c'est possible ?

  12. #12
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Je n'ai pas easyPHP d'installer sur ma machine donc je ne serait te dire comment faire pour le quitter ... En tuant le processus surement non ? Risquer mais bon lol

    Sinon pour lancer easyphp dans le systray, tu peux essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(NULL,"OPEN","C:\\Program Files\\EasyPHP1-8\\EasyPHP.exe",NULL,NULL,SW_SHOWMINIMIZED);
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(NULL,"OPEN","C:\\Program Files\\EasyPHP1-8\\EasyPHP.exe",NULL,NULL,SW_MINIMIZE);
    Je ne sais pas si ça fonctionnera ...

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    merci.

    Pour infos les 2 marches.

    La 1er lance EasyPHP et on dirait qu'il affiche puis minimize direct.

    La seconde minimize directement.

    Reste a savoir comment kill EasyPHP

  14. #14
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Pour killer EasyPHP, un petit tour par la case FAQ

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    ca marche mais ca un peu barbare

    Sinon c'est possible de cacher l'icone d'easyPHP qui se met dans le systemtray ?

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    sinon pour faire plus propre :

    installer easyphp en tant que services.

    et faire un net start mysql

    plus rapide et plus propre

Discussions similaires

  1. Curtime - heure du serveur mysql
    Par Kath dans le forum Requêtes
    Réponses: 3
    Dernier message: 05/04/2006, 13h09
  2. visualiser les connection a un serveur mysql
    Par Thunder_nico dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/07/2004, 13h15
  3. Paramétrer le nombre de connexion sur mon serveur Mysql
    Par Zerga dans le forum Installation
    Réponses: 2
    Dernier message: 12/12/2003, 19h21
  4. Problème de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    Réponses: 2
    Dernier message: 27/11/2003, 09h28
  5. Accès impossible au serveur MySQL
    Par aliasjcdenton dans le forum Installation
    Réponses: 3
    Dernier message: 19/05/2003, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo