1 ;This file will be executed next to the application bundle image
   2 ;I.e. current directory will contain folder INSTALLER_NAME with application files
   3 [Setup]
   4 AppId=PRODUCT_APP_IDENTIFIER
   5 AppName=INSTALLER_NAME
   6 AppVersion=APPLICATION_VERSION
   7 AppVerName=INSTALLER_NAME APPLICATION_VERSION
   8 AppPublisher=APPLICATION_VENDOR
   9 AppComments=APPLICATION_DESCRIPTION
  10 AppCopyright=APPLICATION_COPYRIGHT
  11 VersionInfoVersion=APPLICATION_VERSION
  12 VersionInfoDescription=APPLICATION_DESCRIPTION
  13 DefaultDirName=APPLICATION_INSTALL_ROOT\INSTALL_DIR
  14 DisableStartupPrompt=Yes
  15 DisableDirPage=DISABLE_DIR_PAGE
  16 DisableProgramGroupPage=Yes
  17 DisableReadyPage=Yes
  18 DisableFinishedPage=Yes
  19 DisableWelcomePage=Yes
  20 DefaultGroupName=APPLICATION_GROUP
  21 ;Optional License
  22 LicenseFile=APPLICATION_LICENSE_FILE
  23 ;WinXP or above
  24 MinVersion=0,5.1
  25 OutputBaseFilename=INSTALLER_FILE_NAME
  26 Compression=lzma
  27 SolidCompression=yes
  28 PrivilegesRequired=APPLICATION_INSTALL_PRIVILEGE
  29 SetupIconFile=INSTALLER_NAME\bin\LAUNCHER_NAME.ico
  30 UninstallDisplayIcon={app}\LAUNCHER_NAME.ico
  31 UninstallDisplayName=INSTALLER_NAME
  32 WizardImageStretch=No
  33 WizardSmallImageFile=INSTALLER_NAME-setup-icon.bmp
  34 ArchitecturesInstallIn64BitMode=ARCHITECTURE_BIT_MODE
  35 FILE_ASSOCIATIONS
  36 
  37 [Languages]
  38 Name: "english"; MessagesFile: "compiler:Default.isl"
  39 
  40 [Files]
  41 Source: "INSTALLER_NAME\bin\LAUNCHER_NAME.exe"; DestDir: "{app}"; Flags: ignoreversion
  42 Source: "INSTALLER_NAME\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
  43 
  44 [Icons]
  45 Name: "{group}\INSTALLER_NAME"; Filename: "{app}\bin\LAUNCHER_NAME.exe"; IconFilename: "{app}\bin\LAUNCHER_NAME.ico"; Check: APPLICATION_MENU_SHORTCUT()
  46 Name: "{commondesktop}\INSTALLER_NAME"; Filename: "{app}\bin\LAUNCHER_NAME.exe";  IconFilename: "{app}\bin\LAUNCHER_NAME.ico"; Check: APPLICATION_DESKTOP_SHORTCUT()
  47 ADD_LAUNCHERS
  48 
  49 [Run]
  50 Filename: "{app}\bin\RUN_FILENAME.exe"; Parameters: "-Xappcds:generatecache"; Check: APPLICATION_APP_CDS_INSTALL()
  51 Filename: "{app}\bin\RUN_FILENAME.exe"; Description: "{cm:LaunchProgram,INSTALLER_NAME}"; Flags: nowait postinstall skipifsilent; Check: APPLICATION_NOT_SERVICE()
  52 Filename: "{app}\bin\RUN_FILENAME.exe"; Parameters: "-install -svcName ""INSTALLER_NAME"" -svcDesc ""APPLICATION_DESCRIPTION"" -mainExe ""APPLICATION_LAUNCHER_FILENAME"" START_ON_INSTALL RUN_AT_STARTUP"; Check: APPLICATION_SERVICE()
  53 
  54 [UninstallRun]
  55 Filename: "{app}\bin\RUN_FILENAME.exe "; Parameters: "-uninstall -svcName INSTALLER_NAME STOP_ON_UNINSTALL"; Check: APPLICATION_SERVICE()
  56 
  57 [Code]
  58 function returnTrue(): Boolean;
  59 begin
  60   Result := True;
  61 end;
  62 
  63 function returnFalse(): Boolean;
  64 begin
  65   Result := False;
  66 end;
  67 
  68 function InitializeSetup(): Boolean;
  69 begin
  70 // Possible future improvements:
  71 //   if version less or same => just launch app
  72 //   if upgrade => check if same app is running and wait for it to exit
  73   Result := True;
  74 end;