Inno Setup Fehler behoben: Type mismatch durch vereinfachte Code-Sektion und Registry-Entfernung

This commit is contained in:
2025-08-21 17:25:09 +02:00
parent b937a402db
commit 6497d26e5f

View File

@ -20,7 +20,7 @@ DefaultGroupName={#MyAppName}
AllowNoIcons=yes AllowNoIcons=yes
LicenseFile=..\LICENSE LicenseFile=..\LICENSE
OutputDir=..\dist OutputDir=..\dist
OutputBaseFilename=medi-wol-setup OutputBaseFilename=medi-wol-setup-v2
Compression=lzma Compression=lzma
SolidCompression=yes SolidCompression=yes
WizardStyle=modern WizardStyle=modern
@ -50,19 +50,16 @@ Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: de
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
[Run] [Run]
; Dienst installieren und starten ; Startet die Anwendung nach der Installation
Filename: "{app}\{#MyAppExeName}"; Parameters: "install -port {code:GetPort}"; StatusMsg: "Installiere Medi-WOL Dienst..."; Flags: runhidden Filename: "{app}\{#MyAppExeName}"; Parameters: "-port {code:GetPort}"; StatusMsg: "Starte Medi-WOL..."; Flags: runhidden nowait
Filename: "net.exe"; Parameters: "start {#MyAppServiceName}"; StatusMsg: "Starte Medi-WOL Dienst..."; Flags: runhidden
[UninstallRun] [UninstallRun]
; Dienst stoppen und entfernen ; Stoppe die Anwendung vor der Deinstallation
Filename: "net.exe"; Parameters: "stop {#MyAppServiceName}"; Flags: runhidden Filename: "taskkill.exe"; Parameters: "/F /IM {#MyAppExeName}"; Flags: runhidden
Filename: "{app}\{#MyAppExeName}"; Parameters: "uninstall"; Flags: runhidden
[Code] [Code]
var var
PortPage: TInputQueryWizardPage; PortPage: TInputQueryWizardPage;
PortEdit: TEdit;
procedure InitializeWizard; procedure InitializeWizard;
begin begin
@ -72,36 +69,31 @@ begin
'Bitte geben Sie den Port für den Medi-WOL Web-Server ein:'); 'Bitte geben Sie den Port für den Medi-WOL Web-Server ein:');
PortPage.Add('Port:', False); PortPage.Add('Port:', False);
PortEdit := PortPage.Values[0]; PortPage.Values[0] := '9000';
PortEdit.Text := '9000';
end; end;
function GetPort(Param: String): String; function GetPort(Param: String): String;
begin begin
Result := PortEdit.Text; Result := PortPage.Values[0];
end; end;
function NextButtonClick(CurPageID: Integer): Boolean; function NextButtonClick(CurPageID: Integer): Boolean;
var var
PortStr: String; PortStr: String;
i: Integer;
Port: Integer; Port: Integer;
begin begin
Result := True; Result := True;
if CurPageID = PortPage.ID then if CurPageID = PortPage.ID then
begin begin
PortStr := PortEdit.Text; PortStr := PortPage.Values[0];
// Prüfe ob nur Zahlen eingegeben wurden // Einfache Validierung
for i := 1 to Length(PortStr) do if PortStr = '' then
begin begin
if (PortStr[i] < '0') or (PortStr[i] > '9') then MsgBox('Bitte geben Sie einen Port ein.', mbError, MB_OK);
begin Result := False;
MsgBox('Bitte geben Sie nur Zahlen ein.', mbError, MB_OK); Exit;
Result := False;
Exit;
end;
end; end;
// Konvertiere zu Integer // Konvertiere zu Integer
@ -116,9 +108,7 @@ begin
end; end;
end; end;
[Registry]
; Umgebungsvariablen für den Dienst setzen
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Services\{#MyAppServiceName}"; ValueType: string; ValueName: "Environment"; ValueData: "PORT={code:GetPort}"; Flags: createvalueifdoesntexist
[CustomMessages] [CustomMessages]
german.CreateDesktopIcon=Desktop-Verknüpfung erstellen german.CreateDesktopIcon=Desktop-Verknüpfung erstellen