Hello everybody,
I'm using IsArcEx for FreeArc archive decompression and I am attempting to apply a hdiffz patch after install, here is how I'm doing so:
Code:
procedure patching;
var
ResultCode: Integer;
begin
Exec(ExpandConstant('{tmp}\hpatchz.exe'), (ExpandConstant('{app}\...\file.one {app}\...\file.two {app}\...\file.three')), (ExpandConstant('{app}')), SW_SHOW, ewWaitUntilTerminated, ResultCode)
DeleteFile (ExpandConstant('{app}\...\file.one'));
DeleteFile (ExpandConstant('{app}\...\file.two'));
end;
Where patching is refrenced:
Code:
if (ISArcDiskAddingSuccess) and ISArcExInit(MainForm.Handle, {#TimeFormat}, @ProgressCallback) then
begin
repeat
if ISArcExDiskCount = 0 then begin
MsgBox('There is no any archive found for unpacking.', mbError, MB_OK);
break;
end;
ChangeLanguage('English');
//ChangeLanguage('Russian');
for i := 1 to ISArcExDiskCount do begin
ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'));
if ISArcExError then break;
end;
until true;
patching();
ISArcExStop;
if ISArcExError then
MsgBox('Installation is corrupted.', mbError, MB_OK)
end;
HideControls;
WizardForm.CancelButton.Visible := true;
WizardForm.CancelButton.Enabled := false;
end;
However, what ends up happening is the patch does not apply and after decompression the timer immediately ends.
What I would like to happen is the timer continuing and after the patch is applied for it to end. Thanks in advance