View Single Post
  #1552  
Old 15-07-2023, 07:19
-tara -tara is offline
Registered User
 
Join Date: May 2022
Location: Asda
Posts: 10
Thanks: 6
Thanked 9 Times in 3 Posts
-tara is on a distinguished road
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
Reply With Quote