Ich bin jetzt soweit gekommen, das ich mittels dem Inno Setup Form Designer, eine eigene
Gui erstellt habe
(Lediglich eine einzelne Page!)
Aber wie zum Teufel kann ich nur bestimmte Dateien, bei einem bestimmten RadioButton installieren
Ich schnall irgendwie die Logik nicht, obwohl das sogar schon Delphi ist
[code=delphi]
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.mycompany.com
AppSupportURL=http://www.mycompany.com
AppUpdatesURL=http://www.mycompany.com
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=ISSTest
OutputDir=.
[_ISTool]
EnableISX=true
[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"
Code:
var
lblInstallArt: TLabel;
Client: TRadioButton;
Server: TRadioButton;
{ ScriptDlgPages }
function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
var
Next, NextOK: Boolean;
CurSubPage: Integer;
begin
{ place subpages between 'Welcome'- and 'SelectDir' page }
if (not BackClicked and (CurPage = wpWelcome)) or (BackClicked and (CurPage = wpSelectDir)) then
begin
{ find startpage }
if not BackClicked then
CurSubPage := 0
else
CurSubPage := 1;
{ iterate through all subpages }
while (CurSubPage >= 0) and (CurSubPage <= 1) and not Terminated do
begin
ScriptDlgPageOpen();
ScriptDlgPageClearCustom();
{ insert subpage }
case CurSubPage of
0: // custompage 1
begin
ScriptDlgPageSetCaption('Bitte wählen Sie eine Installationsart');
ScriptDlgPageSetSubCaption1('Wo wird die Software installiert?');
ScriptDlgPageSetSubCaption2('');
{ lblInstallArt }
lblInstallArt := TLabel.Create(WizardForm.ScriptDlgPanel);
with lblInstallArt do
begin
Parent := WizardForm.ScriptDlgPanel;
Left := 40;
Top := 48;
Width := 178;
Height := 13;
Caption := 'Bitte wählen Sie eine Installationsart:';
end;
{ Client }
Client := TRadioButton.Create(WizardForm.ScriptDlgPanel);
with Client do
begin
Parent := WizardForm.ScriptDlgPanel;
Left := 112;
Top := 96;
Width := 49;
Height := 17;
Caption := 'Client';
Checked := True;
TabOrder := 0;
TabStop := True;
end;
{ Server }
Server := TRadioButton.Create(WizardForm.ScriptDlgPanel);
with Server do
begin
Parent := WizardForm.ScriptDlgPanel;
Left := 112;
Top := 120;
Width := 57;
Height := 17;
Caption := 'Server';
TabOrder := 1;
end;
Next := ScriptDlgPageProcessCustom(nil);
NextOK := True;
end;
1: // custompage n
begin
{ include other forms here }
end;
end;
{ check sub-page navigation }
if Next then
begin
if NextOK then
CurSubPage := CurSubPage + 1;
end
else
CurSubPage := CurSubPage - 1;
end;
{ check main-page navigation }
if not BackClicked then
Result := Next
else
Result := not Next;
ScriptDlgPageClose(not Result);
end
{ return default }
else
Result := True;
end;
{ NextButtonClick }
function NextButtonClick(CurPage: Integer): Boolean;
begin
Result := ScriptDlgPages(CurPage, False);
end;
{ BackButtonClick }
function BackButtonClick(CurPage: Integer): Boolean;
begin
Result := ScriptDlgPages(CurPage, True);
end;