![]() |
Inno Setup Lizenz abfragen
Hallo, :hi:
ich arbeite seit 3 tagen mit Inno setup, um mein Programm bedienerfreundlich zu installieren. Nun bin ich an einen Punkt angekommen, wo ich nicht mehr weiter weiß. Ich möchte einen Lizenzschlüssel abfragen, kein Passwort. Dafür hab ich leider kein Script gefunden, sondern nur eins für ein Passwort. Dies reicht aber nicht, denn es soll möglich sein einen von 5 Lizenzschlüsselen einzugeben. Hat jemand schonmal ein solches Problem mit Inno gelöst? Danke |
Re: Inno Setup Lizenz abfragen
Moin, moin,
Du kannst mit Inno-Setup während des Setups eigenen Programme starten. Da wird de Weg liegen, dass Du ein eigenes Programm mit Deiner Lizenzlogig hast, was die Freigabe organisiert. Von InnoSetup ist das eigentlich nicht wirklich zu leisten. Grüße // Martin |
Re: Inno Setup Lizenz abfragen
Hier jetzt mal ein Beispiel, wie ich es gemacht habe (bei der Abfrage eines Datenbankservers für meine Delphi-Programme):
Delphi-Quellcode:
Du mußt das ganze natürlich auf Deine Gegebenheiten anpassen.
var
Server:String; Page: TInputQueryWizardPage; FUNCTION NextButtonClick(CurPageID:Integer):Boolean; BEGIN IF CurPageID=wpSelectComponents THEN BEGIN IF (NOT isComponentSelected('wamp')) THEN BEGIN if Server='localhost' then BEGIN IF MsgBox('Haben Sie MySQL wirklich auf Ihrem System installiert?',mbConfirmation,mb_YESNO or MB_DEFBUTTON2) =idYes THEN BEGIN Result:=TRUE; END ELSE BEGIN Result:=FALSE; END; END ELSE BEGIN Result:=True; END; END ELSE BEGIN Result:=TRUE; END; END ELSE BEGIN IF CurpageID=Page.ID THEN BEGIN Server:=Page.Values[0]; IF (Server <>'') THEN BEGIN Result:=True; END ELSE BEGIN Server:='localhost'; IF MsgBox('Sie haben keinen Server angegeben. Standardserver localhost wird verwendet. Ist das richtig?',mbConfirmation,mb_YESNO or MB_DEFBUTTON2) =idYes THEN BEGIN Result:=True; END ELSE BEGIN Result:=False; END; END; END ELSE BEGIN Result:=True; END; END; END; procedure InitializeWizard; BEGIN Page:=CreateInputQueryPage(wpSelectDir,Expandconstant('{cm:SampleFormCaption}'),Expandconstant('{cm:SampleFormCaption}'), Expandconstant('{cm:SampleFormDescription}')); Page.Add('Server: ', False); Page.Values[0]:='localhost'; END; function GetServer(Param: String):String; begin if Server <>'' then begin Result:=Server; end else begin Result:=Param; end; end; |
Re: Inno Setup Lizenz abfragen
Das geht auch mit InnoSetup Stichwort "Serial"
|
Re: Inno Setup Lizenz abfragen
|
Re: Inno Setup Lizenz abfragen
Vielen Dank, für eure Hilfe. :thumb:
Jetzt funktioniert es wenigstens, aber ich verstehs nicht ganz. Der Code ist zwar programmiertechnisch kein Leckerbissen aber wäre toll wenn ihr mal rübergucken könntet. Zunächst wird die Seite erstellt und zwar anstelle der Passwortseite, wenn ich das richtig verstehe. Wenn ich aber bei meiner Funktion NEXTButton wpPasswort anstelle der 100 einsetze funktioniert es nicht :gruebel: ?? HAbs durchs debuggen rausgfunden, dass ich die Seiten ID 100 abfragen muss, hab keine Ahnung wieso ich 100 als Rückgabewert bekomme?? Müsste noch eigntlich auch mit wpPasswort funktionieren, denn ich ersetze doch die Seite, oder??
Delphi-Quellcode:
var
Page: TInputQueryWizardPage; procedure InitializeWizard; BEGIN Page:=CreateInputQueryPage(wpPassword,'Lizenzabfrage', 'PEAK Lizenz abfrage', 'Bitte geben Sie die Lizenz des PEAK-Treibers ein und drücken Sie Weiter'); Page.Add('Lizenzcode ', False); END; FUNCTION NextButtonClick(CurPageID:Integer):Boolean; BEGIN IF not (CurPageID=100) THEN BEGIN Result := True; END ELSE BEGIN IF (Page.Values[0] = '1') OR (Page.Values[0] = '2') OR (Page.Values[0] = '3') OR (Page.Values[0] = '4') OR (Page.Values[0] = '5') OR (Page.Values[0] = '6')THEN BEGIN Result:=TRUE; END ELSE BEGIN Result:=FALSE; if MsgBox('Die Lizenz ist nicht korrekt. Bitte versuchen Sie es erneut!', mbConfirmation, MB_OK) = IDOK then BEGIN Page.Values[0] := ' '; END; END; END; END; |
Re: Inno Setup Lizenz abfragen
Zitat:
Delphi-Quellcode:
if CurPageId = Page.ID then
begin { ... } end else Result := true; |
Re: Inno Setup Lizenz abfragen
Hey Mathias,
habs ja so versucht, aber ich bekomme immer die 100 als Rückgabewert, obwohl ich die 3 bekommen müsste??? Naja, hätte ja sein können, das jemand das weiß. So funktionierts net, obwohl es nach meiner kleinen "Logik" richtig sein müsste: [code=delphi]
Code:
var
Page: TInputQueryWizardPage; procedure InitializeWizard; BEGIN Page:=CreateInputQueryPage(wpPassword,'Lizenzabfrage', 'PEAK Lizenz abfrage', 'Bitte geben Sie die Lizenz des PEAK-Treibers ein und drücken Sie Weiter'); Page.Add('Lizenzcode ', False); END; FUNCTION NextButtonClick(CurPageID:Integer):Boolean; BEGIN IF CurPageId = wpPassword THEN BEGIN IF (Page.Values[0] = '#211660') OR (Page.Values[0] = '#211661') OR (Page.Values[0] = '#211662') OR (Page.Values[0] = '#211663') OR (Page.Values[0] = '#211664') OR (Page.Values[0] = '#211665')THEN BEGIN Result:=TRUE; END ELSE BEGIN Result:=FALSE; if MsgBox('Die Lizenz ist nicht korrekt. Bitte versuchen Sie es erneut!', mbConfirmation, MB_OK) = IDOK then BEGIN Page.Values[0] := ' '; END; END; END Else BEGIN Result := True; END; END; |
Re: Inno Setup Lizenz abfragen
Jetzt fragst du doch aber die Passwortseite ab. :gruebel: Und sind das nun die echten Codes? :lol:
|
Re: Inno Setup Lizenz abfragen
Jo, aber es läuft so halt nicht!!! Egal, ich lass die erste Variante, obwohl ich es nicht verstehe :gruebel: , ist zwar unbefriedigend aber was solls.
Hätte ich mal am Wochenende nicht so viel :cheers: und anschließend :wall: sollen.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz