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.