Вопрос Распаковка Архива во временную папку

ZVSRus

Участник
Всем Доброго времени суток!
Суть вопроса такова, нужно на стадии запуска установщика распаковать архив .rar или три setup.exe во временную папку {tmp}.
Чтобы потом когда установщик запустится с костомной страницы через кнопки можно было из временной папки вызывать любую программу на запуск. В общем как в игровых установщиках,
с начала перед запуском все .arc, .rar, 7z, CLS-srep.dll, 7z.dll, packZIP.exe и т.д капируются в {tmp}
а потом запускается сам установщик.

Код:
[Setup]
AppName=Total Image Converter
AppVersion=7.1
AppVerName=Total Image Converter 7.1
DefaultDirName={pf}\CoolUtils\TotalImageConverter
DefaultGroupName=CoolUtils\Total Image Converter
AllowNoIcons=yes
OutputDir=.
UsePreviousAppDir=no
UsePreviousGroup=no

[Files]
Source: "{app}\TotalImage.rar"; DestDir: "{tmp}"; Flags: ignoreversion

// Source: "{app}\TotalImageConverter_7.1.136.exe"; DestDir: "{tmp}"; Flags: ignoreversion
// Source: "{app}\TotalImageConverter_7.1.137.exe"; DestDir: "{tmp}"; Flags: ignoreversion
// Source: "{app}\TotalImageConverter_7.1.138.exe"; DestDir: "{tmp}"; Flags: ignoreversion

[Code_]
var
InstallPage : TWizardPage;
NewButton1 : TNewButton;
NewButton2 : TNewButton;
NewButton3 : TNewButton;

procedure NewButton1Click(Sender: TObject);
var
ResultCode: Integer;
begin
Exec(ExpandConstant('{tmp}\TotalImageConverter_7.1.136.exe'), '', '', SW_SHOW, ewNoWait, ResultCode);
// Exec(ExpandConstant('{tmp}\TotalImageConverter_7.1.136.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
end;

procedure NewButton2Click(Sender: TObject);
var
ResultCode: Integer;
begin
Exec(ExpandConstant('{tmp}\TotalImageConverter_7.1.137.exe'), '', '', SW_SHOW, ewNoWait, ResultCode);
// Exec(ExpandConstant('{tmp}\TotalImageConverter_7.1.137.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
end;

procedure NewButton3Click(Sender: TObject);
var
ResultCode: Integer;
begin
Exec(ExpandConstant('{tmp}\TotalImageConverter_7.1.138.exe'), '', '', SW_SHOW, ewNoWait, ResultCode);
// Exec(ExpandConstant('{tmp}\TotalImageConverter_7.1.138.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
end;

procedure InitializeWizard();
begin
InstallPage := CreateCustomPage(wpWelcome, 'Установка программ', '...');

NewButton1 := TNewButton.Create(WizardForm);
with NewButton1 do
begin
Parent := InstallPage.Surface;
SetBounds(ScaleX(100), ScaleY(50), ScaleX(217), ScaleY(25));
Caption := 'Запустить программу №1';
OnClick := @NewButton1Click;
end;

NewButton2 := TNewButton.Create(WizardForm);
with NewButton2 do
begin
Parent := InstallPage.Surface;
SetBounds(ScaleX(100), ScaleY(100), ScaleX(217), ScaleY(25));
Caption := 'Запустить программу №2';
OnClick := @NewButton2Click;
end;

NewButton3 := TNewButton.Create(WizardForm);
with NewButton3 do
begin
Parent := InstallPage.Surface;
SetBounds(ScaleX(100), ScaleY(150), ScaleX(217), ScaleY(25));
Caption := 'Запустить программу №3';
OnClick := @NewButton3Click;
end;
end;
 

Ramiro Cruzo

Новичок
Код:
[Files]
Source: "Source\TotalImage.rar"; DestDir: "{tmp}"; Flags: ignoreversion

// Source: "Source\TotalImageConverter_7.1.136.exe"; DestDir: "{tmp}"; Flags: ignoreversion
// Source: "Source\TotalImageConverter_7.1.137.exe"; DestDir: "{tmp}"; Flags: ignoreversion
// Source: "Source\TotalImageConverter_7.1.138.exe"; DestDir: "{tmp}"; Flags: ignoreversion
 
Сверху