; Script generated by the Inno Script Studio Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppID "8C25A716-7E11-4AAD-9992-8B5D0C78AE06" #define MyAppName "TweetDuck" #define MyAppPublisher "chylex" #define MyAppURL "https://tweetduck.chylex.com" #define MyAppShortURL "https://td.chylex.com" #define MyAppExeName "TweetDuck.exe" #define MyAppArchitecture "x86" #define MyAppVersion GetFileVersion("..\windows\TweetDuck\bin\" + MyAppArchitecture + "\Release\TweetDuck.exe") #include ReadReg(HKLM, "Software\Mitrich Software\Inno Download Plugin", "InstallDir") + "\idp.iss" [Setup] AppId={{{#MyAppID}} AppName={#MyAppName} Portable AppVersion={#MyAppVersion} AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={sd}\{#MyAppName} DefaultGroupName={#MyAppName} OutputBaseFilename={#MyAppName}.Portable VersionInfoVersion={#MyAppVersion} SetupIconFile=.\Resources\icon.ico CloseApplicationsFilter=*.exe,*.dll,*.pak RestartApplications=False Uninstallable=no UsePreviousAppDir=no PrivilegesRequired=lowest Compression=lzma2/ultra LZMADictionarySize=32768 SolidCompression=yes InternalCompressLevel=normal MinVersion=0,6.1 [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Files] Source: "..\windows\TweetDuck\bin\{#MyAppArchitecture}\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: "..\windows\TweetDuck\bin\{#MyAppArchitecture}\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall shellexec skipifsilent [CustomMessages] AdditionalTasks=Additional components: [Code] var UpdatePath: String; { Prepare installation variables. } function InitializeSetup: Boolean; begin UpdatePath := ExpandConstant('{param:UPDATEPATH}') Result := True end; { Set the installation path if updating, and prepare download plugin if there are any files to download. } procedure InitializeWizard(); begin if (UpdatePath <> '') then begin WizardForm.DirEdit.Text := UpdatePath end; if (idpFilesCount <> 0) then begin idpDownloadAfter(wpReady) end; end; { Skip the install path selection page if running from an update installer. } function ShouldSkipPage(PageID: Integer): Boolean; begin Result := (PageID = wpSelectDir) and (UpdatePath <> '') end; { Create a 'makeportable' file for portable installs. } procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssPostInstall then begin while not SaveStringToFile(ExpandConstant('{app}\makeportable'), '', False) do begin if MsgBox('Could not create a ''makeportable'' file in the installation folder. If the file is not present, the installation will not be fully portable.', mbCriticalError, MB_RETRYCANCEL) <> IDRETRY then begin break end; end; end; end;