#define MyAppName "Bananen" #define MyAppVersion "0.1.7-betas" #define MyAppPublisher "Strawmelonjuice Mar" #define MyAppURL "https://strawmelonjuice.github.io/bananen/" #define MyAppExeName "bananen.exe" [Setup] ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{88EE4073-3CEE-44B4-B48F-E4B0B3F9B474} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName=C:\strawmelonjuice-bananen DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes LicenseFile=.\LICENCE.txt ; Remove the following line to run in administrative install mode (install for all users.) ;PrivilegesRequired=lowest PrivilegesRequiredOverridesAllowed= OutputBaseFilename=bananen_{#MyAppVersion}_x86_64-windows.exe OutputDir=./target/winstaller Compression=lzma SolidCompression=yes WizardStyle=modern ChangesEnvironment=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Files] Source: ".\target\release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: ".\target\release\.cargo-lock"; DestDir: "{app}"; Flags: ignoreversion Source: ".\target\release\bananen.d"; DestDir: "{app}"; Flags: ignoreversion Source: ".\target\release\bananen.exe"; DestDir: "{app}"; Flags: ignoreversion Source: ".\target\release\bananen.pdb"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" [Run] ; Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent [Registry] Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; \ ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}"; \ Check: NeedsAddPath('{app}') [Code] function NeedsAddPath(Param: string): boolean; var OrigPath: string; begin if not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', OrigPath) then begin Result := True; exit; end; { look for the path with leading and trailing semicolon } { Pos() returns 0 if not found } Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0; end;