Цитата R.i.m.s.k.y.:
при параметре /auto инсталлер не отсвечивал лишними окнами »
|
Пример
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[Code]
function IsParamStr: Boolean;
var
i: Integer;
str: string;
begin
Result:= False;
for i:= 0 to ParamCount do
str:= str + ParamStr(i);
if Pos(Lowercase('/auto'), Lowercase(str)) > 0 then
Result:= True;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if (CurPageID > 0) and IsParamStr then
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
Цитата R.i.m.s.k.y.:
но при параметре /auto в скрипте должны отрабатываться свои "ветки") »
|
Если где-то в коде, то
if IsParamStr then - какое-то дествие...
Если выполнять или нет какие-то секции в скрипте, задавайте с помощью
Check:
Код:
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Check: IsParamStr; Flags: ignoreversion
Цитата R.i.m.s.k.y.:
как можно в коде обработать выбор пользователя в Components? »
|
Пример
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[Components]
Name: a; Description: Моя программа™; Types: full custom
Name: a\a; Description: Руководство пользователя; Types: full
Name: a\a\a; Description: Русский; Flags: exclusive
Name: a\a\b; Description: English; Flags: exclusive
Name: a\b; Description: Справка; Types: full
[Code]
procedure ClickCheck(Sender: TObject);
var
msg: string;
begin
msg:= 'Был клик по компоненту:' + #13#10;
msg:= msg + 'Номер: ' + IntToStr(WizardForm.ComponentsList.ItemIndex) + #13#10;
msg:= msg + 'Описание: ' + WizardForm.ComponentsList.ItemCaption[WizardForm.ComponentsList.ItemIndex];
MsgBox(msg, mbInformation, MB_OK);
end;
procedure InitializeWizard();
begin
WizardForm.ComponentsList.OnClickCheck:= @ClickCheck;
end;