fc61404271
- 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
5.5 KiB
5.5 KiB
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.
- Installe
É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 :
- Activation des fonctionnalités Windows (
Microsoft-Windows-Subsystem-LinuxetVirtualMachinePlatform) avec gestion du code 3010 (redémarrage nécessaire). - Installation du package WSL2 complet depuis le bundle Microsoft Store offline (
Microsoft.WSL_*.msixbundle) viaAdd-AppxPackage. - Mise à jour du noyau WSL2 depuis le MSI bundlé (
wsl_update_x64.msi) ou, en dernier recours, viawsl --update. - Définition de WSL2 comme version par défaut (
wsl --set-default-version 2). - L’étape
wsl --install --no-distributionn’est plus utilisée : l’installation est entièrement offline grâce au bundle. - Conversion des distributions WSL1 existantes vers WSL2 (
wsl --set-version <nom> 2) si nécessaire.
- Activation des fonctionnalités Windows (
- 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 d’accueil). - Amélioration de l’interface : fenêtre agrandie à 800×600,
AutoScaleMode = Dpi, meilleur rendu sur petits écrans (11 pouces). RunCommandcapture 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 l’agent.
🔄 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 l’exé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.
- L’installation de WSL2 nécessite un redémarrage de l’ordinateur après l’activation des fonctionnalités Windows.
- L’installation 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. - L’image 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
.wslconfigallouant 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