Bonjour,
je me tourne vers vous car je m'arrache les cheveux depuis plus d'une semaine sur une stratégie d'installation et mise à jour de mon application!
Voila le topo :
A la base j'avais une application WPF, déployé avec click once, j'installais la première fois à partir de l'url chez le client, puis les mises à jour s'installaient toutes seules silencieusement à chaque nouvelle publication.
C'est le système que je voudrais conserver : aucune intervention après la première installation, et ça marchait très bien.
Désormais, l'application est un service Windows, qui partage ses informations avec une application WPF via une dll, en utilisant le protocole WCF.
J'ai tout essayé pour créer un système de mise à jour auto des 3 applis (service, dll et vue), sans succès.
2-3 choses encore à savoir :
- après la première installation, je n'ai jamais besoin de réinstaller le service
- actuellement, à l'installation, le service et la vue sont dans des dossiers, sans lien entre eux, et les 2 ont leur propre dll! (qui est pourtant la même), et c'est assez ennuyeux :-/
- il arrivera régulièrement que le service tourne sans la vue.
Pour vous donner une idée de là ou j'en étais :
- le service demande régulièrement à la dll si une mise à jour est disponible
- la dll, déployée via ClickOnce avec la vue, va rechercher dans le ftp de déployement le numéro de version.
- si ce numéro de version est > à la version actuelle (enregistré dans les Settings de l'appli puisque c'est impossible de le savoir à partir de la dll), la dll force le démarrage de la vue si elle n'était pas encore ouverte (la dll ne peut pas télécharger et appliquer la nouvelle version).
- la vue télécharge la mise à jour, copie la dll téléchargé dans le dossier du service windows qui contient la dll à une version inférieure, redémarre.
- Note : ce système ne marche pas car le service bug après le redémarrage (je présume que c'est dû à la copie des fichiers)
Toute aide me sera très précieuse !
Merci d'avance.
Partager