72 lines
2.4 KiB
Plaintext
72 lines
2.4 KiB
Plaintext
; Inno Setup Skript fuer NetClip (erst "python build.py" unter Windows ausfuehren).
|
|
; Interaktiv: NetClip-Setup.exe
|
|
; Stille Verteilung (GPO, Intune, PDQ, ...):
|
|
; NetClip-Setup.exe /VERYSILENT /SUPPRESSMSGBOXES /SERVER=https://clip.example.de /TOKEN=xyz [/SERVERKEY=abc] [/INSECURE=1]
|
|
; Die Werte landen in config.default.json im Programmordner und gelten fuer jeden Benutzer beim ersten Start.
|
|
; Autostart fuer alle Benutzer wird per HKLM-Run-Key eingerichtet.
|
|
|
|
#define AppVersion "1.0.0"
|
|
|
|
[Setup]
|
|
AppId={{6C1E8B0B-4E39-4E0C-9C0B-6E1F2C9D5A11}
|
|
AppName=NetClip
|
|
AppVersion={#AppVersion}
|
|
AppPublisher=NetClip
|
|
DefaultDirName={autopf}\NetClip
|
|
DefaultGroupName=NetClip
|
|
OutputDir=..\dist
|
|
OutputBaseFilename=NetClip-Setup-{#AppVersion}
|
|
Compression=lzma2
|
|
SolidCompression=yes
|
|
ArchitecturesInstallIn64BitMode=x64compatible
|
|
PrivilegesRequired=admin
|
|
SetupIconFile=netclip.ico
|
|
UninstallDisplayIcon={app}\NetClip.exe
|
|
CloseApplications=force
|
|
|
|
[Languages]
|
|
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
|
|
|
|
[Tasks]
|
|
Name: "autostart"; Description: "NetClip beim Anmelden starten (alle Benutzer)"
|
|
|
|
[Files]
|
|
Source: "..\dist\NetClip\*"; DestDir: "{app}"; Flags: recursesubdirs ignoreversion
|
|
|
|
[Icons]
|
|
Name: "{group}\NetClip"; Filename: "{app}\NetClip.exe"
|
|
Name: "{group}\NetClip deinstallieren"; Filename: "{uninstallexe}"
|
|
|
|
[Registry]
|
|
Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "NetClip"; \
|
|
ValueData: """{app}\NetClip.exe"" --minimized"; Flags: uninsdeletevalue; Tasks: autostart
|
|
|
|
[Run]
|
|
Filename: "{app}\NetClip.exe"; Description: "NetClip starten"; Flags: nowait postinstall skipifsilent runasoriginaluser
|
|
|
|
[Code]
|
|
function JsonEscape(S: String): String;
|
|
begin
|
|
StringChangeEx(S, '\', '\\', True);
|
|
StringChangeEx(S, '"', '\"', True);
|
|
Result := S;
|
|
end;
|
|
|
|
procedure CurStepChanged(CurStep: TSetupStep);
|
|
var
|
|
Server, Verify: String;
|
|
begin
|
|
if CurStep = ssPostInstall then
|
|
begin
|
|
Server := ExpandConstant('{param:SERVER|}');
|
|
if Server <> '' then
|
|
begin
|
|
if ExpandConstant('{param:INSECURE|0}') = '1' then Verify := 'false' else Verify := 'true';
|
|
SaveStringToFile(ExpandConstant('{app}\config.default.json'),
|
|
'{"server": "' + JsonEscape(Server) + '", "token": "' + JsonEscape(ExpandConstant('{param:TOKEN|}')) +
|
|
'", "server_key": "' + JsonEscape(ExpandConstant('{param:SERVERKEY|}')) + '", "verify_tls": ' + Verify + '}',
|
|
False);
|
|
end;
|
|
end;
|
|
end;
|