155 lines
11 KiB
Plaintext
155 lines
11 KiB
Plaintext
; Script initially generated by the Inno Setup Script Wizard.
|
|
; Documentation: http://www.jrsoftware.org/ishelp/
|
|
;
|
|
; This script is used by "Inno Setup" (http://www.jrsoftware.org/) to create a
|
|
; setup executable. When the "make install" process ends, double-click on this
|
|
; file to load it into Inno Setup, then execute it to create the installer. It
|
|
; expects to find all the dependency libs in the root destination folder (the
|
|
; one from the 'make install' process), and the usual 'lib' directory.
|
|
; Note that all *.dll files will be added, so be careful which DLLs are present
|
|
; in the folder before running this script.
|
|
;
|
|
; This script searches for and bundles all "rawtherapee*.exe" files, allowing
|
|
; you to bundle a "release" as well as a "debug" version at the same time.
|
|
; At least one "rawtherapee.exe" file is required.
|
|
;
|
|
; This script is configured to check that the operating system's bit depth is
|
|
; the same as that of the executable file.
|
|
;
|
|
; The IA-64 architecture is not supported.
|
|
|
|
#define MyAppName "RawTherapee"
|
|
#define MyAppVersion "${GIT_DESCRIBE}"
|
|
#define MyAppVersionNumeric "${GIT_NUMERIC_VERSION_BS}"
|
|
#define MyAppPublisher "rawtherapee.com"
|
|
#define MyAppURL "http://www.rawtherapee.com/"
|
|
#define MyAppExeName "rawtherapee.exe"
|
|
#define MyAppCliExeName "rawtherapee-cli.exe"
|
|
#define MyBuildBasePath "${CMAKE_INSTALL_PREFIX}"
|
|
#define MySourceBasePath "${PROJECT_SOURCE_DIR}"
|
|
#define MyBitDepth "${BUILD_BIT_DEPTH}"
|
|
#define MyTargetArchitecture "${ARCHITECTURE_ALLOWED}"
|
|
#define MyInstallMode "${INSTALL_MODE}"
|
|
#define MySystemName "${SYSTEM_NAME}"
|
|
|
|
[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={#MyAppName}{#MyAppVersion}
|
|
AppName={#MyAppName}
|
|
AppVersion={#MyAppVersion}
|
|
;VersionInfoVersion={#MyAppVersionNumeric}
|
|
AppPublisher={#MyAppPublisher}
|
|
AppPublisherURL={#MyAppURL}
|
|
AppSupportURL={#MyAppURL}
|
|
AppUpdatesURL={#MyAppURL}
|
|
DefaultDirName={pf}\{#MyAppName}\{#MyAppVersion}
|
|
DefaultGroupName={#MyAppName}
|
|
AllowNoIcons=yes
|
|
LicenseFile={#MyBuildBasePath}\LICENSE.txt
|
|
OutputDir={#MyBuildBasePath}\..\
|
|
OutputBaseFilename={#MyAppName}_{#MyAppVersion}_{#MySystemName}_{#MyBitDepth}
|
|
SetupIconFile={#MySourceBasePath}\rtdata\images\non-themed\rawtherapee.ico
|
|
WizardImageFile={#MySourceBasePath}\tools\win\InnoSetup\installerStrip.bmp
|
|
WizardImageBackColor=$2A2A2A
|
|
Compression=lzma
|
|
SolidCompression=yes
|
|
ArchitecturesAllowed={#MyTargetArchitecture}
|
|
ArchitecturesInstallIn64BitMode={#MyInstallMode}
|
|
PrivilegesRequired=none
|
|
|
|
[Languages]
|
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
|
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
|
|
Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
|
|
Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl"
|
|
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
|
|
Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
|
|
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
|
|
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
|
|
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
|
|
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
|
|
Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
|
|
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
|
|
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
|
|
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
|
|
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
|
|
Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
|
|
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
|
|
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
|
|
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
|
|
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
|
|
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
|
|
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
|
|
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
|
|
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
|
|
|
|
[Tasks]
|
|
Name: "userinstall"; Description: "Only me (Single User Install)"; GroupDescription: "Install RawTherapee for:"; Flags: exclusive unchecked
|
|
Name: "commoninstall"; Description: "Anyone who uses this computer (Multi-User Install)"; GroupDescription: "Install RawTherapee for:"; Flags: exclusive; Check: IsElevatedUser
|
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
;Name: "desktopicon\common"; Description: "For all users"; GroupDescription: "Additional icons:"; Flags: exclusive
|
|
;Name: "desktopicon\user"; Description: "For the current user only"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked
|
|
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
|
|
Name: regBrowseFolder; Description: "Add ""Browse with RawTherapee"" option to context menu when right-clicking on a folder."; GroupDescription: File extensions:
|
|
Name: regOpenFile; Description: "Add ""Open with RawTherapee"" option to context menu when right-clicking on a file."; GroupDescription: File extensions:
|
|
|
|
[Files]
|
|
Source: "{#MyBuildBasePath}\rawtherapee*.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\camconst.json"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\dcpprofiles\*"; DestDir: "{app}\dcpprofiles\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
;Source: "{#MyBuildBasePath}\etc\*"; DestDir: "{app}\etc\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\iccprofiles\*"; DestDir: "{app}\iccprofiles\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\images\*"; DestDir: "{app}\images\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\languages\*"; DestDir: "{app}\languages\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\licenses\*"; DestDir: "{app}\licenses\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\lib\*"; DestDir: "{app}\lib\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\share\*"; DestDir: "{app}\share\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\profiles\*"; DestDir: "{app}\profiles\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\sounds\*"; DestDir: "{app}\sounds\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\themes\*"; DestDir: "{app}\themes\"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "{#MyBuildBasePath}\AboutThisBuild.txt"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\AUTHORS.txt"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\RELEASE_NOTES.txt"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\options"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\*.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\gspawn-win{#MyBitDepth}-helper.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\gspawn-win{#MyBitDepth}-helper-console.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#MyBuildBasePath}\gdb.exe"; DestDir: "{app}"; Flags: skipifsourcedoesntexist ignoreversion
|
|
Source: "{#MyBuildBasePath}\fonts\DroidSansMonoSlashed.ttf"; DestDir: "{fonts}"; FontInstall: "Droid Sans Mono Slashed"; Flags: onlyifdoesntexist uninsneveruninstall
|
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
|
|
|
[Icons]
|
|
Name: "{group}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\{#MyAppExeName}"
|
|
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
|
|
Name: "{group}\{cm:UninstallProgram,{#MyAppName} {#MyAppVersion}}"; Filename: "{uninstallexe}"
|
|
Name: "{commondesktop}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon commoninstall
|
|
Name: "{userdesktop}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon userinstall
|
|
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
|
|
|
|
[Run]
|
|
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
|
|
|
|
[Registry]
|
|
Root: HKCU; Subkey: "SOFTWARE\Classes\Directory\shell\Browse with RawTherapee"; ValueType: string; ValueData: "Browse with RawTherapee"; Flags: uninsdeletekey; Tasks: regBrowseFolder and userinstall
|
|
Root: HKCU; Subkey: "SOFTWARE\Classes\Directory\shell\Browse with RawTherapee\command"; ValueType: string; ValueData: "{app}\{#MyAppExeName} -w ""%1"""; Flags: uninsdeletekey; Tasks: regBrowseFolder and userinstall
|
|
Root: HKCU; Subkey: "SOFTWARE\Classes\*\shell\Open with RawTherapee"; ValueType: string; ValueData: "Open with RawTherapee"; Flags: uninsdeletekey; Tasks: regOpenFile and userinstall
|
|
Root: HKCU; Subkey: "SOFTWARE\Classes\*\shell\Open with RawTherapee\command"; ValueType: string; ValueData: "{app}\{#MyAppExeName} -R ""%1"""; Flags: uninsdeletekey; Tasks: regOpenFile and userinstall
|
|
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\{#MyAppExeName}"; ValueType: string; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletekey; Tasks: userinstall
|
|
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\{#MyAppCliExeName}"; ValueType: string; ValueData: "{app}\{#MyAppCliExeName}"; Flags: uninsdeletekey; Tasks: userinstall
|
|
|
|
Root: HKLM; Subkey: "SOFTWARE\Classes\Directory\shell\Browse with RawTherapee"; ValueType: string; ValueData: "Browse with RawTherapee"; Flags: uninsdeletekey; Tasks: regBrowseFolder and commoninstall
|
|
Root: HKLM; Subkey: "SOFTWARE\Classes\Directory\shell\Browse with RawTherapee\command"; ValueType: string; ValueData: "{app}\{#MyAppExeName} -w ""%1"""; Flags: uninsdeletekey; Tasks: regBrowseFolder and commoninstall
|
|
Root: HKLM; Subkey: "SOFTWARE\Classes\*\shell\Open with RawTherapee"; ValueType: string; ValueData: "Open with RawTherapee"; Flags: uninsdeletekey; Tasks: regOpenFile and commoninstall
|
|
Root: HKLM; Subkey: "SOFTWARE\Classes\*\shell\Open with RawTherapee\command"; ValueType: string; ValueData: "{app}\{#MyAppExeName} -R ""%1"""; Flags: uninsdeletekey; Tasks: regOpenFile and commoninstall
|
|
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\{#MyAppExeName}"; ValueType: string; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletekey; Tasks: commoninstall
|
|
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\{#MyAppCliExeName}"; ValueType: string; ValueData: "{app}\{#MyAppCliExeName}"; Flags: uninsdeletekey; Tasks: commoninstall
|
|
|
|
[Code]
|
|
function IsElevatedUser(): Boolean;
|
|
begin
|
|
Result := IsAdminLoggedOn or IsPowerUserLoggedOn;
|
|
end;
|
|
|