1
0
This repository has been archived on 2025-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
Files
siadrive/SiaDrive_Packager.iss.in
Scott E. Graves 911df6d6e0 UI changes
2017-04-29 22:53:45 -05:00

123 lines
4.9 KiB
Plaintext
Raw Blame History

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "SiaDrive"
#define MyAppVersion "@SIADRIVE_VERSION@"
#define MyAppPublisher "SiaExtensions"
#define MyAppURL "https://github.com/SiaExtensions/SiaDrive"
#define MyAppExeName "siadrive.exe"
[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={{C783A865-35A2-4740-A075-48F61C126505}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=.\LICENSE
OutputBaseFilename=SiaDrive_{#MyAppVersion}_@CMAKE_BUILD_TYPE@_x64
Compression=lzma
SolidCompression=yes
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Components]
Name: "main"; Description: "SiaDrive Files"; Types: full compact custom; Flags: fixed
Name: "vc_runtime"; Description: "Visual C++ 2015 Redistributable"; Types: full custom
Name: "dokany"; Description: "Dokany v1.0.3"; Types: full custom
Name: "sia"; Description: "Sia v@SIA_VERSION@"; Types: full custom
[InstallDelete]
Type: filesandordirs; Name: "{app}\htdocs"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; Components: main
[Files]
Source: ".\dist\@CMAKE_BUILD_TYPE@\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: main
Source: ".\3rd_party\Dokan_x64.msi"; Destdir: "{tmp}"; Flags: deleteafterinstall overwritereadonly; Components: dokany
Source: ".\3rd_party\vc_redist.x64.exe"; Destdir: "{tmp}"; Flags: deleteafterinstall overwritereadonly; Components: vc_runtime
Source: ".\3rd_party\Sia\*"; Destdir: "{app}\sia"; Flags: recursesubdirs createallsubdirs overwritereadonly; Components: sia
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Components: main
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Components: main
[Run]
Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/install /passive /norestart"; Flags: 64bit waituntilterminated; Components: vc_runtime
Filename: "msiexec.exe"; Parameters: "/i {tmp}\Dokan_x64.msi /passive /norestart"; Flags: 64bit waituntilterminated; Components: dokany
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Components: main
[Code]
var
Page: TInputQueryWizardPage;
ApiPort, HostPort, RpcPort: String;
procedure InitializeWizard;
begin
ApiPort := '9980';
RpcPort := '9981';
HostPort := '9982';
RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\SiaExtensions\SiaDrive', 'ApiPort', ApiPort);
RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\SiaExtensions\SiaDrive', 'RpcPort', RpcPort);
RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\SiaExtensions\SiaDrive', 'HostPort', HostPort);
Page := CreateInputQueryPage(wpSelectTasks,
'Sia Settings', 'Server (siad) Connectivity',
'Change the API port, Host port and/or RPC port, then click Next. Only modify these if absolutely necessary.');
Page.Add('API Port:', False);
Page.Add('RPC Port:', False);
Page.Add('Host Port:', False);
Page.Values[0] := ApiPort;
Page.Values[1] := RpcPort;
Page.Values[2] := HostPort;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
var
I: Longint;
begin
if CurPageID = Page.ID then begin
ApiPort := Page.Values[0];
RpcPort := Page.Values[1];
HostPort := Page.Values[2];
I := StrToInt(ApiPort);
if (I < 1024) or (I > 49151) then begin
MsgBox('Please enter a valid API port (1024<32>49151)', mbError, MB_OK);
Result := False;
end else begin
I := StrToInt(RpcPort);
if (I < 1024) or (I > 49151) then begin
MsgBox('Please enter a valid RPC port (1024<32>49151)', mbError, MB_OK);
Result := False;
end else begin
I := StrToInt(HostPort);
if (I < 1024) or (I > 49151) then begin
MsgBox('Please enter a valid Host port (1024<32>49151)', mbError, MB_OK);
Result := False;
end else begin
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\SiaExtensions\SiaDrive', 'ApiPort', ApiPort);
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\SiaExtensions\SiaDrive', 'RpcPort', RpcPort);
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\SiaExtensions\SiaDrive', 'HostPort', HostPort);
Result := true;
end;
end;
end;
end else
Result := True;
end;