Mettre à jour une installation

Le zip produit par l'écran de build contient son propre outil de mise à jour. Sur la machine cible, il remplace l'application installée par la nouvelle version, en gardant les données, les certificats, les paramètres et les traductions modifiées par le client.

Ce que contient le zip

  • Le dossier de l'application, avec le paquet de contenu de la version.
  • À la racine : le dossier updater, les lanceurs MISE-A-JOUR.cmd (en français) et UPDATE.cmd (en anglais), leurs équivalents macOS .command, et un fichier LISEZ-MOI - READ ME.
  • Ni fichier de paramètres, ni certificat : ils restent ceux de la machine.

C'est l'outil de mise à jour du zip qui s'exécute, pas celui de la version installée : une correction de l'outil arrive avec la version qui l'apporte.

Sous Windows, pas à pas

  1. Double-cliquez sur MISE-A-JOUR.cmd directement dans le zip, depuis l'Explorateur. L'outil retrouve le zip, s'extrait dans un dossier temporaire et se lance.
  2. Il identifie l'installation à mettre à jour (par le registre des installations de la machine, sinon il vous demande s'il s'agit d'une première installation ou d'une mise à jour).
  3. Il vérifie le zip avant de toucher à quoi que ce soit : il refuse un zip sans marqueur de version, sans code ou sans dossier BWEB ; il signale une version plus ancienne ; il demande une confirmation explicite si le zip est celui d'un autre produit.
  4. Il vous demande d'arrêter l'application. Il ne la tue jamais : tant qu'elle tourne, il attend que vous la quittiez (Entrée pour revérifier, ou abandon). Rien n'a encore été modifié.
  5. Il propose une sauvegarde des données, puis demande confirmation.
  6. Il renomme l'ancien dossier en <nom> <ancienne version> <date heure> et installe la nouvelle version sous le nom d'origine : tâches planifiées, services et raccourcis restent valides. Si le déplacement échoue, l'ancien dossier reprend son nom.
  7. Il reprend de l'ancienne installation les certificats (cert.pem, key.pem, dhparams.pem) et les fichiers APP_PARAMETERS et PREPROD_PARAMETERS, écrit un fichier RETOUR-ARRIERE.txt, puis relance 4D.

Le fichier de données ne bouge pas : l'ancienne et la nouvelle version ouvrent le même dossier de données.

Au premier démarrage de la nouvelle version

  • Elle retrouve l'installation précédente et en reprend les paramètres : l'ancien fichier l'emporte sur les clés qu'il possède, le nouveau n'apporte que les clés absentes.
  • Elle fusionne les traductions : les libellés corrigés par le client sont gardés, les traductions nouvelles de la version sont ajoutées.
  • Les mises à jour de version s'exécutent, puis le contenu livré est appliqué. Un conflit sur une page ouvre l'écran d'arbitrage /bweb/reconcile (voir La réconciliation du contenu).

Revenir en arrière

Renommez les deux dossiers à l'inverse. Les données ne reviennent pas en arrière : seule la sauvegarde proposée pendant la mise à jour les protège. Le fichier RETOUR-ARRIERE.txt, dans l'installation, rappelle la marche à suivre.

Sous macOS

Double-cliquez sur le zip pour l'extraire, puis sur MISE-A-JOUR.command. Si macOS refuse de l'ouvrir, rendez-le exécutable (chmod +x) ou retirez la quarantaine (xattr -d -r com.apple.quarantine).

L'outil de mise à jour macOS n'a pas encore été validé : testez-le avant de l'utiliser sur un serveur en production.

Bon à savoir

  • La sauvegarde des données n'est proposée que si l'outil connaît le dossier de données ; une installation démarrée au moins une fois avec une version récente de BWEB le lui indique.
  • En client-serveur, c'est tout le dossier de l'application serveur qui est remplacé.

Voir aussi