118 lines
3.7 KiB
Plaintext
118 lines
3.7 KiB
Plaintext
; Medi-WOL Windows Installer Script
|
|
; Erstellt mit Inno Setup 6
|
|
|
|
#define MyAppName "Medi-WOL"
|
|
#define MyAppVersion "1.0.0"
|
|
#define MyAppPublisher "medisoftware"
|
|
#define MyAppExeName "medi-wol-windows-amd64.exe"
|
|
#define MyAppServiceName "Medi-WOL"
|
|
#define MyAppServiceDisplayName "Medi-WOL Wake-on-LAN Manager"
|
|
#define MyAppServiceDescription "Web-basierter Wake-on-LAN Manager für PC-Verwaltung"
|
|
|
|
[Setup]
|
|
AppId={{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}
|
|
AppName={#MyAppName}
|
|
AppVersion={#MyAppVersion}
|
|
AppPublisher={#MyAppPublisher}
|
|
AppPublisherURL=https://www.medisoftware.de/
|
|
DefaultDirName={autopf}\{#MyAppName}
|
|
DefaultGroupName={#MyAppName}
|
|
AllowNoIcons=yes
|
|
LicenseFile=..\LICENSE
|
|
OutputDir=..\dist
|
|
OutputBaseFilename=medi-wol-setup-v2
|
|
Compression=lzma
|
|
SolidCompression=yes
|
|
WizardStyle=modern
|
|
PrivilegesRequired=admin
|
|
ArchitecturesAllowed=x64
|
|
ArchitecturesInstallIn64BitMode=x64
|
|
|
|
[Languages]
|
|
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
|
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
|
|
|
[Tasks]
|
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1; Check: not IsAdminInstallMode
|
|
|
|
[Files]
|
|
Source: "..\dist\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "..\web\static\*"; DestDir: "{app}\web\static"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "..\web\templates\*"; DestDir: "{app}\web\templates"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
Source: "..\LICENSE"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "..\README.md"; DestDir: "{app}"; Flags: ignoreversion
|
|
|
|
[Icons]
|
|
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
|
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
|
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
|
|
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
|
|
|
|
[Run]
|
|
; Startet die Anwendung nach der Installation
|
|
Filename: "{app}\{#MyAppExeName}"; Parameters: "-port {code:GetPort}"; StatusMsg: "Starte Medi-WOL..."; Flags: runhidden nowait
|
|
|
|
[UninstallRun]
|
|
; Stoppe die Anwendung vor der Deinstallation
|
|
Filename: "taskkill.exe"; Parameters: "/F /IM {#MyAppExeName}"; Flags: runhidden
|
|
|
|
[Code]
|
|
var
|
|
PortPage: TInputQueryWizardPage;
|
|
|
|
procedure InitializeWizard;
|
|
begin
|
|
PortPage := CreateInputQueryPage(wpWelcome,
|
|
'Port-Konfiguration',
|
|
'Auf welchem Port soll Medi-WOL laufen?',
|
|
'Bitte geben Sie den Port für den Medi-WOL Web-Server ein:');
|
|
|
|
PortPage.Add('Port:', False);
|
|
PortPage.Values[0] := '9000';
|
|
end;
|
|
|
|
function GetPort(Param: String): String;
|
|
begin
|
|
Result := PortPage.Values[0];
|
|
end;
|
|
|
|
function NextButtonClick(CurPageID: Integer): Boolean;
|
|
var
|
|
PortStr: String;
|
|
Port: Integer;
|
|
begin
|
|
Result := True;
|
|
|
|
if CurPageID = PortPage.ID then
|
|
begin
|
|
PortStr := PortPage.Values[0];
|
|
|
|
// Einfache Validierung
|
|
if PortStr = '' then
|
|
begin
|
|
MsgBox('Bitte geben Sie einen Port ein.', mbError, MB_OK);
|
|
Result := False;
|
|
Exit;
|
|
end;
|
|
|
|
// Konvertiere zu Integer
|
|
Port := StrToIntDef(PortStr, 0);
|
|
|
|
if (Port < 1) or (Port > 65535) then
|
|
begin
|
|
MsgBox('Port muss zwischen 1 und 65535 liegen.', mbError, MB_OK);
|
|
Result := False;
|
|
Exit;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
[CustomMessages]
|
|
german.CreateDesktopIcon=Desktop-Verknüpfung erstellen
|
|
german.CreateQuickLaunchIcon=Quick Launch-Verknüpfung erstellen
|
|
german.AdditionalIcons=Zusätzliche Verknüpfungen:
|
|
german.UninstallProgram=Medi-WOL entfernen
|