diff --git a/.gitignore b/.gitignore index bd1b747..1d5ce8f 100644 --- a/.gitignore +++ b/.gitignore @@ -53,10 +53,23 @@ server/builds/* .claude/ # Binaires copiés par le post-publish à la racine du repo +# (legacy : PSLauncher.exe — pre-v0.14 ; nouveau : PS_Launcher.exe — depuis v0.14) /PSLauncher.exe /PSLauncher.Updater.exe /PSLauncher-*.exe /PSLauncher*.bak +/PS_Launcher.exe +/PS_Launcher.Updater.exe +/PS_Launcher-*.exe +/PS_Launcher*.bak # Sortie de l'installeur Inno Setup /installer/output/ + +# WebView2 user data folder créé à côté de l'exe au runtime (cache, cookies, +# sync data Edge Chromium). Peut faire plusieurs Mo. +/PSLauncher.exe.WebView2/ +/PS_Launcher.exe.WebView2/ + +# Fichiers de lock Office (Word/PowerPoint) commençant par ~$ +~$* diff --git a/build-all.bat b/build-all.bat index 8f988fc..27259cf 100644 --- a/build-all.bat +++ b/build-all.bat @@ -6,8 +6,10 @@ setlocal set "REPO=%~dp0" echo. echo ==^> Termine les eventuelles instances qui verrouilleraient les .exe -taskkill /F /IM PSLauncher.exe /T >nul 2>&1 -taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +taskkill /F /IM PSLauncher.exe /T >nul 2>&1 +taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1 echo. echo ==^> dotnet publish PSLauncher.App (Release single-file) echo. @@ -22,8 +24,8 @@ if %ERRORLEVEL% NEQ 0 goto :fail echo. echo [OK] Les deux exes sont disponibles a la racine du repo : -echo %REPO%PSLauncher.exe -echo %REPO%PSLauncher.Updater.exe +echo %REPO%PS_Launcher.exe +echo %REPO%PS_Launcher.Updater.exe echo. pause endlocal & exit /b 0 diff --git a/build-installer.bat b/build-installer.bat index 84cd3bc..a79bc36 100644 --- a/build-installer.bat +++ b/build-installer.bat @@ -13,8 +13,11 @@ setlocal set "SCRIPT_DIR=%~dp0" REM Termine les eventuelles instances en cours qui verrouilleraient les .exe -taskkill /F /IM PSLauncher.exe /T >nul 2>&1 -taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +REM (les deux noms : legacy PSLauncher et nouveau PS_Launcher >= v0.14.0) +taskkill /F /IM PSLauncher.exe /T >nul 2>&1 +taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1 powershell -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_DIR%installer\build-installer.ps1" %* set "EXITCODE=%ERRORLEVEL%" diff --git a/build-launcher.bat b/build-launcher.bat index fb0c88d..e673b70 100644 --- a/build-launcher.bat +++ b/build-launcher.bat @@ -1,13 +1,17 @@ @echo off -REM Build du launcher principal (PSLauncher.exe). -REM Sortie : C:\ASTERION\GIT\PS_Launcher\PSLauncher.exe (~78 Mo single-file self-contained) +REM Build du launcher principal (PS_Launcher.exe). +REM Sortie : C:\ASTERION\GIT\PS_Launcher\PS_Launcher.exe (~78 Mo single-file self-contained) +REM Renommé v0.14.0 : avant c'etait PSLauncher.exe. On taskkill les deux noms +REM pour gerer les deux generations d'install (legacy + nouvelle). setlocal set "REPO=%~dp0" echo. -echo ==^> Termine les eventuelles instances de PSLauncher qui verrouilleraient les .exe -taskkill /F /IM PSLauncher.exe /T >nul 2>&1 -taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +echo ==^> Termine les eventuelles instances de PSLauncher / PS_Launcher qui verrouilleraient les .exe +taskkill /F /IM PSLauncher.exe /T >nul 2>&1 +taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1 echo. echo ==^> dotnet publish PSLauncher.App (Release single-file) echo. @@ -19,9 +23,9 @@ echo. if %EXITCODE% NEQ 0 ( echo [ECHEC] Build du launcher echoue avec le code %EXITCODE%. ) else ( - echo [OK] PSLauncher.exe disponible a la racine du repo : - echo %REPO%PSLauncher.exe + echo [OK] PS_Launcher.exe disponible a la racine du repo : + echo %REPO%PS_Launcher.exe ) echo. pause -endlocal & exit /b %EXITCODE% +endlocal ^& exit /b %EXITCODE% diff --git a/build-updater.bat b/build-updater.bat index 3b78336..bbd05b1 100644 --- a/build-updater.bat +++ b/build-updater.bat @@ -1,14 +1,16 @@ @echo off -REM Build de l'updater (PSLauncher.Updater.exe). -REM Sortie : C:\ASTERION\GIT\PS_Launcher\PSLauncher.Updater.exe (~34 Mo single-file) -REM L'updater accompagne PSLauncher.exe — il doit etre dans le meme dossier. +REM Build de l'updater (PS_Launcher.Updater.exe — renomme depuis PSLauncher.Updater.exe en v0.14.0). +REM Sortie : C:\ASTERION\GIT\PS_Launcher\PS_Launcher.Updater.exe (~34 Mo single-file) +REM L'updater accompagne PS_Launcher.exe — il doit etre dans le meme dossier. setlocal set "REPO=%~dp0" echo. echo ==^> Termine les eventuelles instances qui verrouilleraient les .exe -taskkill /F /IM PSLauncher.exe /T >nul 2>&1 -taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +taskkill /F /IM PSLauncher.exe /T >nul 2>&1 +taskkill /F /IM PSLauncher.Updater.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.exe /T >nul 2>&1 +taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1 echo. echo ==^> dotnet publish PSLauncher.Updater (Release single-file) echo. @@ -20,9 +22,9 @@ echo. if %EXITCODE% NEQ 0 ( echo [ECHEC] Build de l'updater echoue avec le code %EXITCODE%. ) else ( - echo [OK] PSLauncher.Updater.exe disponible a la racine du repo : - echo %REPO%PSLauncher.Updater.exe + echo [OK] PS_Launcher.Updater.exe disponible a la racine du repo : + echo %REPO%PS_Launcher.Updater.exe ) echo. pause -endlocal & exit /b %EXITCODE% +endlocal ^& exit /b %EXITCODE% diff --git a/installer/PSLauncher.iss b/installer/PSLauncher.iss index f07da43..94a4a17 100644 --- a/installer/PSLauncher.iss +++ b/installer/PSLauncher.iss @@ -4,18 +4,22 @@ ; "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" PSLauncher.iss ; ; Avant compile : -; 1. Faire `dotnet publish src/PSLauncher.App -c Release` (génère PSLauncher.exe ~77 Mo) -; 2. Faire `dotnet publish src/PSLauncher.Updater -c Release` (génère PSLauncher.Updater.exe ~10 Mo) +; 1. Faire `dotnet publish src/PSLauncher.App -c Release` (génère PS_Launcher.exe ~77 Mo) +; 2. Faire `dotnet publish src/PSLauncher.Updater -c Release` (génère PS_Launcher.Updater.exe ~10 Mo) ; ; Le script picore directement les binaires dans bin/Release/.../publish/. #define MyAppName "PROSERVE Launcher" -#define MyAppShortName "PSLauncher" -#define MyAppVersion "0.13.0" +#define MyAppShortName "PS_Launcher" +#define MyAppVersion "0.14.0" #define MyAppPublisher "ASTERION VR" #define MyAppURL "https://asterionvr.com" -#define MyAppExeName "PSLauncher.exe" -#define MyUpdaterExeName "PSLauncher.Updater.exe" +; Renommé en v0.14.0 (PSLauncher.exe → PS_Launcher.exe). Les nouvelles installs +; auront ce nom ; les anciennes installs auto-updatées garderont PSLauncher.exe +; sur disque (le self-updater écrase le fichier sans le renommer). Code OK pour +; les deux variantes. +#define MyAppExeName "PS_Launcher.exe" +#define MyUpdaterExeName "PS_Launcher.Updater.exe" [Setup] ; AppId est UNIQUE pour PSLauncher — ne pas changer entre deux versions sinon @@ -29,12 +33,12 @@ AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} ; Installation user-mode (pas d'admin requis) : le launcher pourra se mettre à jour -; tout seul via PSLauncher.Updater.exe sans déclencher de UAC. +; tout seul via PS_Launcher.Updater.exe sans déclencher de UAC. DefaultDirName={localappdata}\Programs\{#MyAppPublisher}\{#MyAppShortName} DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes OutputDir=output -OutputBaseFilename=PSLauncher-Setup-{#MyAppVersion} +OutputBaseFilename=PS_Launcher-Setup-{#MyAppVersion} SetupIconFile=..\src\PSLauncher.App\Resources\favicon.ico Compression=lzma2/ultra SolidCompression=yes diff --git a/server/admin/launcher.php b/server/admin/launcher.php index 8c9a234..35c6c92 100644 --- a/server/admin/launcher.php +++ b/server/admin/launcher.php @@ -53,14 +53,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { 'version' => $lver, 'minRequired' => $lmin !== '' ? $lmin : '0.5.0', 'download' => [ - 'url' => "{$base}/builds/launcher/PSLauncher-{$lver}.exe", + 'url' => "{$base}/builds/launcher/PS_Launcher-{$lver}.exe", 'sizeBytes' => 0, 'sha256' => 'REPLACE_AFTER_BUILD', ], 'releaseNotesUrl' => null, ]; saveManifest($manifestPath, $manifest); - $message = "Section launcher mise à jour (v{$lver}). Upload PSLauncher-{$lver}.exe dans builds/launcher/ puis clique « Hasher le launcher + signer »."; + $message = "Section launcher mise à jour (v{$lver}). Upload PS_Launcher-{$lver}.exe dans builds/launcher/ puis clique « Hasher le launcher + signer »."; } elseif ($action === 'remove_launcher') { unset($manifest['launcher']); @@ -130,7 +130,7 @@ Layout::header('Launcher', 'launcher');
0.6.0).dotnet publish src\PSLauncher.App -c Release et dotnet publish src\PSLauncher.Updater -c Release (les exes sont copiés à la racine du repo).PSLauncher.exe → PSLauncher-X.Y.Z.exe.PS_Launcher.exe → PS_Launcher-X.Y.Z.exe (v0.14+ ; ancien nom PSLauncher.exe reste accepté côté serveur via le glob *{ver}*.exe).www/PS_Launcher/builds/launcher/.