I've tried updating my script to reflect the new changes however now for some reason the error flag will instantly trigger leading to a failed installation.
There is no log written or IsArcEx error message box that could indicate the problem.
Please may you take a look at my changes and see if anything is incorrect? The old strings are commented out with //.
Thank you!
Code:
//function ISArcExAddDisks(Inputfile, Password: Widestring): boolean;
function ISArcExAddDisks(Inputfile, Password, OutputPath: Widestring): boolean;
external 'ISArcExAddDisks@files:ISArcEx.dll stdcall';
//function ISArcExExtract(DiskNumber: Integer; OutputPath, CfgFile, WorkPath: Widestring): boolean;
function ISArcExExtract(DiskNumber: Integer; CfgFile, WorkPath: Widestring): boolean;
external 'ISArcExExtract@files:ISArcEx.dll stdcall';
Code:
#ifdef Data1
if FileExists(ExpandConstant('{src}\{#Data1}')) then
begin
ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1}'), '{#DiskPassword}', ExpandConstant('{app}'));
if ISArcDiskAddingFalied then break;
ISArcExDiskCount:= ISArcExDiskCount + 1;
end;
#endif
Code:
for i:= 1 to ISArcExDiskCount do
begin
//ISArcExError := not ISArcExExtract(i, ExpandConstant('{app}\'), ExpandConstant('{tmp}\ARC.INI'), ExpandConstant('{app}'));
ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\ARC.INI'), ExpandConstant('{app}'));
if ISArcExError then break;
end;