fix: changelog embarqué manquant, badge hors-ligne trompeur, installeur WireGuard
- CHANGELOG.md n'était pas empaqueté par PyInstaller (datas=[]) et son chemin, calculé depuis __file__, ne survivait pas à l'extraction onefile : la page « À propos » restait vide une fois compilée. Le fichier est désormais embarqué (--add-data) et son chemin bascule sur sys._MEIPASS en mode frozen. - Le badge de latence se basait uniquement sur un ping ICMP vers l'endpoint : de nombreux serveurs/pare-feux le bloquent alors que le tunnel WireGuard fonctionne, d'où « hors ligne » permanent. Repli sur l'âge du dernier handshake réel quand l'ICMP échoue. - wgsecure.iss installe désormais WireGuard for Windows en silencieux (prérequis manquant jusqu'ici), au même titre que le VC++ Redistributable ; make installer-deps télécharge les deux binaires.
This commit is contained in:
+25
-5
@@ -1,6 +1,7 @@
|
||||
; ──────────────────────────────────────────────
|
||||
; WGSecure (WGS) — Script Inno Setup
|
||||
; Installeur Windows (bundle VC++ Redistributable)
|
||||
; Installeur Windows complet : WGSecure + WireGuard +
|
||||
; Visual C++ Redistributable, chacun installé en silence si absent.
|
||||
; ──────────────────────────────────────────────
|
||||
|
||||
#define MyAppName "WGSecure"
|
||||
@@ -29,9 +30,15 @@ Name: "french"; MessagesFile: "compiler:Languages\French.isl"
|
||||
|
||||
[Files]
|
||||
Source: "dist\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
||||
; VC++ Redistributable x64 — à télécharger avant compilation :
|
||||
; https://aka.ms/vs/17/release/vc_redist.x64.exe → installer\vc_redist.x64.exe
|
||||
Source: "installer\vc_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
|
||||
; VC++ Redistributable x64 — téléchargé automatiquement par `make installer-deps` :
|
||||
; https://aka.ms/vs/17/release/vc_redist.x64.exe → installer\VC_redist.x64.exe
|
||||
Source: "installer\VC_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
|
||||
; WireGuard pour Windows — prérequis à WGSecure (fournit wg.exe, le pilote
|
||||
; tunnel et le service WireGuardTunnel$ que wireguard.py pilote). Téléchargé
|
||||
; automatiquement par `make installer-deps` :
|
||||
; https://download.wireguard.com/windows-client/wireguard-installer.exe
|
||||
; → installer\wireguard-installer.exe
|
||||
Source: "installer\wireguard-installer.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||||
@@ -39,7 +46,12 @@ Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||||
|
||||
[Run]
|
||||
; Installation silencieuse du VC++ Redistributable si absent (corrige "Failed to load Python DLL: python312.dll")
|
||||
Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "Installation du composant Visual C++ Redistributable…"; Check: VCRedistNeedsInstall
|
||||
Filename: "{tmp}\VC_redist.x64.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "Installation du composant Visual C++ Redistributable…"; Check: VCRedistNeedsInstall
|
||||
; L'installeur officiel WireGuard s'exécute déjà sans assistant (juste une
|
||||
; fenêtre de progression) : notre propre installeur tourne en admin
|
||||
; (PrivilegesRequired=admin ci-dessus), donc pas d'UAC supplémentaire non plus.
|
||||
; `waituntilterminated` : l'app ne doit pas démarrer avant que wg.exe existe.
|
||||
Filename: "{tmp}\wireguard-installer.exe"; StatusMsg: "Installation de WireGuard…"; Check: WireGuardNeedsInstall; Flags: waituntilterminated
|
||||
Filename: "{app}\{#MyAppExeName}"; Description: "Lancer {#MyAppName}"; Flags: nowait postinstall skipifsilent
|
||||
|
||||
[Code]
|
||||
@@ -50,3 +62,11 @@ begin
|
||||
// Clé présente si VC++ 2015-2022 x64 (v14+) déjà installé
|
||||
Result := not RegQueryStringValue(HKLM64, 'SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\X64', 'Version', Version);
|
||||
end;
|
||||
|
||||
function WireGuardNeedsInstall: Boolean;
|
||||
begin
|
||||
// WireGuard s'installe toujours dans le Program Files 64 bits, quelle que
|
||||
// soit l'architecture de WGSecure : {pf} y pointe bien puisque
|
||||
// ArchitecturesInstallIn64BitMode=x64compatible ci-dessus.
|
||||
Result := not FileExists(ExpandConstant('{pf}\WireGuard\wireguard.exe'));
|
||||
end;
|
||||
|
||||
Reference in New Issue
Block a user