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

Outils Delphi Discussion :

InnoSetup et Firebird


Sujet :

Outils Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut InnoSetup et Firebird
    bonjour, voila j'ai cherché un petit peu partout sans succés avant de poster :

    mon problème : lancer l'installation de firebird dans l'installation du logiciel que je développe, en utilisant inno setup ,
    il faut déja installer firebird et redémarrer la machine et reprendre l'installation de mon logiciel,
    c'est pas possible d'utiliser la section [Run] par ce qu'elle s'exécute après le démarrage de l'installation des autres éléments et firebird n'est pas encore installé. (sauf si y a moyen de lancer firebird en premier).
    j'ai essayer d'utiliser la function InitializeSetup(): Boolean; avec
    ShellExec('open',*****.exe'),'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
    ca marche , mais dans ce cas comment forcer le redémarrage de la machine et la reprise de l'installation depuis ce point.

    j'ai voulu essayer le RUNONCE de HKEY_CURRENT\SOFTWARE\WINDOWS\CURRENT_VERSION\ mais pour le faire le type TREGISTRY n'est pas reconnu dans innosetup ,, à l'aide svp , quelqu'un à une idée ???

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Une question en premier lieu: c'est un client ou un serveur Firebird que tu souhaites installer ?

    @+

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    merci , pour avoir répondu ,

    j'essaye d'installer Firebird-2.0.5.13206_1_win32 c'est le serveur , donc il faut l'installer redémarrer la machine , aprés continuer l'install de mon application qui a besoin de firebird,
    merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par lotfi33 Voir le message
    ...donc il faut l'installer redémarrer la machine..
    Pas nécessairement, tu peux très bien lancer le service Firebird à la fin de son install, sans avoir besoin de redémarrer.

    Tu peux consulter la doc de Firebird et notamment le fichier Installation_Scripted.txt pour avoir la description des paramètres à fournir pour ton install.
    A savoir que l'install de Firebird a été fait avec InnoSetup.

    @+ Claudius

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut il faut un redémarrage
    ok, sauf que dans tout mes tests si je redémarre pas firebird aprés l'installation, mon application ne fonctionne pas,

    donc, il faudrait :
    1. installer firebird
    2. redémarrer la machine
    3. reprendre l'installation aprés le redémarrage (autre casse tête pour moi)
    4. installer les éléments restants,

    j'ai testé l'execution d'un reboot.bat à qui je fait appel avec shellexec , ca redémarre windows certe , mais l'installation ne reprend pas ??

    merci,

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Effectuer une installation en 2 étapes avec redémarrage de la machine entre ces 2 étapes, je ne pense pas qu'InnoSetup soit capable de le gérer.

    Mais pour quoi ne pas laisser ton installation aller jusqu'à son terme ?
    Tu installes l'application au complet ainsi que Firebird, et tu forces le redémarrage de la machine à la fin de l'install.
    Cela me parait plus simple que de vouloir intercaler un reboot au milieu. Non ?

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    mon application à besoin d'écrire des données, créer une base, gérer des alias, donc si je redémarre pas firebird, je pourrai pas le faire voila,

    pourquoi ne pas créer deux installations différentes : c'est pour ne pas dérouter un simple utilisateur qui installe mon application, si je peux automatiser le maximum de tâches pourquoi pas.

    maintenant il faudrait que je soit absolument sure qu'on peux pas intercaler un reboot dans un install de inno pour opter pour deux setup différents,

    merci

  8. #8
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Je ne suis pas certain de bien comprendre ton problème.

    Mais je reste persuadé que tu peux:
    1. Installer ton appli au complet
    2. Installer Firebird avec démarrage du service
    3. Lancer ton application

    Et cela sans avoir besoin de redémarrage.

  9. #9
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    Tu le fait avec le code dans InitializeSetup
    si besoin de firebird tu extrait lance l'install et attend sa fin, tu affiche un message "attention windows doit redemarrer pour continuer" avec juste ok.
    dans le registre runonce tu met le chemin de ton installeur, tu fait un shellexecute "shutdown -t 0 -r" tu retourne false
    sinon true si firebird est ok

    maintenant si firebird s'installe sans besoin de redémarrer faut faire comme cl@udius dit

    pour ecrire la clef:
    function RegWriteStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    merci , "de la discussion jaillit la lumière"

    tu m'a donné une trés trés bonne idée

    je vais créer deux install différents, sachant que ca va être transparent pour l'utilisateur, à la fin du premier (il install fire bird) je redémarre la machine et je lance le second setup automatiquement,

    si tu a des idées sur comment faire ca pourra m'aider,

    je pense que c'est une trés bonne piste ,

    merci

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    merci à vous , j'ai posté ma réponse avant d'avoir recu la tienne , donc

    juste que j'ai pas trops l'habitude de manipuler les clé dans innosetup , t'a pas u petit exemple histoire de mieux comprendre , merci d'avance , je pense que je suis prés de la solution ,

  12. #12
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RegWriteStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce','APP.Setup',ExpandConstant('{srcexe}'));
    2ème réponse sur google avec : RegWriteStringValue param runonce

    montre ton InitializeSetup si tu veux mon opinion
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  13. #13
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut c'est bon :)
    merci,

    je doit reprendre le code de innosetup la et le diviser en deux parties , donc pour le moment pas de code à poster , je pense que ca devrait marcher, sinon dés que j'aurais écris les deux parties je les posterai,


    encore merci bcp pour l'aide , je vais cocher résolu

  14. #14
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    il y a qu'un setup à faire, faut utiliser le setup de firebird qu'il ont fait. Si ta fait le tiens c'est peut-être pour sa que ta besoin de redémarrer
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  15. #15
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    resalut ,

    voila maintenant je lance firebird install (qui est propre à fire bird) dans mon install à moi (pour donner l'impression que tout appartient à mon appli),
    je lance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Run]
    ;Executer l''install de  firebird
    Filename: "\install 160310\CDInstall\Eseguibili\Firebird-.0.5.13206_1_win32.exe" ;
    à la fin de l'install de firebird je reboot en utilsant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [code]
    function InitializeSetup(): Boolean;
    begin
      RegWriteStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce','APP.Setup',ExpandConstant('C:\Users\lotfi\Desktop\myinstall.exe'));
      Result:=true;
    end;

    mais voila j'ai vu un source que j'arrive pas à bien comprendre, je croit qu'il se rapproche du mien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function InitializeSetup(): Boolean;
    begin
      Restarted := ExpandConstant('{param:restart|0}') = '1';
     
      if not Restarted then begin
        Result := not RegValueExists(HKLM, 'Software\Microsoft\Windows\CurrentVersion\RunOnce', RunOnceName);
        if not Result then
          MsgBox(QuitMessageReboot, mbError, mb_Ok);
      end else
        Result := True;
    end;
    Peut on m'expliquer la partie Restarted := ExpandConstant('{param:restart|0}') = '1';


    merci ,

    ps : ca fait pas longtemps que j'utilise delphi

  16. #16
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par lotfi33 Voir le message
    Peut on m'expliquer la partie Restarted := ExpandConstant('{param:restart|0}') = '1';
    Extrait de l'aide d'IS:
    {param:ParamName|DefaultValue}
    Embeds a command line parameter value.

    ParamName specifies the name of the command line parameter to read from.
    DefaultValue determines the string to embed if the specified command line parameter does not exist, or its value could not be determined.
    @+

  17. #17
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    tu t'y prend mal je crois, ta crée un setup juste pour installer le setup de firebird? sa fait 3 setup + un restart pfiou.

    le code que tu montre c'est pour savoir si le setup a été appelé avec le parametre restart à 1. genre ta clef runonce tu lui ajoute le paramètre /restart=1
    comme sa tu sais que le setup a été lancé depuis runonce

    tu dois dans ton script inclure le setup de firebird, l'extraire temporairement et le lancer avec les bon paramètre
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  18. #18
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    salut , je sait que c'est un peu farfelu mais c'est juste pour qu'un usager x n'ai qu'a lancer (ou cliquer en termes plus simpliste) un seul setup et tout s'enclanche à la suite,

    il faut savoir qu'en même temps j'install d'autres éléments avant de rebooter (ce qui reste nécessaire), pour enfin, lancer l'install de mes éléments à moi.

    en gros ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [Run]
     
    Filename: "\install 160310\CDInstall\Eseguibili\Firebird-2.0.5.13206_1_win32.exe" ;
     
    [code]
    function InitializeSetup(): Boolean;
    begin
    RegWriteStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce','APP.Setup',ExpandConstant('C:\Users\lotfi\Desktop\eSuite en deux\SetupESuite.exe'));
    Result:=true;
    end;

    bon, je reste persuadé qu'il y a possibilité de beaucoup mieux faire, même si ca marche maintenant ,

    et merci

  19. #19
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    ton ExpandConstant est incorrect tu lui passe une constante qui sera fausse chez les utilisateur. lis l'aide sections constants et dans les fonctions cherche ExpandConstant

    plus haut je t'ai mis un exemple correct
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  20. #20
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    oui , l'exemple que j'ai mis est programmé "en dure" c'était juste pour tester ma fonction,

    je pense que le chemin , sera :

    soit aprés avoir copie l'install dans tmp de windows et je récupère mon install.exe la bas et j'execute

    ou directement depuis le cd d'installation,

    alors est ce que j'ai tou faux ??

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Débat] Choisir InterBase/Firebird ou Microsoft SQL-SERVER ?
    Par asenaici dans le forum Décisions SGBD
    Réponses: 90
    Dernier message: 19/03/2009, 20h51
  2. [InnoSetup] Installer Firebird
    Par jojo86 dans le forum Outils
    Réponses: 4
    Dernier message: 05/02/2008, 23h35
  3. installation de firebird avec innosetup
    Par Issam dans le forum Installation
    Réponses: 2
    Dernier message: 05/06/2007, 21h38
  4. Refus d'accès à une base Firebird
    Par severine dans le forum Installation
    Réponses: 18
    Dernier message: 04/06/2003, 16h03
  5. Help InnoSetup ou Installshield
    Par buzz dans le forum Outils
    Réponses: 4
    Dernier message: 30/07/2002, 15h26

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