Initial commit: IT Nexus Web-App
This commit is contained in:
103
agent/setup.iss
Normal file
103
agent/setup.iss
Normal file
@@ -0,0 +1,103 @@
|
||||
#define MyAppName "IT Nexus Agent"
|
||||
#define MyAppVersion "1.2.4"
|
||||
#define MyAppPublisher "Cereda Systems GmbH"
|
||||
#define MyAppURL "https://it-nexus.cereda-systems.de"
|
||||
#define MyAppExeName "it-nexus-agent.ps1"
|
||||
#define InstallDir "{commonappdata}\IT Nexus Agent"
|
||||
|
||||
[Setup]
|
||||
AppId={{B3F7A2C1-4E8D-4F2A-9B1C-7D3E5F6A8B2C}
|
||||
AppName={#MyAppName}
|
||||
AppVersion={#MyAppVersion}
|
||||
AppPublisher={#MyAppPublisher}
|
||||
AppPublisherURL={#MyAppURL}
|
||||
DefaultDirName={#InstallDir}
|
||||
DisableDirPage=yes
|
||||
DefaultGroupName={#MyAppName}
|
||||
DisableProgramGroupPage=yes
|
||||
OutputDir=..\dist
|
||||
OutputBaseFilename=IT-Nexus-Agent-Setup-v{#MyAppVersion}
|
||||
SetupIconFile=
|
||||
Compression=lzma2/ultra64
|
||||
SolidCompression=yes
|
||||
WizardStyle=modern
|
||||
WizardSizePercent=120
|
||||
PrivilegesRequired=admin
|
||||
UninstallDisplayName={#MyAppName}
|
||||
UninstallDisplayIcon={app}\it-nexus-agent.ps1
|
||||
CloseApplications=no
|
||||
DisableWelcomePage=no
|
||||
WizardImageFile=compiler:WizModernImage.bmp
|
||||
WizardSmallImageFile=compiler:WizModernSmallImage.bmp
|
||||
|
||||
[Languages]
|
||||
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
|
||||
|
||||
[Files]
|
||||
Source: "it-nexus-agent.ps1"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "config.json.template"; DestDir: "{app}"; DestName: "config.json"; Flags: ignoreversion onlyifdoesntexist
|
||||
|
||||
[Run]
|
||||
Filename: "powershell.exe"; Parameters: "-ExecutionPolicy Bypass -NonInteractive -Command ""Unregister-ScheduledTask -TaskName 'IT Nexus Agent' -Confirm:$false -ErrorAction SilentlyContinue; $a = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-ExecutionPolicy Bypass -NonInteractive -WindowStyle Hidden -File \""{app}\it-nexus-agent.ps1\""'; $t = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Minutes 1) -Once -At (Get-Date); $s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Minutes 2) -MultipleInstances IgnoreNew -StartWhenAvailable; $p = New-ScheduledTaskPrincipal -UserId 'SYSTEM' -LogonType ServiceAccount -RunLevel Highest; Register-ScheduledTask -TaskName 'IT Nexus Agent' -Action $a -Trigger $t -Settings $s -Principal $p -Force; Start-ScheduledTask -TaskName 'IT Nexus Agent'"""; Flags: runhidden waituntilterminated; StatusMsg: "Registriere Windows Scheduled Task..."
|
||||
|
||||
[UninstallRun]
|
||||
Filename: "powershell.exe"; Parameters: "-ExecutionPolicy Bypass -NonInteractive -Command ""Unregister-ScheduledTask -TaskName 'IT Nexus Agent' -Confirm:$false -ErrorAction SilentlyContinue"""; Flags: runhidden waituntilterminated
|
||||
|
||||
[Code]
|
||||
var
|
||||
ServerUrlPage: TInputQueryWizardPage;
|
||||
AgentKeyPage: TInputQueryWizardPage;
|
||||
|
||||
procedure InitializeWizard;
|
||||
begin
|
||||
ServerUrlPage := CreateInputQueryPage(wpWelcome,
|
||||
'Server-Konfiguration',
|
||||
'Gib die IT Nexus Server-Adresse ein.',
|
||||
'');
|
||||
ServerUrlPage.Add('Server URL:', False);
|
||||
ServerUrlPage.Values[0] := 'https://it-nexus.cereda-systems.de';
|
||||
|
||||
AgentKeyPage := CreateInputQueryPage(ServerUrlPage.ID,
|
||||
'API Key',
|
||||
'Gib den Agent API Key ein. Diesen findest du in den IT Nexus Einstellungen.',
|
||||
'');
|
||||
AgentKeyPage.Add('Agent API Key:', False);
|
||||
AgentKeyPage.Values[0] := 'itx-4CPJPTHmCfdrL9D62WacCATEvuvULXcp7ECMpSaNUjsS344F6_L4Ug';
|
||||
end;
|
||||
|
||||
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
if CurPageID = ServerUrlPage.ID then begin
|
||||
if ServerUrlPage.Values[0] = '' then begin
|
||||
MsgBox('Bitte gib eine Server URL ein.', mbError, MB_OK);
|
||||
Result := False;
|
||||
end;
|
||||
end;
|
||||
if CurPageID = AgentKeyPage.ID then begin
|
||||
if AgentKeyPage.Values[0] = '' then begin
|
||||
MsgBox('Bitte gib einen API Key ein.', mbError, MB_OK);
|
||||
Result := False;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
var
|
||||
ConfigFile: string;
|
||||
Config: TStringList;
|
||||
begin
|
||||
if CurStep = ssPostInstall then begin
|
||||
ConfigFile := ExpandConstant('{app}\config.json');
|
||||
Config := TStringList.Create;
|
||||
try
|
||||
Config.Add('{');
|
||||
Config.Add(' "server_url": "' + ServerUrlPage.Values[0] + '",');
|
||||
Config.Add(' "agent_key": "' + AgentKeyPage.Values[0] + '"');
|
||||
Config.Add('}');
|
||||
Config.SaveToFile(ConfigFile);
|
||||
finally
|
||||
Config.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Reference in New Issue
Block a user