Files
edubox/agent/installer/SUIVI_INSTALLER.md
T
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

128 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/` :
```text
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
```powershell
cd setup-wizard
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
```
### Sortie
```text
setup-wizard\bin\Release\net8.0-windows\win-x64\publish\StudioE5-SetupWizard.exe
```
## Build du package agent (Inno Setup)
Structure attendue :
```text
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
- Releases Podman : <https://github.com/containers/podman/releases>
- Inno Setup : <https://jrsoftware.org/isdl.php>
- .NET 8 SDK : <https://dotnet.microsoft.com/download/dotnet/8.0>