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

Java Discussion :

Mise à jour à distance d'un jar en cours d'execution ?


Sujet :

Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Mise à jour à distance d'un jar en cours d'execution ?
    Bonjour,

    je vais vous expliquer la procédure que nous utilisons en gros pour mettre à jour à distance une application installée sur des postes clients.

    application écrite en vb.net --> donne un exe

    module de mise à jour qui vérifie s'il y a des nouvelles versions de l'application (xml + mysql), télécharge éventuellement les nouveaux fichiers (nouvel exe, nouvelle db, nouveau xml, ect) puis lance l'exe : écrit en java --> donne donc un jar

    Le package d'installation transmis se fait via inno setup.
    Dans le xml, se trouve aussi le lien vers les packages de mises à jour.

    Nous voulons maintenant modifier le jar qui vérifie les mises à jour, télécharge les nouveaux fichiers puis lance le nouvel exe éventuellement juste téléchargé.

    Cependant si nous voulons inclure une nouvelle version du jar dans un package de mise à jour, l'ancien jar va vouloir télécharger le nouveau et on va avoir une erreur car il ne peut pas s'écraser "lui même" parce qu'il est en cours d'execution.

    Si quelqu'un a compris mon problème, est ce qu'il voit une solution ?
    Si besoin de plus de précisions, n'hésitez pas à demander.

  2. #2
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonsoir,
    je crois que la seule solution est de tuer le processus java exécuté sur la machine cliente, une fois qu'il a fait ce qu'il avait à faire...

    Ce sera l'un des rôles de l'installeur que tu fais avec inno setup

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ou simplifier le bazar, parce que si j'ai bien suivi, java n'est nécessaire sur le poste client que pour l'updater.... Et si j'ai bien compté, il y a trois application différentes: l'updater, l'installer et au final une appli en VB => Pourquoi ne pas avoir tout fait direct en vb ??

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    @tchize_ on a développé cet updater java pour qu'il soit compatible avec toutes les applications que nous diffusons, y compris celles déjà écrites et mises en place. C'était beaucoup plus simple que de devoir l'intégrer à chaque application.

    @kox2ee tuer le processus de l'updater java et redémarrer sur le nouveau donc ? Tout ca au sein d'inno setup. Ok c'est peut être faisable, je vais explorer ca, merci.

    Si d'autres ont des idées, je prends. Parce que ca fait un moment que je tourne en rond sur ce problème :/

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ET oui, les joies de windows et de son verouillage automatique des fichiers


    Je suppose que ton jar est lancé tout propret par un .bat. Alors, je mettrais simplement ceci dans le .bat:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if exist updater-new.jar ren updater-new.jar updater.jar
    java -jar updater.jar
    Et au prochain démarrage, la mise à jour est prise en compte.

    L'autre alternative, c'est de jouer avec deux programme: L'updater, qui fait tous les checks qui vont bien, et le replacer, qui met en place la nouvelle version. Et d'avoir ce code:


    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    updater:
    si mise à jour:
     télcharger la nouvelle version de l'updater dans un dosiser "update"
     télécharger la nouvelle version du replacer et la mettre en place
     lancer le replacer
     quitter

    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    replacer:
     attendre l'arrêt du replacer
     copier le contenu de update/ dans le dossier d'installation de l'updater
     relancer l'updater
     quitter

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Pour l'updater / replacer ca peut être une bonne solution à terme effectivement. Ca nécessiterait qu'on refonde un peu notre updater actuel. A étudier, mais merci quand même.

    Pour le bat, nous n'en utilisions pas mais oui ca peut se mettre facilement en place si la solution marche. Je vais essayer ca.

    J'avais déjà un peu regardé les bat mais je n'ai pas trouvé de solutions concrètes, est ce que tu sais comment on fait pour qu'ils démarrent en invisible ou caché ?

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Si tu met un start devant ton appel à java principal, la console n'attendra pas la fin pour se fermer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @echo off
    //trucs de copies rapide
    start java -jar updater.jar

Discussions similaires

  1. Mise à jour et réorganisation de la page cours
    Par Baptiste Wicht dans le forum Général Java
    Réponses: 3
    Dernier message: 23/08/2009, 20h01
  2. Mise à jour à "distance" d'un chart
    Par malouxa dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/02/2009, 19h45
  3. mise à jour à distance d'un sous formulaire
    Par Marie_2116 dans le forum VBA Access
    Réponses: 9
    Dernier message: 17/08/2007, 15h51

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