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] Problème de lancement de fichier bat avec Java


Sujet :

Outils Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut [Inno Setup] Problème de lancement de fichier bat avec Java
    Bonjour,

    J'ai besoin d'un petit renseignement.

    J'ai lancé un fichier bat en java grâce à la commande :

    Runtime.getRuntime().exec(new String[] {"cmd.exe", "/c start lanceur.bat"});

    Ce fichier BAT contient des lignes qui permettent, entre autre, de créer des variables d'environnement (syntaxe "SET nom_variable = ..."). Après la mise en place de ces variables, j'ai mis une commande de lancement d'une application. Cette application fait appel aux variables d'environnement que j'ai précédement mises en place.

    Le lancement de ce batch via "Démarrer -> Exécuter -> cmd" fonctionne très bien et l'application s'exécute correctement sans aucun message d'erreur.

    Lorsque j'exécute le batch dans le programme JAVA via la commande que j'ai écrit ci-dessus, tout marche très bien également.

    J'ai donc décidé de créer un installeur de mon programme JAVA avec Inno setup. J'installe ensuite ce programme sur 2 postes (dont le mien sur lequel j'ai développé mon application) avec mon installeur. J'exécute donc l'application Java que je viens d'installer et qui lance le ".BAT". Tout marche correctement et l'application qu'est censée lancer le ".BAT" se lance bien ...SAUF que elle me renvoie une erreur me disant qu'un DLL est manquante.

    Or, le chemin de la DLL est écrite dans le .bat (le même ".bat" qui marche très bien sans Inno setup quand je le lance depuis JAVA ou depuis la fenêtre "Démarrer -> Exécuter -> cmd"). Cette DLL est sur le réseau de l'entreprise.

    La question que je me pose est donc : pourquoi tout marche bien sans passer par inno setup et pourquoi ca ne marche dès que ca vient de l'application installé par inno setup?

    Du fait que ce soit installé par Inno setup, est-ce exécuté dans un environnement particulier?

    Détails importants :

    1) Dans le programme JAVA, je fais afficher la fenêtre DOS dans laquelle s'exécute le ".BAT". Je peux donc voir que, quand je lance la JAVA installé par Inno setup, le contenu de cette fenêtre est le même que dans la fenêtre "Démarrer -> Exécuter -> cmd" dans laquelle j'ai exécuté le ".bat".

    2) Les autres fonctionnalité du programme JAVA fonctionne très bien.

    Pouvez-vous m'éclairer un peu SVP?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Peut-être le Dossier de Démarrage de l'Appli qui indique le répertoire courant d'un fichier lorsque l'on indique pas son chemin complet (d'ailleurs le SaveDialog peut altérer ce chemin, donc mieux vaut l'éviter)

    Il peut avoir des difficultés à trouver le fichier à l'endroit attendu ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Non non, ce n'est pas ca : je vois bien que le batch s'exécute depuis l'application installé par Inno Setup.

    Mais j'ai peur que ca ne soit les variables d'environnement que je mets dans le "bat" et que le bat installe qui ne soient pas visibles du logiciel que je ance avec le bat... Est-ce possible?

    Pourtant, les variables d'environneemnt qu'on installe via un bat sont accessibles de n'importe quelle appli non (même si le bat est appelé d'un programme)?

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Je ne suis plus trop habitué au variable d'environnement, ayant utilisé InnoSetup, je ne me rappelle pas avoir eu de problème (mais je n'avais pas de Bat, mais des programmes compilés qui utilisait la BDR)

    Le Fichier Bat ne subit pas d'altération par InnoSetup ?
    Il semble que ton installeur modifie les variables, une erreur dans son script ... est-ce qu'il recopie tous les fichiers utiles ?

    Sinon, fait ton propre installeur, si c'est pour copier quelques fichiers ça n'ai pas trop compliqué (un zip auto-extratible peut même faire l'affaire ou une install TAR GZ typique JAVA)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. [Inno Setup] Problème lancement bat
    Par Isa31 dans le forum Outils
    Réponses: 5
    Dernier message: 18/04/2012, 08h58
  2. [Inno Setup] Problème avec GetFileversion()
    Par Frimouss dans le forum Outils
    Réponses: 4
    Dernier message: 11/10/2008, 18h56
  3. [Inno-Setup] Problème sur XP : Run-time error '429'
    Par lucas67 dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 27/07/2007, 08h47
  4. Inno setup, probléme
    Par nightcyborg dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 18/04/2006, 14h47
  5. [Système][Runtime] Lancement d'un .bat avec java
    Par Hoegaarden dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 13/09/2005, 15h48

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