I think I've found the solution for DiskSpan based on the example script posted from Razor12911 at
https://www.fileforums.com/showthread.php?t=99627
What was missing is simply the initialization of DiskSpan inside the script (i.e. ClsInit), then in order to solve the problem of request of the next disk do as follow:
Look for this snippet of code inside the IS script:
Code:
if Data[i - 1].Arc[0] = 'Freearc_Original' then
[... other code ...]
if ISDoneError = False and not IniKeyExists('Records2', 'Type', ExpandConstant('{{#InternalRecords == "1" ? "tmp" : "src"}}\records.ini')) and ({#UseComponents} = 0) then
begin
if not ISArcExtract(0, 100, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
ISDoneError := True;
end else begin
if not ISArcExtract(0, 0, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
ISDoneError := True;
end;
end;
then substitute with:
Code:
if Data[i - 1].Arc[0] = 'Freearc_Original' then
[... other code ...]
if ISDoneError = False and not IniKeyExists('Records2', 'Type', ExpandConstant('{{#InternalRecords == "1" ? "tmp" : "src"}}\records.ini')) and ({#UseComponents} = 0) then
begin
ClsInit(ExpandConstant('{src}'),WizardForm.Handle);
if not ISArcExtract(0, 100, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
ISDoneError := True;
end else begin
if not ISArcExtract(0, 0, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
ISDoneError := True;
end;
end;
The only difference is the line with ClsInit(...) function