2013-11-03 23:53:49 +13:00
#define MyAppName "ShareX"
#define MyAppFile "ShareX.exe"
2014-11-22 02:34:50 +13:00
#define MyAppParentDir "..\ShareX\bin\Release"
2014-11-14 11:19:56 +13:00
#define MyAppPath MyAppParentDir + "\ShareX.exe"
2014-05-24 17:40:26 +12:00
#dim Version[4]
#expr ParseVersion(MyAppPath, Version[0], Version[1], Version[2], Version[3])
#define MyAppVersion Str(Version[0]) + "." + Str(Version[1]) + "." + Str(Version[2])
2013-11-03 23:53:49 +13:00
#define MyAppPublisher "ShareX Developers"
2014-09-14 01:50:44 +12:00
#define MyAppId "82E6AC09-0FEF-4390-AD9F-0DD3F5561EFC"
2013-11-03 23:53:49 +13:00
[Setup]
2015-07-07 17:30:50 +12:00
AppCopyright=Copyright (C) 2007-2015 {#MyAppPublisher}
2013-11-03 23:53:49 +13:00
AppId={#MyAppId}
2014-09-14 01:50:44 +12:00
AppMutex={#MyAppId}
2013-11-03 23:53:49 +13:00
AppName={#MyAppName}
AppPublisher={#MyAppPublisher}
2015-07-06 20:08:42 +12:00
AppPublisherURL=https://getsharex.com
2014-05-24 17:40:26 +12:00
AppSupportURL=https://github.com/ShareX/ShareX/issues
AppUpdatesURL=https://github.com/ShareX/ShareX/releases
2013-11-03 23:53:49 +13:00
AppVerName={#MyAppName} {#MyAppVersion}
AppVersion={#MyAppVersion}
ArchitecturesAllowed=x86 x64 ia64
ArchitecturesInstallIn64BitMode=x64 ia64
2015-06-21 21:17:02 +12:00
Compression=lzma2/ultra64
2015-07-06 20:08:42 +12:00
CreateUninstallRegKey=not IsTaskSelected('PortableMode')
2013-11-03 23:53:49 +13:00
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DirExistsWarning=no
2015-07-06 20:08:42 +12:00
DisableProgramGroupPage=yes
2014-05-27 19:04:39 +12:00
LicenseFile=..\LICENSE.txt
2013-11-03 23:53:49 +13:00
MinVersion=0,5.01.2600
OutputBaseFilename={#MyAppName}-{#MyAppVersion}-setup
OutputDir=Output\
PrivilegesRequired=none
2015-07-06 20:08:42 +12:00
ShowLanguageDialog=no
2015-06-21 21:17:02 +12:00
SolidCompression=yes
2015-07-06 20:08:42 +12:00
Uninstallable=not IsTaskSelected('PortableMode')
2013-11-03 23:53:49 +13:00
UninstallDisplayIcon={app}\{#MyAppFile}
2015-07-06 20:08:42 +12:00
UninstallDisplayName={#MyAppName}
2013-11-03 23:53:49 +13:00
VersionInfoCompany={#MyAppPublisher}
VersionInfoTextVersion={#MyAppVersion}
VersionInfoVersion={#MyAppVersion}
2014-10-13 11:53:44 +13:00
WizardImageBackColor=clWhite
2015-07-07 17:30:50 +12:00
WizardImageFile=WizardImageFile.bmp
2015-06-21 21:17:02 +12:00
WizardImageStretch=no
2015-07-07 17:30:50 +12:00
WizardSmallImageFile=WizardSmallImageFile.bmp
2013-11-03 23:53:49 +13:00
[Languages]
2014-05-27 19:04:39 +12:00
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
2013-11-03 23:53:49 +13:00
[Tasks]
2015-07-06 20:08:42 +12:00
N ame: "PortableMode"; Description: "Portable mode"; Flags: unchecked
2013-11-03 23:53:49 +13:00
Name: "CreateDesktopIcon"; Description: "Create a desktop shortcut"; GroupDescription: "Additional shortcuts:"
2014-07-07 12:50:05 +12:00
Name: "CreateSendToIcon"; Description: "Create a send to shortcut"; GroupDescription: "Additional shortcuts:"
2015-02-22 05:59:27 +13:00
Name: "CreateQuickLaunchIcon"; Description: "Create a quick launch shortcut"; GroupDescription: "Additional shortcuts:"; OnlyBelowVersion: 0,6.1
2014-07-07 12:50:05 +12:00
Name: "CreateStartupIcon"; Description: "Launch {#MyAppName} automatically at Windows startup"; GroupDescription: "Other tasks:"
2013-11-03 23:53:49 +13:00
[Files]
2015-07-06 20:08:42 +12:00
Source: "PersonalPath.cfg"; DestDir: {app}; Tasks: PortableMode
2014-11-14 11:19:56 +13:00
Source: "{#MyAppParentDir}\ShareX.exe"; DestDir: {app}; Flags: ignoreversion
Source: "{#MyAppParentDir}\ShareX.exe.config"; DestDir: {app}; Flags: ignoreversion
Source: "{#MyAppParentDir}\*.dll"; DestDir: {app}; Flags: ignoreversion
Source: "{#MyAppParentDir}\*.css"; DestDir: {app}; Flags: ignoreversion
Source: "{#MyAppParentDir}\*.txt"; DestDir: {app}; Flags: ignoreversion
2015-07-04 13:33:13 +12:00
Source: "Output\Recorder-devices-setup.exe"; DestDir: {app}; Flags: ignoreversion
2014-10-05 01:55:18 +13:00
2014-11-14 11:19:56 +13:00
Source: "{#MyAppParentDir}\tr\*.resources.dll"; DestDir: {app}\Languages\tr; Flags: ignoreversion
2015-01-05 05:53:04 +13:00
Source: "{#MyAppParentDir}\de\*.resources.dll"; DestDir: {app}\Languages\de; Flags: ignoreversion
Source: "{#MyAppParentDir}\fr\*.resources.dll"; DestDir: {app}\Languages\fr; Flags: ignoreversion
2015-01-16 03:56:11 +13:00
Source: "{#MyAppParentDir}\zh-CN\*.resources.dll"; DestDir: {app}\Languages\zh-CN; Flags: ignoreversion
2015-01-18 10:03:44 +13:00
Source: "{#MyAppParentDir}\hu\*.resources.dll"; DestDir: {app}\Languages\hu; Flags: ignoreversion
2015-04-12 13:12:37 +12:00
Source: "{#MyAppParentDir}\ko-KR\*.resources.dll"; DestDir: {app}\Languages\ko-KR; Flags: ignoreversion
Source: "{#MyAppParentDir}\es\*.resources.dll"; DestDir: {app}\Languages\es; Flags: ignoreversion
2015-05-04 04:32:49 +12:00
Source: "{#MyAppParentDir}\nl-NL\*.resources.dll"; DestDir: {app}\Languages\nl-NL; Flags: ignoreversion
2014-10-05 01:55:18 +13:00
2013-11-03 23:53:49 +13:00
[Icons]
2015-07-06 20:08:42 +12:00
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppFile}"; WorkingDir: "{app}"; Tasks: not PortableMode
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; WorkingDir: "{app}"; Tasks: not PortableMode
Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppFile}"; WorkingDir: "{app}"; Tasks: CreateDesktopIcon and not PortableMode; Check: not DesktopIconExists
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppFile}"; WorkingDir: "{app}"; Tasks: CreateQuickLaunchIcon and not PortableMode
Name: "{sendto}\{#MyAppName}"; Filename: "{app}\{#MyAppFile}"; WorkingDir: "{app}"; Tasks: CreateSendToIcon and not PortableMode
Name: "{userstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppFile}"; WorkingDir: "{app}"; Parameters: "-silent"; Tasks: CreateStartupIcon and not PortableMode
2013-11-03 23:53:49 +13:00
[Run]
Filename: "{app}\{#MyAppFile}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: nowait postinstall
2015-06-22 20:28:44 +12:00
[UninstallRun]
Filename: regsvr32; WorkingDir: {app}; Parameters: "/s /u screen-capture-recorder.dll"; Check: not IsWin64
Filename: regsvr32; WorkingDir: {app}; Parameters: "/s /u screen-capture-recorder-x64.dll"; Check: IsWin64
Filename: regsvr32; WorkingDir: {app}; Parameters: "/s /u audio_sniffer.dll"; Check: not IsWin64
Filename: regsvr32; WorkingDir: {app}; Parameters: "/s /u audio_sniffer-x64.dll"; Check: IsWin64
2013-11-03 23:53:49 +13:00
[Registry]
2015-07-06 20:08:42 +12:00
;Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueName: "{#MyAppName}"; Flags: uninsdeletevalue; Tasks: not PortableMode
Root: "HKCU"; Subkey: "Software\Classes\*\shell\{#MyAppName}"; Flags: dontcreatekey uninsdeletekey; Tasks: not PortableMode
Root: "HKCU"; Subkey: "Software\Classes\Directory\shell\{#MyAppName}"; Flags: dontcreatekey uninsdeletekey; Tasks: not PortableMode
Root: "HKCU"; Subkey: "Software\Classes\Folder\shell\{#MyAppName}"; Flags: dontcreatekey uninsdeletekey; Tasks: not PortableMode
2013-11-03 23:53:49 +13:00
2015-06-22 18:56:18 +12:00
[Code]
2014-05-27 19:04:39 +12:00
#include "Scripts\products.iss"
#include "Scripts\products\stringversion.iss"
#include "Scripts\products\winversion.iss"
#include "Scripts\products\fileversion.iss"
#include "Scripts\products\dotnetfxversion.iss"
#include "Scripts\products\msi31.iss"
#include "Scripts\products\dotnetfx40full.iss"
2014-06-24 13:05:23 +12:00
procedure InitializeWizard;
begin
WizardForm.LicenseAcceptedRadio.Checked := true;
end;
2014-05-27 19:04:39 +12:00
function InitializeSetup(): Boolean;
begin
2014-11-14 11:19:56 +13:00
initwinversion();
2014-05-27 19:04:39 +12:00
msi31('3.1');
dotnetfx40full();
2014-11-14 11:19:56 +13:00
Result := true;
2014-05-27 19:04:39 +12:00
end;
2013-11-03 23:53:49 +13:00
function DesktopIconExists(): Boolean;
begin
Result := FileExists(ExpandConstant('{userdesktop}\{#MyAppName}.lnk'));
end;