Le fonctionnement du déploiement d'une application avec une mise à jour automatique "liveupdate" a été détaillé dans des billets précédents :


L'application déployée via ce mécanisme, basé exclusivement sur des échanges HTTP(S), se met à jour à son lancement. Pour cela, l'application contacte le serveur qui contient la "version de référence" de l'installation, via son nom qui a été mémorisé lors de l'installation. Dans le cas général, le serveur est contacté via son nom de domaine, ce qui garanti un accès aux mises à jour dans le temps. Cependant, si le domaine permettant de contacter le serveur doit changer, ou si l'accès au serveur a toujours été fait par une adresse IP à changer, le mécanisme de mise à jour automatique ne pourra plus trouver les mises à jour.

 


Dans ces cas exceptionnels, il faut nécessairement passer par une réinstallation de l'application à partir de l'installation de référence, à sa nouvelle adresse. C'est la solution recommandée pour que par la suite l'application poursuive ses mises à jour automatiques, sur le nouveau serveur.

 


Suivant le contexte de déploiement de l'application, notamment pour une application "grand public", il n'est pas envisageable de demander aux utilisateurs d'effectuer la réinstallation. Il est préférable dans ce cas d'inclure cette réinstallation, dans l'application elle-même. La méthodologie est la suivante :

  • déployer sur le serveur répondant au nouveau domaine, une installation de référence de l'application dans sa version la plus récente,
  • déployer une version spécifique de l'application sur l'ancien serveur, qui va permettre une réinstallation. Ce déploiement doit nécessairement se faire via l'ancien serveur, pour que toutes les applications déjà déployées récupèrent cette version.

 


La version "spéciale réinstallation" pourra utiliser le principe suivant dès son code de projet pour provoquer la réinstallation à partir du nouveau serveur :

 

 

sURL_Intall est une chaîne = "http://www.nouveaudomain.org/Appli/INSTALL/INSTALL.EXE"
sFichierInstall est une chaîne = fRepTemp+[fSep]+"INSTALL.EXE"
HTTPDestination(sFichierInstall)
HTTPRequête(sURL_Intall)
LanceAppli(sFichierInstall)
FinProgramme("Une réinstallation de votre App favorite est nécessaire, suivez l'assitant...")


L'exemple est bien sûr réduit à sa plus simple expression. Dans la pratique :

  • le "FinProgramme" peut avantageusement être remplacé par l'ouverture d'une fenêtre explicative.
  • la réinstallation lancée de la sorte peut être en mode silencieux, dans le cas d'un déploiement qui ne nécessite pas de déclenchement de l'UAC.
  • toutes les fonctions et écritures seront testées (erreur de droits d'accès, exception...) !

 

Ce même principe pourrait s'appliquer pour remplacer une mise à jour automatique via un réseau local, par une mise à jour par un serveur web.

 

====== Mise à jour 12/6/2023 ======

A partir de la version 27 un Store Privé est disponible pour le téléchargement des installations des applications WINDEV, comme cela était déjà proposé pour les applications mobiles iOS et Android.

 

Cette solution de Store Privé hébergé par le site WDBaaS est la plus souvent retenue maintenant :

Store Privé des applications WINDEV

 

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée