View Single Post
  #10  
Old 28-03-2026, 03:41
wrathma wrathma is offline
Registered User
 
Join Date: Apr 2024
Location: Dhaka
Posts: 60
Thanks: 46
Thanked 41 Times in 24 Posts
wrathma is on a distinguished road
Smile

is there any way to unpack two freearc archives in parallel using a installer. im using IsArcEx with this setup script.
lets say i have 4 archive and. the first one is the big one (10gb) which takes a lot of time to unpack and cpu has a little room to unpack other archives. archive 2-4 is light on cpu takes less than 2 mins to extract. so while archive 1 is unpacking i want to unpack archive 2-4 one by one in parallel with it. my current unpack implementation is here (i have very little knowledge on pascal it was mostly copied from IsArcEx example).
Code:
if ISArcDiskAddingSuccess and ISArcExInitEx(MainForm.Handle, 1, @ProgressCallback) then
    begin
      repeat
        ISArcExReduceCalcAccuracy(1);
        ISArcExChangeLanguage('English');
        for i := 1 to ISArcExDiskCount do
        begin
          ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\Arc.ini'), ExpandConstant('{app}'));
          if ISArcExError then break;
        end;
      until true;
      
      ISArcExStop;
    end
in my case the bigger files always go first, so ISArcExDiscCount 1 is always the big file. i want to keep it running on one thread and on another thread i want to run extraction of archive 2-4.
Reply With Quote