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 :

[Inno Setup] Exécution de fichier .bat avec


Sujet :

Outils Delphi

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 337
    Points : 120
    Points
    120
    Par défaut [Inno Setup] Exécution de fichier .bat avec
    Bonjour, Messieurs et dames.

    J'ai développé un service windows que je veux installer sur un poste autre que mon poste. Pour ce faire, j'ai créé un installeur avec inno setup. J'ai aussi installé Istool sur mon poste. Je veux qu'après l'installation, le service soit visible dans le service msc. Je le réussis aisément en ligne de commande sur l'autre poste. Avec le setup de inno setup, je n'ai aucune réaction.
    J'ai créé un fichier InstallSceWinBak.bat qui contient l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Windows\Microsoft.Net\Framework64\v4.0.30319>InstallUtil C:\program files (x86)\SceWinBak\SceWinBak.exe
    Je l'exécute dans Inno Setup avec la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Files]
    Source: D:\LGHI\SceWinBak\bin\Debug\*; DestDir: {app}\SceWinBak; Flags: ignoreversion recursesubdirs createallsubdirs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Run]
    Filename: InstallSceWinBak.bat; Flags: postinstall shellexec waituntilterminated; WorkingDir: {app}\SceWinBak
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Run]
    Filename: {app}\SceWinBak\InstallSceWinBak.bat; Flags: postinstall shellexec waituntilterminated
    Quelqu'un a une idée ou un bon lien ou tuto?

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 695
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 695
    Points : 13 133
    Points
    13 133
    Par défaut
    Citation Envoyé par djelloharmel Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Windows\Microsoft.Net\Framework64\v4.0.30319>InstallUtil C:\program files (x86)\SceWinBak\SceWinBak.exe
    Ça m'étonnerais que cette ligne de commande fonctionne sans guillemets : InstallUtil "C:\program files (x86)\SceWinBak\SceWinBak.exe".
    Et si l'utilisateur choisit un autre chemin d'installation, le bat est dans les choux...

    Pas très logique non plus que dans IS {App} représente C:\program files (x86). Es-tu sûr du chemin ?

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 337
    Points : 120
    Points
    120
    Par défaut
    J'ai trouvé ce qu'il fallait écrire dans le fichier batch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @ECHO OFF
     
    REM The following directory is for .NET 4.0
    set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319
    set PATH=%PATH%;%DOTNETFX2%
     
    echo Installing MyService Win Service...
    echo ---------------------------------------------------
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil /i "C:\MonService\Service.exe"
    net start MyService
    services.msc
    echo ---------------------------------------------------
    pause
    echo Done.
    J'arrive à l'exécuter quand je lance le fichier en ligne de commande en mode administrateur. Le service s'affiche dans Service.msc.
    Mais à partir de l'installateur, je n'ai aucune réaction. je me dis donc que ma commande au niveau de l'installateur n'est pas bonne. Sinon, j'ai besoin de compte administrateur. Or je l'ai ajouté dans section "Setup"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Setup]
    PrivilegesRequired=admin
    Je fouille encore et toujours mais un coup de pouce serait vraiment le bienvenu.

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 337
    Points : 120
    Points
    120
    Par défaut
    ça marche. Il fallait remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Run]
    Filename: C:\LGHI\LehiSceWinBak\InstallSceWinBak.bat; Flags: postinstall shellexec waituntilterminated
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Run]
    Filename: cmd.exe; Parameters: /C C:\LGHI\LehiSceWinBak\InstallSceWinBak.bat

+ Répondre à la discussion
Cette discussion est résolue.

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