mirror of https://github.com/Sonarr/Sonarr
106 lines
4.5 KiB
Plaintext
106 lines
4.5 KiB
Plaintext
; Script generated by the Inno Setup Script Wizard.
|
|
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
|
|
|
#define AppName "Sonarr"
|
|
#define AppPublisher "Team Sonarr"
|
|
#define AppURL "https://sonarr.tv/"
|
|
#define ForumsURL "https://forums.sonarr.tv/"
|
|
#define AppExeName "Sonarr.exe"
|
|
#define BuildNumber "3.0"
|
|
#define BuildNumber GetEnv('BUILD_NUMBER')
|
|
#define BranchName GetEnv('BRANCH')
|
|
|
|
[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={{56C1065D-3523-4025-B76D-6F73F67F7F71}
|
|
AppName={#AppName}
|
|
AppVersion=3.0
|
|
AppPublisher={#AppPublisher}
|
|
AppPublisherURL={#AppURL}
|
|
AppSupportURL={#ForumsURL}
|
|
AppUpdatesURL={#AppURL}
|
|
UsePreviousAppDir=no
|
|
DefaultDirName={commonappdata}\Sonarr\bin
|
|
DisableDirPage=yes
|
|
DefaultGroupName={#AppName}
|
|
DisableProgramGroupPage=yes
|
|
OutputBaseFilename=Sonarr.{#BranchName}.{#BuildNumber}.windows
|
|
SolidCompression=yes
|
|
AppCopyright=Creative Commons 3.0 License
|
|
AllowUNCPath=False
|
|
UninstallDisplayIcon={app}\Sonarr.exe
|
|
DisableReadyPage=True
|
|
CompressionThreads=2
|
|
Compression=lzma2/normal
|
|
AppContact={#ForumsURL}
|
|
VersionInfoVersion={#BuildNumber}
|
|
SetupLogging=yes
|
|
OutputDir=output
|
|
|
|
[Languages]
|
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
|
|
|
[Tasks]
|
|
Name: "desktopIcon"; Description: "{cm:CreateDesktopIcon}"
|
|
Name: "windowsService"; Description: "Install Windows Service (Starts when the computer starts as the LocalService user, you will need to change the user to access network shares)"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
|
|
Name: "startupShortcut"; Description: "Create shortcut in Startup folder (Starts when you log into Windows)"; GroupDescription: "Start automatically"; Flags: exclusive
|
|
Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
|
|
|
|
[Files]
|
|
Source: "..\..\..\_output_windows\Sonarr.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "..\..\..\_output_windows\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
|
|
|
[Icons]
|
|
Name: "{group}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"
|
|
Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"; Tasks: desktopIcon
|
|
Name: "{userstartup}\{#AppName}"; Filename: "{app}\Sonarr.exe"; WorkingDir: "{app}"; Tasks: startupShortcut
|
|
|
|
[InstallDelete]
|
|
Name: "{commonappdata}\NzbDrone\bin"; Type: filesandordirs
|
|
Name: "{app}"; Type: filesandordirs
|
|
|
|
[Run]
|
|
Filename: "{app}\Sonarr.Console.exe"; StatusMsg: "Removing previous Windows Service"; Parameters: "/u /exitimmediately"; Flags: runhidden waituntilterminated;
|
|
Filename: "{app}\Sonarr.Console.exe"; Description: "Enable Access from Other Devices"; StatusMsg: "Enabling Remote access"; Parameters: "/registerurl /exitimmediately"; Flags: postinstall runascurrentuser runhidden waituntilterminated; Tasks: startupShortcut none;
|
|
Filename: "{app}\Sonarr.Console.exe"; StatusMsg: "Installing Windows Service"; Parameters: "/i /exitimmediately"; Flags: runhidden waituntilterminated; Tasks: windowsService
|
|
Filename: "{app}\Sonarr.exe"; Description: "Open Sonarr Web UI"; Flags: postinstall skipifsilent nowait; Tasks: windowsService;
|
|
Filename: "{app}\Sonarr.exe"; Description: "Start Sonarr"; Flags: postinstall skipifsilent nowait; Tasks: startupShortcut none;
|
|
|
|
[UninstallRun]
|
|
Filename: "{app}\Sonarr.Console.exe"; Parameters: "/u"; Flags: runhidden waituntilterminated skipifdoesntexist
|
|
|
|
[Code]
|
|
function PrepareToInstall(var NeedsRestart: Boolean): String;
|
|
var
|
|
ResultCode: Integer;
|
|
begin
|
|
Exec('net', 'stop nzbdrone', '', 0, ewWaitUntilTerminated, ResultCode)
|
|
Exec('sc', 'delete nzbdrone', '', 0, ewWaitUntilTerminated, ResultCode)
|
|
end;
|
|
|
|
function Framework472IsNotInstalled(): Boolean;
|
|
var
|
|
bSuccess: Boolean;
|
|
regVersion: Cardinal;
|
|
begin
|
|
Result := True;
|
|
bSuccess := RegQueryDWordValue(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v4\Full', 'Release', regVersion);
|
|
if (True = bSuccess) and (regVersion >= 461808) then begin
|
|
Result := False;
|
|
end;
|
|
end;
|
|
|
|
function InitializeSetup(): Boolean;
|
|
begin
|
|
if Framework472IsNotInstalled() then begin
|
|
MsgBox('Sonarr requires Microsoft .NET Framework 4.7.2 or higher.'#13#13
|
|
'Please use Windows Update to install this version'#13
|
|
'or download it from https://dotnet.microsoft.com/download/dotnet-framework.', mbInformation, MB_OK);
|
|
result := false;
|
|
end else
|
|
result := true;
|
|
end;
|