first commit
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
; 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;
|
||||
Reference in New Issue
Block a user