; Script Inno Setup pour PS_Launcher ; Compilation : ouvrir avec Inno Setup Compiler (https://jrsoftware.org/isdl.php) ; ou en ligne de commande : ; "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 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 "PS_Launcher" #define MyAppVersion "0.20.0" #define MyAppPublisher "ASTERION VR" #define MyAppURL "https://asterionvr.com" #define MyAppExeName "PS_Launcher.exe" #define MyUpdaterExeName "PS_Launcher.Updater.exe" [Setup] ; AppId est UNIQUE pour PSLauncher — ne pas changer entre deux versions sinon ; chaque release créera une nouvelle entrée dans Programmes et fonctionnalités. AppId={{8A4F3E1B-9D2C-4A6B-8F5E-3C7A1D9B4E2F} AppName={#MyAppName} AppVersion={#MyAppVersion} AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} ; Installation user-mode (pas d'admin requis) : le launcher pourra se mettre à jour ; tout seul via PS_Launcher.Updater.exe sans déclencher de UAC. DefaultDirName={localappdata}\Programs\{#MyAppPublisher}\{#MyAppShortName} DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes OutputDir=output OutputBaseFilename=PS_Launcher-Setup-{#MyAppVersion} SetupIconFile=..\src\PSLauncher.App\Resources\favicon.ico Compression=lzma2/ultra SolidCompression=yes WizardStyle=modern PrivilegesRequired=lowest PrivilegesRequiredOverridesAllowed=dialog UsedUserAreasWarning=no ArchitecturesAllowed=x64 ArchitecturesInstallIn64BitMode=x64 UninstallDisplayName={#MyAppName} UninstallDisplayIcon={app}\{#MyAppExeName} VersionInfoVersion={#MyAppVersion} VersionInfoCompany={#MyAppPublisher} VersionInfoProductName={#MyAppName} [Languages] Name: "french"; MessagesFile: "compiler:Languages\French.isl" Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}" [Files] Source: "..\src\PSLauncher.App\bin\Release\net8.0-windows10.0.17763.0\win-x64\publish\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: "..\src\PSLauncher.Updater\bin\Release\net8.0-windows\win-x64\publish\{#MyUpdaterExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: "..\docs\PS_Launcher-Guide-Utilisateur.pptx"; DestDir: "{app}\docs"; Flags: ignoreversion [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\Guide utilisateur"; Filename: "{app}\docs\PS_Launcher-Guide-Utilisateur.pptx"; IconFilename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: nowait postinstall skipifsilent [UninstallDelete] ; Ne touche PAS au cache utilisateur (%LocalAppData%\PSLauncher) ni aux versions installées ; (qui peuvent vivre dans n'importe quel installRoot configuré). On supprime uniquement les ; binaires installés et le dossier d'install s'il est vide après. Type: filesandordirs; Name: "{app}\*.bak" Type: dirifempty; Name: "{app}"