Drop legacy PSLauncher.exe backward compat (not in prod yet)
Simplifies the rename done in ce3979d : PS_Launcher.exe is the only
name. Removes the dual-path lookup in LauncherSelfUpdater, the
duplicated taskkill blocks in the .bat scripts, the legacy patterns
in .gitignore, and the explanatory comments about the migration.
Cleaner code, single source of truth for the binary name.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -53,11 +53,6 @@ server/builds/*
|
|||||||
.claude/
|
.claude/
|
||||||
|
|
||||||
# Binaires copiés par le post-publish à la racine du repo
|
# 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.exe
|
||||||
/PS_Launcher.Updater.exe
|
/PS_Launcher.Updater.exe
|
||||||
/PS_Launcher-*.exe
|
/PS_Launcher-*.exe
|
||||||
@@ -68,7 +63,6 @@ server/builds/*
|
|||||||
|
|
||||||
# WebView2 user data folder créé à côté de l'exe au runtime (cache, cookies,
|
# WebView2 user data folder créé à côté de l'exe au runtime (cache, cookies,
|
||||||
# sync data Edge Chromium). Peut faire plusieurs Mo.
|
# sync data Edge Chromium). Peut faire plusieurs Mo.
|
||||||
/PSLauncher.exe.WebView2/
|
|
||||||
/PS_Launcher.exe.WebView2/
|
/PS_Launcher.exe.WebView2/
|
||||||
|
|
||||||
# Fichiers de lock Office (Word/PowerPoint) commençant par ~$
|
# Fichiers de lock Office (Word/PowerPoint) commençant par ~$
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ setlocal
|
|||||||
set "REPO=%~dp0"
|
set "REPO=%~dp0"
|
||||||
echo.
|
echo.
|
||||||
echo ==^> Termine les eventuelles instances qui verrouilleraient les .exe
|
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 PS_Launcher.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
|
taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1
|
||||||
echo.
|
echo.
|
||||||
|
|||||||
@@ -13,9 +13,6 @@ setlocal
|
|||||||
set "SCRIPT_DIR=%~dp0"
|
set "SCRIPT_DIR=%~dp0"
|
||||||
|
|
||||||
REM Termine les eventuelles instances en cours qui verrouilleraient les .exe
|
REM Termine les eventuelles instances en cours qui verrouilleraient les .exe
|
||||||
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.exe /T >nul 2>&1
|
||||||
taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1
|
taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,11 @@
|
|||||||
@echo off
|
@echo off
|
||||||
REM Build du launcher principal (PS_Launcher.exe).
|
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 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
|
setlocal
|
||||||
set "REPO=%~dp0"
|
set "REPO=%~dp0"
|
||||||
echo.
|
echo.
|
||||||
echo ==^> Termine les eventuelles instances de PSLauncher / PS_Launcher qui verrouilleraient les .exe
|
echo ==^> Termine les eventuelles instances de 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.exe /T >nul 2>&1
|
||||||
taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1
|
taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1
|
||||||
echo.
|
echo.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
@echo off
|
@echo off
|
||||||
REM Build de l'updater (PS_Launcher.Updater.exe — renomme depuis PSLauncher.Updater.exe en v0.14.0).
|
REM Build de l'updater (PS_Launcher.Updater.exe).
|
||||||
REM Sortie : C:\ASTERION\GIT\PS_Launcher\PS_Launcher.Updater.exe (~34 Mo single-file)
|
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.
|
REM L'updater accompagne PS_Launcher.exe — il doit etre dans le meme dossier.
|
||||||
|
|
||||||
@@ -7,8 +7,6 @@ setlocal
|
|||||||
set "REPO=%~dp0"
|
set "REPO=%~dp0"
|
||||||
echo.
|
echo.
|
||||||
echo ==^> Termine les eventuelles instances qui verrouilleraient les .exe
|
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 PS_Launcher.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
|
taskkill /F /IM PS_Launcher.Updater.exe /T >nul 2>&1
|
||||||
echo.
|
echo.
|
||||||
|
|||||||
@@ -14,10 +14,6 @@
|
|||||||
#define MyAppVersion "0.14.0"
|
#define MyAppVersion "0.14.0"
|
||||||
#define MyAppPublisher "ASTERION VR"
|
#define MyAppPublisher "ASTERION VR"
|
||||||
#define MyAppURL "https://asterionvr.com"
|
#define MyAppURL "https://asterionvr.com"
|
||||||
; 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 MyAppExeName "PS_Launcher.exe"
|
||||||
#define MyUpdaterExeName "PS_Launcher.Updater.exe"
|
#define MyUpdaterExeName "PS_Launcher.Updater.exe"
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ Layout::header('Launcher', 'launcher');
|
|||||||
<ol class="muted">
|
<ol class="muted">
|
||||||
<li>Remplis le formulaire <strong>Définir / mettre à jour</strong> ci-dessous (ex : <code>0.6.0</code>).</li>
|
<li>Remplis le formulaire <strong>Définir / mettre à jour</strong> ci-dessous (ex : <code>0.6.0</code>).</li>
|
||||||
<li>Sur ton poste : <code>dotnet publish src\PSLauncher.App -c Release</code> et <code>dotnet publish src\PSLauncher.Updater -c Release</code> (les exes sont copiés à la racine du repo).</li>
|
<li>Sur ton poste : <code>dotnet publish src\PSLauncher.App -c Release</code> et <code>dotnet publish src\PSLauncher.Updater -c Release</code> (les exes sont copiés à la racine du repo).</li>
|
||||||
<li>Renomme la copie : <code>PS_Launcher.exe → PS_Launcher-X.Y.Z.exe</code> (v0.14+ ; ancien nom <code>PSLauncher.exe</code> reste accepté côté serveur via le glob <code>*{ver}*.exe</code>).</li>
|
<li>Renomme la copie : <code>PS_Launcher.exe → PS_Launcher-X.Y.Z.exe</code>.</li>
|
||||||
<li>Upload via SFTP dans <code>www/PS_Launcher/builds/launcher/</code>.</li>
|
<li>Upload via SFTP dans <code>www/PS_Launcher/builds/launcher/</code>.</li>
|
||||||
<li>Clique <strong>🔁 Hasher le launcher + signer</strong>.</li>
|
<li>Clique <strong>🔁 Hasher le launcher + signer</strong>.</li>
|
||||||
<li>Les launchers déjà déployés détecteront la nouvelle version au prochain « Vérifier les MAJ ».</li>
|
<li>Les launchers déjà déployés détecteront la nouvelle version au prochain « Vérifier les MAJ ».</li>
|
||||||
|
|||||||
@@ -10,11 +10,6 @@
|
|||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<ApplicationIcon>Resources\favicon.ico</ApplicationIcon>
|
<ApplicationIcon>Resources\favicon.ico</ApplicationIcon>
|
||||||
<!-- AssemblyName définit le nom du .exe en sortie. Renommé en v0.14.0 :
|
|
||||||
PSLauncher.exe → PS_Launcher.exe pour s'aligner sur le nom du repo
|
|
||||||
et du produit. Les anciens installs (qui ont PSLauncher.exe) gardent
|
|
||||||
leur nom de fichier après auto-update : le self-updater écrase le
|
|
||||||
fichier au path courant sans le renommer. Le code reste rétro-compatible. -->
|
|
||||||
<AssemblyName>PS_Launcher</AssemblyName>
|
<AssemblyName>PS_Launcher</AssemblyName>
|
||||||
<Company>ASTERION VR</Company>
|
<Company>ASTERION VR</Company>
|
||||||
<Product>PROSERVE Launcher</Product>
|
<Product>PROSERVE Launcher</Product>
|
||||||
|
|||||||
@@ -44,11 +44,7 @@ public sealed class LauncherSelfUpdater : ILauncherSelfUpdater
|
|||||||
IProgress<DownloadProgress>? progress,
|
IProgress<DownloadProgress>? progress,
|
||||||
CancellationToken ct)
|
CancellationToken ct)
|
||||||
{
|
{
|
||||||
// 1. Localise le launcher en cours d'exécution. Le nom du fichier peut varier
|
// 1. Localise le PS_Launcher.exe en cours d'exécution
|
||||||
// selon l'install : PS_Launcher.exe (nouvelles installs >= v0.14.0) OU
|
|
||||||
// PSLauncher.exe (anciennes installs auto-updatées qui ont gardé leur nom
|
|
||||||
// de fichier). On prend le nom courant tel quel — l'updater écrasera ce
|
|
||||||
// fichier sans le renommer, donc le nom historique perdure sur ces machines.
|
|
||||||
var processModule = SysProcess.GetCurrentProcess().MainModule
|
var processModule = SysProcess.GetCurrentProcess().MainModule
|
||||||
?? throw new InvalidOperationException("Cannot locate current process module");
|
?? throw new InvalidOperationException("Cannot locate current process module");
|
||||||
var targetExe = processModule.FileName!;
|
var targetExe = processModule.FileName!;
|
||||||
@@ -68,27 +64,15 @@ public sealed class LauncherSelfUpdater : ILauncherSelfUpdater
|
|||||||
var downloadedPath = await _downloadManager.DownloadAsync(downloadJob, progress, ct).ConfigureAwait(false);
|
var downloadedPath = await _downloadManager.DownloadAsync(downloadJob, progress, ct).ConfigureAwait(false);
|
||||||
_logger.LogInformation("New launcher downloaded to {Path}", downloadedPath);
|
_logger.LogInformation("New launcher downloaded to {Path}", downloadedPath);
|
||||||
|
|
||||||
// 3. Localise l'updater à côté du target. Cherche d'abord le nouveau nom
|
// 3. Localise PS_Launcher.Updater.exe (à côté du target)
|
||||||
// (PS_Launcher.Updater.exe, depuis v0.14.0) puis fallback sur l'ancien
|
|
||||||
// (PSLauncher.Updater.exe) pour compat backward avec les installs faites
|
|
||||||
// avec un installer < v0.14.0.
|
|
||||||
var updaterPath = Path.Combine(installDir, "PS_Launcher.Updater.exe");
|
var updaterPath = Path.Combine(installDir, "PS_Launcher.Updater.exe");
|
||||||
if (!File.Exists(updaterPath))
|
if (!File.Exists(updaterPath))
|
||||||
{
|
|
||||||
var legacyUpdater = Path.Combine(installDir, "PSLauncher.Updater.exe");
|
|
||||||
if (File.Exists(legacyUpdater))
|
|
||||||
{
|
|
||||||
_logger.LogInformation("Using legacy updater path {Path} (pre-v0.14 install layout)", legacyUpdater);
|
|
||||||
updaterPath = legacyUpdater;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
throw new FileNotFoundException(
|
throw new FileNotFoundException(
|
||||||
"Updater (PS_Launcher.Updater.exe / PSLauncher.Updater.exe) introuvable à côté du launcher. " +
|
"PS_Launcher.Updater.exe est manquant à côté de PS_Launcher.exe. " +
|
||||||
"Réinstalle le launcher depuis l'installeur officiel.",
|
"Réinstalle le launcher depuis l'installeur officiel.",
|
||||||
updaterPath);
|
updaterPath);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// 4. Copie le .new dans le staging dir si downloaded est ailleurs
|
// 4. Copie le .new dans le staging dir si downloaded est ailleurs
|
||||||
var newPath = Path.Combine(stagingDir, $"PS_Launcher-{launcher.Version}.exe");
|
var newPath = Path.Combine(stagingDir, $"PS_Launcher-{launcher.Version}.exe");
|
||||||
|
|||||||
@@ -6,9 +6,6 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<!-- Renommé v0.14.0 : PSLauncher.Updater.exe → PS_Launcher.Updater.exe.
|
|
||||||
La compat backward est gérée côté LauncherSelfUpdater qui essaie d'abord
|
|
||||||
le nouveau nom puis fallback sur l'ancien. -->
|
|
||||||
<AssemblyName>PS_Launcher.Updater</AssemblyName>
|
<AssemblyName>PS_Launcher.Updater</AssemblyName>
|
||||||
<RootNamespace>PSLauncher.Updater</RootNamespace>
|
<RootNamespace>PSLauncher.Updater</RootNamespace>
|
||||||
<Version>0.14.0</Version>
|
<Version>0.14.0</Version>
|
||||||
|
|||||||
Reference in New Issue
Block a user