Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 02-04-2009 12:32:37

bombseb  
Membre Geek
Date d'inscription: 06-01-2009
Messages: 40
Pépites: 2,218
Banque: 0

Appli qui se met à jour toute seule

Bonjour,

J'aimerais qu'une de mes applications PB (V10.2.1) puisse se mettre à jour toute seule.
Est-ce que vous pourriez me conseiller une façon de faire svp ? peut être qu'il existe déja quelque chose qui fasse ca ?

Merci d'avance

Hors ligne

 

#2 02-04-2009 12:47:55

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: Appli qui se met à jour toute seule

Pour info, depuis la V11, il y a ceci (merci à Sweey pour le tuyau ):

Aide PB a écrit:

Properties for .NET Windows Forms Application: General tab
options
(...)
Publish as smart client application
Select if you want to publish this application as a smart client application. This enables you to use "intelligent update” and to specify whether the application can be used online only or both online and offline. If you do not select this check box, only the General, Resource Files, Library Files, Version, Run, and Post Build tab pages are enabled.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#3 02-04-2009 12:50:46

bombseb  
Membre Geek
Date d'inscription: 06-01-2009
Messages: 40
Pépites: 2,218
Banque: 0

Re: Appli qui se met à jour toute seule

raaahh mince je suis en 10.2.1 moi

une autre idée ?

Hors ligne

 

#4 03-04-2009 12:46:30

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: Appli qui se met à jour toute seule

foon a écrit:

Pour info, depuis la V11, il y a ceci (merci à Sweey pour le tuyau ):

Aide PB a écrit:

Properties for .NET Windows Forms Application: General tab
options
(...)
Publish as smart client application
Select if you want to publish this application as a smart client application. This enables you to use "intelligent update” and to specify whether the application can be used online only or both online and offline. If you do not select this check box, only the General, Resource Files, Library Files, Version, Run, and Post Build tab pages are enabled.

il me semble que c'est uniquement valable pour la partie winform.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 03-04-2009 13:14:08

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Appli qui se met à jour toute seule

Bonjour,

Oui, mais on peut le détourner de sa fonction originel pour déployer des applications standard Win32.

Il suffit de déclarer l'exe dans le package. Je n'ai pas testé cette une réponse que j'ai lors d'un séminaire avec Alex Pratt.

Hors ligne

 

#6 06-04-2009 08:33:57

bombseb  
Membre Geek
Date d'inscription: 06-01-2009
Messages: 40
Pépites: 2,218
Banque: 0

Re: Appli qui se met à jour toute seule

et sinon pour la V10.2.1 vous auriez pas une idée ou un code source svp ?

Hors ligne

 

#7 06-04-2009 09:35:14

vince.janssens  
Membre Geek
Date d'inscription: 02-06-2008
Messages: 69
Pépites: 189
Banque: 0

Re: Appli qui se met à jour toute seule

Je vais bientôt devoir implémenter ce genre de chose et pour y avoir déjà un peu pensé voici une idée générale:

Tu pourrais créer une application indépendante qui se connecterait à un serveur FTP  et irait lire un fichier contenant les différentes versions disponibles. Cette application vérifierait la version encours et comparerait avec la dernière version disponible. Suivant qu'une nouvelle version est dispo, elle téléchargerait cette version et en ayant préalablement effectué un backup de la version tu remplacerait les sources de ton application.
Il existe aussi sur le net une version open source d'un outil similaire à RTPATCh (un binary bit level difference generator dont je ne me souviens plus du nom) qui te permettrai de ne mettre à jour que le delta entre deux versions (beaucoup plus léger que de toute transférer mais aussi plus complexe à mettre en oeuvre).
Ne surtout pas oublier de travailler à la manière d'une transaction logique (çà que si tout ne s'est pas bien passé, tu dois pouvoir revenir à la version précédente (d'ou l'utilité de backuper avant de mettre à jour).

On pourrait envisager de construire cet objet en parallèle si çà te tente, histoire de se répartir l'effort à fournir... (moi je bosse en 10.5.1 cela ne devrait pas trop poser de poblèmes)...

Vincent

Hors ligne

 

#8 06-04-2009 13:16:37

bombseb  
Membre Geek
Date d'inscription: 06-01-2009
Messages: 40
Pépites: 2,218
Banque: 0

Re: Appli qui se met à jour toute seule

Salut Vince, merci pour le tuyau
Oui si tu veux on peut voir ca ensemble, mais je n'ai pas prévu de m'y mettre avant quelques temps, il faut déja que je termine le gros du dev avant de penser à faire ca.

Je pensait plutot stocker les fichiers de la nouvelle version sur un serveur de fichier (pas besoin de FTP). Mais ce qui me pose problème c'est plutôt ca :
Comment remplacer l'exe d'une appli qui tourne vu qu'il est vérrouillé, par une autre (nouvelle version)

Dernière modification par bombseb (06-04-2009 13:17:10)

Hors ligne

 

#9 06-04-2009 14:49:03

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Appli qui se met à jour toute seule

bombseb a écrit:

Comment remplacer l'exe d'une appli qui tourne vu qu'il est vérrouillé, par une autre (nouvelle version)

Il faut que le prg principal, s'il détecte une nouvelle version (comparaison entre le n° de version du prg lancé via API windows et un n° de version stocké dans la BDD p.ex), lance un second exe et se termine.
C'est ce 2ème exe qui se chargera des màj puis relancera le prg principal.
Ainsi tu es sûr de pouvoir déplacer/écraser les fichiers du prg principal.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#10 06-04-2009 14:52:33

bombseb  
Membre Geek
Date d'inscription: 06-01-2009
Messages: 40
Pépites: 2,218
Banque: 0

Re: Appli qui se met à jour toute seule

yes, c'est ce que j'était en train de me dire....

Hors ligne

 

#11 14-04-2009 06:59:40

vince.janssens  
Membre Geek
Date d'inscription: 02-06-2008
Messages: 69
Pépites: 189
Banque: 0

Re: Appli qui se met à jour toute seule

bombseb a écrit: Oui si tu veux on peut voir ca ensemble, mais je n'ai pas prévu de m'y mettre avant quelques temps, il faut déja que je termine le gros du dev avant de penser à faire ca.

Je suis en train de finaliser aussi une application en cours et je fais çà en soirée après le boulot et week-end, donc ce n'est pas dans l'immédiat non plus. Dans le même style, je dois mettre en place un module de traduction (que j'ai déjà en partie réalisé) et réfléchir à la protection de l'application (contre les cracks et autre bidouillage du genre) et suis partant pour le partage et la collaboration de source, donc si çà t'intéresse...

Vincent

Hors ligne

 

#12 14-04-2009 10:34:39

cantin_jl  
Membre completement Geek
Lieu: 49120 Chemillé
Date d'inscription: 10-01-2007
Messages: 132
Pépites: 552
Banque: 0
Site web

Re: Appli qui se met à jour toute seule

Bonjour, est déclaré dans un point ini

Nous utilisons un programme externe  appelé depuis un raccourcis spécifique :

Exemple de raccourcis pour mancer l'application GPAO_V9 :

Cible : "C:\Program Files\Applications JII\Mise à jour version\mj.exe" GPAO_V9
Démarrer dans : "C:\Program Files\Applications JII\Mise à jour version"

GPAO_V9 est déclaré dans un point ini lié à mj.exe :

Code: ini

[GPAO_V9]
Appli_Serveur = \\FICHIERS\INSTALL\Mise à jour de Versions\Fichiers LST\GPAO V9.LST
Appli_Local = c:\Program Files\Applications \Gpao

Le fichier LST contient la liste des différents fichiers à vérifier.

Ainsi au lancement du raccourci on récupère la liste des fichiers à comparer et à mettre à jour en local par rapport aux sources définies dans le LST.

Exemple du fichier LST :

Code: ini

[Répertoire]
Serveur=\\FICHIERS\INSTALL\Mise à jour de Versions\Applications\GPAO V9
SauvegardeSourcesTravail=G:\INFORMATIQUE\PERSONNEL\GROUPE INFORMATIQUE\PROJETS\0114 GPAO\APPLICATIF\VERSION PB9\VERSION DE TRAVAIL
SauvegardeSourcesDiffusés=G:\INFORMATIQUE\PERSONNEL\GROUPE INFORMATIQUE\PROJETS\0114 GPAO\APPLICATIF\VERSION PB9\VERSION EN COURS
[Informations]
Création=TOTO
Date_Création=26/08/2005 14:03
Modification=TITI
Date_Modification=07/04/2009 16:45
[Fichiers]
Fichier1=gpao.exe,1
Fichier2=gpao.pbd,0
Fichier3=communs.pbd,0
Fichier4=consitution.pbd,0
Fichier5=environnement.pbd,0
Fichier6=jalonnement.pbd,0
Fichier7=operations_types.pbd,0
Fichier8=profils.pbd,0
Fichier9=nomenclature.pbd,0
Fichier10=machines.pbd,0
Fichier11=expression_besoin.pbd,0
Fichier12=demande_interne.pbd,0
Fichier13=document.pbd,0
Fichier14=produit_intermediaire.pbd,0
Fichier15=messagerie.pbd,0
Fichier16=ico\clochette_1.ico,0
Fichier17=ico\clochette_2.ico,0
Fichier18=ico\clochette_3.ico,0
Fichier19=ico\clochette_4.ico,0
Fichier20=lock.pbd,0
Fichier21=lancement.pbd,0
Fichier22=essai_gpao.pbd,0
Fichier23=stock.pbd,0
Fichier24=commande.pbd,0
Fichier25=images.pbd,0
Fichier26=of.pbd,0
Fichier27=expedition.pbd,0
Fichier28=ico\clochette_5.ico,0
Fichier29=tableau_bord.pbd,0
Fichier30=magasin.pbd,0
Fichier31=suivi_activite.pbd,0
Fichier32=gestion.pbd,0
Fichier33=gestion_lots.pbd,0
Fichier34=gest_activite_annexe.pbd,0
Fichier35=inventaire.pbd,0
Fichier36=images.pbd,0
Fichier37=gestion_impressions.pbd,0
Fichier38=Mswinsck.ocx,0
Fichier39=documents_rattaches.pbd,0
Fichier40=gestion_lot_client.pbd,0
Fichier41=lot_provisoire.pbd,0
Fichier42=saisie_manuelle_lot.pbd,0
Fichier43=gestion_lot_sous_traitant.pbd,0
Fichier44=gest_art_info_nomen.pbd,0
Fichier45=gestion_premier_article.pbd,0
Fichier46=permis_produire.pbd,0
Fichier47=utilitaire.pbd,0
Fichier48=secretariat_vente.pbd,0
Fichier49=FMAIL32.DLL,0
Fichier50=suivi_affaire.pbd,0
Fichier51=ordo.pbd,0
Fichier52=Complements\xGantt\Vcgantt.ocx,0
Fichier53=Complements\xGantt\vcpane32u.dll,0
Fichier54=Complements\xGantt\vcprct32u.dll,0
Fichier55=Complements\xGantt\vcwin32u.dll,0
Fichier56=Complements\xGantt\vxcsv32u.dll,0
Fichier57=Complements\xGantt\msvcp60.dll,0
Fichier58=Complements\xGantt\mfc42u.dll,0
Fichier59=Complements\xGantt\msvcrt.dll,0
Fichier60=Complements\xGantt\olepro32.dll,0
Fichier61=Complements\xGantt\oleaut32.dll,0
Fichier62=Complements\xGantt\comctl32.dll,0
Fichier63=Complements\xGantt\wininet.dll,0
Fichier64=Complements\xGantt\shlwapi.dll,0
Fichier65=Complements\xGantt\gantt_isys.ifd,0
Fichier66=Complements\xGantt\gantt_isys.INI,0
Fichier67=Complements\xGantt\gantt_isys_ENM.ifd,0
Fichier68=Complements\xGantt\gantt_isys_ENM.INI,0
Fichier69=msg_alerte.pbd,0
Fichier70=marquage.pbd,0
Fichier71=recherche_et_developpement.pbd,0
Fichier72=registres_controle_rec.pbd,0
Fichier73=outils_jehier.pbd,0
Fichier74=lib_chaines.pbd,0
Fichier75=lib_fenetres.pbd,0
Fichier76=lib_fichiers.pbd,0
Fichier77=lib_mathematique.pbd,0
Fichier78=lib_menu.pbd,0
Fichier79=connexion_jehier.pbd,0
Fichier80=utilit.pbd,0
Fichier81=connexion.pbd,0
Fichier82=rebut.pbd,0
Fichier83=forcast.pbd,0
Fichier84=ilot_production.pbd,0

Ce fichier indique aussi quel est l'exe à lancer suite à mise à jour.

Nous utilisons ce module avec les versions 7, 9 et 10.5 de powerbuilder.

Contactez-moi si vous voulez plus de détails.


Les inventions qui ne sont pas connues ont toujours plus de censeurs que d'approbateurs

Hors ligne

 

#13 05-05-2009 13:50:44

ydl  
Membre Geek
Date d'inscription: 23-10-2007
Messages: 62
Pépites: 10,341
Banque: 0

Re: Appli qui se met à jour toute seule

bonjour
J'ai fait un service en c#, qui arrête l'application et remplace les fichiers pbd,exe et dll.
Seul soucis, il faut que ce service tourne avec un compte lui permettant d'arrêter le processus.
Une autre piste à explorer est de faire vérifié à l'application concernée la présence d'un fichier, contenant l'heure d'arrêt et la durée pour qu'elle se ferme toute seule.

Dernière modification par ydl (05-05-2009 13:52:07)

Hors ligne

 

#14 26-05-2009 10:22:36

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Appli qui se met à jour toute seule

Peut-être un peu tard, mais je me suis fait un pbni capable d'aller lire un n° de version (et fait toute info présente dans la ressource VersionInfo d'un module windows - .exe, .dll, ...) et même d'aller le modifier.

Je m'en sers sur mes projets pour déployer des mises à jour. Pour ce qui est de l'exe qui tourne, je n'ai pas de solution : nos mises à jour sont déployées via des installeurs NSIS, qui s'occupent d'installer les fichiers à remplacer et dans la cas de "patches" où seuls des fichiers de config changent qui modifient le n° de version de l'exe PB.

Pour info, cette manip (aller modifier la ressource VersionInfo d'un exe PB) est casse gueulle en passant par l'API windows car elle risque de supprimer des données utilisées par la VM de PB qui se trouvent à la fin de l'exe mais dont l'entête PE n'est pas au courant (un overlay). Mais ma lib gère cette manipulation.

Si ça vous intéresse, je pourrais mettre ça en ligne ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#15 26-05-2009 13:43:20

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Appli qui se met à jour toute seule

seki a écrit:

Si ça vous intéresse, je pourrais mettre ça en ligne ?

avec plaisir

d'ailleurs on pourrait déposer tes réalisations dans le module téléchargement du forum


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#16 13-07-2009 14:02:24

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Appli qui se met à jour toute seule

Bon, on ne maîtrise pas toujours les priorités, alors je n'ai pas eu le temps de finir le packaging mais ça va venir.
Je viens de faire une nouvelle version de ma lib, ainsi que de mon plugin pour NSIS.
Le pbni va suivre.

En attendant y a une nouvelle version de PbniRegex et un petit nouveau : PbniHash (je poste ça dans le forum des echanges des sources)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#17 15-09-2009 13:25:24

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: Appli qui se met à jour toute seule

buck a écrit:

Bonjour,

Oui, mais on peut le détourner de sa fonction originel pour déployer des applications standard Win32.

Il suffit de déclarer l'exe dans le package. Je n'ai pas testé cette une réponse que j'ai lors d'un séminaire avec Alex Pratt.

ca marche ca ?

comment declare l'exe et les pbds ?

merci des réponses.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#18 27-01-2010 10:49:28

sbouvetJD  
Chasseur d'y voir ?
Lieu: LYON
Date d'inscription: 29-03-2007
Messages: 185
Pépites: 147,483,921
Banque: 13,317,684,827,902,405
Site web

Re: Appli qui se met à jour toute seule

Bonjour,

Nous avons, nous aussi, une application qui vérifie un numéro de version et, le cas échéant, copie une liste de fichiers prédéfinie dans un .ini. Nous aimerions faire une copie différentielle (ne copier que les fichiers modifiés). Nous sommes en PB9.
Sans parler de comparer la date du fichier ou la taille, est-il possible (par l'appel d'une API Windows ou autre) d'effectuer une comparaison "bit à bit" ?

Hors ligne

 

#19 27-01-2010 13:30:05

General Protection Fault  
Membre Geek
Lieu: Sophia Antipolis
Date d'inscription: 18-08-2008
Messages: 47
Pépites: 204
Banque: 0

Re: Appli qui se met à jour toute seule

Salut,

Plutôt qu'une comparaison bit à bit, il est peut-être plus aisé (rapide ?) de calculer un checksum avec un algorithme de hashage tel que MD5, SHA1 ou SHA256. Il me semble que Windows (depuis NT4) possède de telles fonctions dans ses API de crypto.

Edit:

Tu pourras t'inspirer de ce qui se trouve ici.

Dernière modification par General Protection Fault (27-01-2010 13:32:31)

Hors ligne

 

#20 25-11-2011 12:31:42

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Appli qui se met à jour toute seule

seki a écrit:

Bon, on ne maîtrise pas toujours les priorités, alors je n'ai pas eu le temps de finir le packaging mais ça va venir.
Je viens de faire une nouvelle version de ma lib, ainsi que de mon plugin pour NSIS.

Hum, pour ceux qui cherchent dans les archives, ça a pris le temps mais c'est enfin en ligne, voir cet autre post.

Vieux motard que jamais


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22