Files
edubox/agent/installer/setup-wizard/SUIVI_INSTALLER.md
EduBox Dev fc61404271 feat: installation offline complete, HTTPS registry, 8Go WSL, v0.3.18
- Wizard: installation 100% offline (WSL bundle, Podman MSI, machine image, docker-compose)
- Wizard: suppression de wsl --install --no-distribution
- Wizard: .wslconfig avec 8Go RAM / 4 CPU
- Wizard: operations asynchrones pour eviter le freeze UI
- Wizard: detection automatique de podman.exe
- Wizard: version 0.1.1
- Agent: passage en v0.3.18
- Serveur: registry PrestaShop en HTTPS via gitea.alfrednobel.edudeploy.com
- Caddy: config gitea.alfrednobel.edudeploy.com
- Docs: mise a jour SUIVI_INSTALLER.md, README.md, seed.ts
2026-07-02 22:52:28 +00:00

5.5 KiB
Raw Permalink Blame History

Feuille de route — Installateur studioE5 Agent

Objectif

Fournir un installateur professionnel Windows pour studioE5 Agent, guidé pas à pas, qui gère les prérequis (WSL2 / Podman) et propose une désinstallation complète.

Architecture choisie

  • Wizard C# Windows Forms (.NET 8) : setup-wizard/
    • Détecte les prérequis.
    • Installe WSL2 si besoin (avec reprise après redémarrage via RunOnce).
    • Installe Podman depuis le MSI officiel.
    • Initialise et démarre la machine Podman.
    • Lance le package Inno Setup de studioE5 Agent.
    • Mode désinstallation via /uninstall.
  • Package agent (Inno Setup) : studioE5-agent.iss
    • Installe studioE5-agent.exe + binaires Tailscale.
    • Crée les raccourcis.
    • Gère la désinstallation.

État actuel

Réalisé

  • Wizard C# avec 7 étapes guidées.
  • Détection des prérequis : Windows, RAM, disque, WSL2, Podman.
  • Installation WSL2 en plusieurs étapes contrôlées avec suivi visuel :
    1. Activation des fonctionnalités Windows (Microsoft-Windows-Subsystem-Linux et VirtualMachinePlatform) avec gestion du code 3010 (redémarrage nécessaire).
    2. Installation du package WSL2 complet depuis le bundle Microsoft Store offline (Microsoft.WSL_*.msixbundle) via Add-AppxPackage.
    3. Mise à jour du noyau WSL2 depuis le MSI bundlé (wsl_update_x64.msi) ou, en dernier recours, via wsl --update.
    4. Définition de WSL2 comme version par défaut (wsl --set-default-version 2).
    5. L’étape wsl --install --no-distribution nest plus utilisée : linstallation est entièrement offline grâce au bundle.
    6. Conversion des distributions WSL1 existantes vers WSL2 (wsl --set-version <nom> 2) si nécessaire.
  • Reprise automatique après redémarrage grâce à RunOnce (y compris redémarrage post-installation WSL2).
  • Versioning indépendant du wizard (fichier setup-wizard/VERSION, affiché dans la fenêtre et la page daccueil).
  • Amélioration de linterface : fenêtre agrandie à 800×600, AutoScaleMode = Dpi, meilleur rendu sur petits écrans (11 pouces).
  • RunCommand capture désormais stdout + stderr pour des diagnostics et fallbacks plus fiables.
  • Détection des prérequis vérifie que WSL2 (et non WSL1) est installé via wsl --status.
  • Installation Podman via MSI bundlé.
  • Configuration Podman (machine init + machine start), avec initialisation offline possible depuis une image locale (podman-machine.*.wsl.tar.zst).
  • Lancement du package Inno Setup agent.
  • Mode désinstallation complet.
  • Script Inno Setup de base pour lagent.

🔄 En cours / À tester

  • Compilation et test du wizard sur Windows.
  • Packaging final (wizard + MSI Podman + setup agent) en un seul dossier distribuable.

À venir

  • Signature de lexécutable pour éviter les alertes SmartScreen.
  • Support macOS et Linux.
  • Installateur silencieux possible pour déploiement GPO.

Build du wizard

Prérequis

  • Windows 10/11
  • .NET 8 SDK
  • Inno Setup 6 (pour générer studioE5-agent-setup.exe)

Fichiers à placer

Dans setup-wizard/Resources/ :

podman-installer-windows-amd64.msi
studioE5-agent-setup.exe
Microsoft.WSL_2.7.10.0_x64_ARM64.msixbundle  # package WSL2 complet (offline)
podman-machine.x86_64.wsl.tar.zst            # image Podman machine pour WSL (offline)
docker-compose-windows-x86_64.exe            # Docker Compose standalone (offline)
wsl_update_x64.msi                           # optionnel, fallback noyau WSL2

Commande

cd setup-wizard
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true

Sortie

setup-wizard\bin\Release\net8.0-windows\win-x64\publish\StudioE5-SetupWizard.exe

Build du package agent (Inno Setup)

Structure attendue :

agent/
├── studioE5-agent.exe
├── tailscale-bin/
│   └── windows/
│       ├── tailscale.exe
│       ├── tailscaled.exe
│       └── wintun.dll
└── installer/
    └── studioE5-agent.iss

Ouvrir studioE5-agent.iss avec Inno Setup Compiler et compiler (Ctrl+F9).

Le fichier généré se trouve dans installer-output/.

Notes importantes

  • Le wizard doit être exécuté en administrateur.
  • Linstallation de WSL2 nécessite un redémarrage de lordinateur après lactivation des fonctionnalités Windows.
  • Linstallation de WSL2 est découpée en étapes et chaque étape est enregistrée pour permettre la reprise après redémarrage.
  • Podman nécessite WSL2 : le wizard vérifie donc que la version par défaut de WSL est 2.
  • Le MSI Podman officiel pour Windows est podman-installer-windows-amd64.msi.
  • Le bundle WSL2 offline est disponible sur https://github.com/microsoft/WSL/releases : Microsoft.WSL_2.7.10.0_x64_ARM64.msixbundle.
  • Limage Podman machine offline est disponible sur https://github.com/containers/podman-machine-os/releases : podman-machine.x86_64.wsl.tar.zst.
  • Docker Compose standalone est disponible sur https://github.com/docker/compose/releases : docker-compose-windows-x86_64.exe.
  • Le wizard crée automatiquement un fichier .wslconfig allouant 8 Go de RAM et 4 CPU à WSL2, ce qui est nécessaire pour des applications lourdes comme PrestaShop.
  • Pour la désinstallation, le MSI Podman doit être présent dans Resources/.

Liens utiles