feat(installer): add .lic license file initialization step during installation on Windows and Linux
CI Test Suite / Run Component Tests & Pipeline Verification (push) Successful in 1m31s
Release Binaries & Packages / Build & Release Standalone Binaries (Linux & Windows Cross-Compilation) (push) Successful in 7m16s

This commit is contained in:
2026-09-26 20:29:54 +02:00
parent fdfa8dfe7f
commit 5a0fdb4374
3 changed files with 121 additions and 1 deletions
+31
View File
@@ -51,6 +51,7 @@ Type: filesandordirs; Name: "{commonappdata}\LOGAR-Server"
[Code]
var
DataDirPage: TInputDirWizardPage;
LicFilePage: TInputFileWizardPage;
procedure InitializeWizard;
begin
@@ -65,6 +66,15 @@ begin
);
DataDirPage.Add('Data Directory:');
DataDirPage.Values[0] := ExpandConstant('{commonappdata}\LOGAR-Server');
LicFilePage := CreateInputFilePage(
DataDirPage.ID,
'Enterprise License Activation (Optional)',
'Do you have an activated .lic license file to import during installation?',
'Select your signed .lic file to activate the server immediately.'#13#10#13#10 +
'You can also leave this blank to initialize with a default evaluation license and activate later via the web dashboard.'
);
LicFilePage.Add('License File (.lic):', 'License Files (*.lic)|*.lic|All Files (*.*)|*.*', '.lic');
end;
function GetDataDir(Param: String): String;
@@ -74,11 +84,32 @@ begin
Result := ExpandConstant('{commonappdata}\LOGAR-Server');
end;
function GetLicFile(Param: String): String;
begin
Result := LicFilePage.Values[0];
end;
procedure CurStepChanged(CurStep: TSetupStep);
var
LicPath: String;
ResultCode: Integer;
begin
if CurStep = ssPostInstall then
begin
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\LOGAR\LOGAR-Server', 'DataDir', GetDataDir(''));
LicPath := GetLicFile('');
if (LicPath <> '') and FileExists(LicPath) then
begin
Exec(
ExpandConstant('{app}\Server.exe'),
'--config "' + GetDataDir('') + '\server_config.json" --import-lic "' + LicPath + '"',
ExpandConstant('{app}'),
SW_HIDE,
ewWaitUntilTerminated,
ResultCode
);
end;
end;
end;