Inno Setup Fehler behoben: Type mismatch durch vereinfachte Code-Sektion und Registry-Entfernung
This commit is contained in:
@ -20,7 +20,7 @@ DefaultGroupName={#MyAppName}
|
||||
AllowNoIcons=yes
|
||||
LicenseFile=..\LICENSE
|
||||
OutputDir=..\dist
|
||||
OutputBaseFilename=medi-wol-setup
|
||||
OutputBaseFilename=medi-wol-setup-v2
|
||||
Compression=lzma
|
||||
SolidCompression=yes
|
||||
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
|
||||
|
||||
[Run]
|
||||
; Dienst installieren und starten
|
||||
Filename: "{app}\{#MyAppExeName}"; Parameters: "install -port {code:GetPort}"; StatusMsg: "Installiere Medi-WOL Dienst..."; Flags: runhidden
|
||||
Filename: "net.exe"; Parameters: "start {#MyAppServiceName}"; StatusMsg: "Starte Medi-WOL Dienst..."; Flags: runhidden
|
||||
; Startet die Anwendung nach der Installation
|
||||
Filename: "{app}\{#MyAppExeName}"; Parameters: "-port {code:GetPort}"; StatusMsg: "Starte Medi-WOL..."; Flags: runhidden nowait
|
||||
|
||||
[UninstallRun]
|
||||
; Dienst stoppen und entfernen
|
||||
Filename: "net.exe"; Parameters: "stop {#MyAppServiceName}"; Flags: runhidden
|
||||
Filename: "{app}\{#MyAppExeName}"; Parameters: "uninstall"; Flags: runhidden
|
||||
; Stoppe die Anwendung vor der Deinstallation
|
||||
Filename: "taskkill.exe"; Parameters: "/F /IM {#MyAppExeName}"; Flags: runhidden
|
||||
|
||||
[Code]
|
||||
var
|
||||
PortPage: TInputQueryWizardPage;
|
||||
PortEdit: TEdit;
|
||||
|
||||
procedure InitializeWizard;
|
||||
begin
|
||||
@ -72,37 +69,32 @@ begin
|
||||
'Bitte geben Sie den Port für den Medi-WOL Web-Server ein:');
|
||||
|
||||
PortPage.Add('Port:', False);
|
||||
PortEdit := PortPage.Values[0];
|
||||
PortEdit.Text := '9000';
|
||||
PortPage.Values[0] := '9000';
|
||||
end;
|
||||
|
||||
function GetPort(Param: String): String;
|
||||
begin
|
||||
Result := PortEdit.Text;
|
||||
Result := PortPage.Values[0];
|
||||
end;
|
||||
|
||||
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||
var
|
||||
PortStr: String;
|
||||
i: Integer;
|
||||
Port: Integer;
|
||||
begin
|
||||
Result := True;
|
||||
|
||||
if CurPageID = PortPage.ID then
|
||||
begin
|
||||
PortStr := PortEdit.Text;
|
||||
PortStr := PortPage.Values[0];
|
||||
|
||||
// Prüfe ob nur Zahlen eingegeben wurden
|
||||
for i := 1 to Length(PortStr) do
|
||||
// Einfache Validierung
|
||||
if PortStr = '' then
|
||||
begin
|
||||
if (PortStr[i] < '0') or (PortStr[i] > '9') then
|
||||
begin
|
||||
MsgBox('Bitte geben Sie nur Zahlen ein.', mbError, MB_OK);
|
||||
MsgBox('Bitte geben Sie einen Port ein.', mbError, MB_OK);
|
||||
Result := False;
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Konvertiere zu Integer
|
||||
Port := StrToIntDef(PortStr, 0);
|
||||
@ -116,9 +108,7 @@ begin
|
||||
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]
|
||||
german.CreateDesktopIcon=Desktop-Verknüpfung erstellen
|
||||
|
||||
Reference in New Issue
Block a user