4bec49bcaf012840a13a029d73a2952a22356fbd
Settings crash on ⚙ click ------------------------- The InverseBoolConverter was declared with `xmlns:local` inline on the resource element. WPF's BAML compiler did parse it, but the resource lookup at dialog open time was unstable depending on which XAML reader processed it first. Move the namespace declaration to the ResourceDictionary root (xmlns:res) — standard pattern, no more crash. White strip on the left of the ContextMenu ------------------------------------------ WPF's default MenuItem template renders a column for the icon/check indicator that's painted in SystemColors.MenuBarBrush (light gray on default themes), creating a visible white strip on a dark menu. Fix by fully retemplating MenuItem with just a Border + ContentPresenter for the header, no icon column, no check indicator. Hover state uses #2C2C32 to match the rest of the dark theme. Separator is also styled to use Brush.Border. Auto-refresh on startup ----------------------- MainViewModel now triggers CheckForUpdatesAsync from its constructor via a fire-and-forget Task. A 500ms delay lets the UI render before the HTTP call, and the call is dispatched back to the UI thread for the VM state mutations. Failures (offline, server down) are logged but don't prevent the launcher from being usable on installed versions. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PS_Launcher
Launcher Windows pour l'application UE5 PROSERVE : gère plusieurs versions cohabitantes, téléchargement et installation de nouvelles versions depuis un serveur, validation de license, release notes.
Composants
src/— Solution C# / .NET 8 / WPF (Visual Studio 2022 + SDK .NET 8 requis)PSLauncher.App: UI WPF (style Epic Games Launcher)PSLauncher.Core: services (Manifest, Download, Install, Process…)PSLauncher.Models: DTOs partagés
server/— Code serveur PHP 8 (à déployer souswww/PS_Launcher/sur OVH mutualisé)
Démarrage rapide (dev)
dotnet build PS_Launcher.sln
dotnet run --project src/PSLauncher.App
Pour produire un binaire autonome distribuable (un seul .exe ~70 Mo) :
dotnet publish src/PSLauncher.App -c Release
# Sortie : src/PSLauncher.App/bin/Release/net8.0-windows/win-x64/publish/PSLauncher.exe
Configuration locale
Le launcher écrit sa config dans %LocalAppData%\PSLauncher\config.json au premier lancement.
Édite serverBaseUrl pour pointer vers ton serveur :
{
"serverBaseUrl": "https://ton-domaine.com/PS_Launcher/api",
"installRoot": "C:\\ASTERION\\GIT\\PS_Launcher\\ASTERION_VR"
}
État (roadmap)
- ✅ v0.1 — Scan + lancement de versions installées
- ✅ v0.2 — Manifest distant, download ZIP, install cohabitante, release notes Markdown
- ⏳ v0.3 — Reprise (HTTP Range), retry Polly, state.json
- ⏳ v0.4 — License (MySQL + Ed25519 + DPAPI)
- ⏳ v0.5 — Settings, suppression manuelle versions, toasts
- ⏳ v1.0 — Auto-update launcher, MSI installer
Voir le plan détaillé pour la roadmap complète.
Licence / interne
Repo interne ASTERION. Ne pas distribuer.
Description
Languages
C#
46%
HTML
29%
PHP
23.3%
CSS
0.6%
Batchfile
0.5%
Other
0.6%