View Full Version : Percentage Problem with ISExec
Guys another problem i'm facing right here A friend gave me fix for the Batch Execution that i needed for my inno Script and the good thing is that the Execution is working and the .bat also finishes its work, But i don't know why i'm facing this stupid problem :
//Setup-1.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 1 To Start Installing...', ExpandConstant('{src}'),'Setup-1.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-1.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
//function ISExec(CurComponent:Cardinal; PctOfTotal,SpecifiedProcessTime:double; ExeName,Parameters,TargetDir,OutputStr:AnsiString; Show:boolean):boolean; external 'ISExec@files:ISDone.dll stdcall delayload';
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\Rebuild.bat'), '', ExpandConstant('{app}'), 'My comments',false) then break;
//Setup-2.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 2 To Continue Installation...', ExpandConstant('{src}'),'Setup-2.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-2.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
Now you must note that the ISExec code doesn't have any Pct specified,
But no matter why does the Progress instantly jumps to 100% from 45%
Also you can check out my SShots...
truerepacks
07-07-2016, 01:19
first thing why don't u give any percentage to ISEXEC
>>the reason for the problem
Actually 0 pct doesn't mean that isdone will give 0 pct to the batch file its meaning is little bit different
the Fix
1.In isDoneinit, sset records file name to ExpandConstant('{src}\records.inf')
2.just give 0 pct to every task and run the whole installation process
or simply according to ur bins
//Setup-1.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 1 To Start Installing...', ExpandConstant('{src}'),'Setup-1.Rpk') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Setup-1.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
//function ISExec(CurComponent:Cardinal; PctOfTotal,SpecifiedProcessTime:double; ExeName,Parameters,TargetDir,OutputStr:AnsiString; Show:boolean):boolean; external 'ISExec@files:ISDone.dll stdcall delayload';
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\Rebuild.bat'), '', ExpandConstant('{app}'), 'My comments',false) then break;
//Setup-2.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 2 To Continue Installation...', ExpandConstant('{src}'),'Setup-2.Rpk') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Setup-2.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
ur percentage will go over 300 % in first run
bt after that it will produce a records.inf file in ur src dir and after that u will get the perfect progressbar
>> and if u don't want to give pct to bat file then put 1 instead of 0 in pct section and 49 to the another bin file
>>and one more tip if ur using reflate then try to check the crc. I think that will never gonna match even if u r using razor's isdone compatible reflate
and one more thing rohini isn't in Delhi at all
Carldric Clement
07-07-2016, 08:23
Guys another problem i'm facing right here A friend gave me fix for the Batch Execution that i needed for my inno Script and the good thing is that the Execution is working and the .bat also finishes its work, But i don't know why i'm facing this stupid problem :
//Setup-1.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 1 To Start Installing...', ExpandConstant('{src}'),'Setup-1.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-1.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
//function ISExec(CurComponent:Cardinal; PctOfTotal,SpecifiedProcessTime:double; ExeName,Parameters,TargetDir,OutputStr:AnsiString; Show:boolean):boolean; external 'ISExec@files:ISDone.dll stdcall delayload';
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\Rebuild.bat'), '', ExpandConstant('{app}'), 'My comments',false) then break;
//Setup-2.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 2 To Continue Installation...', ExpandConstant('{src}'),'Setup-2.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-2.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
Now you must note that the ISExec code doesn't have any Pct specified,
But no matter why does the Progress instantly jumps to 100% from 45%
Also you can check out my SShots...
Try this code:
procedure CurStepChanged(CurStep: TSetupStep);
var
i, MyRepackNumber: integer;
begin
i:= 1; // Don't touch this.
MyRepackNumber:= 3; // How many your repack games...
WizardForm.ProgressGauge.Position:=0;
WizardForm.ProgressGauge.Max:=0;
repeat
WizardForm.ProgressGauge.Max:= WizardForm.ProgressGauge.Max + 1000;
i:= i + 1;
until i = MyRepackNumber;
ISDoneError:= false;
if ISDoneInit(ExpandConstant('{tmp}\records.inf'), $F777, 0,0,0, MainForm.Handle, 512, @ProgressCallback) then
begin
repeat
ChangeLanguage('English');
if not SrepInit('',512,0) then ISDoneError := True;
if not PrecompInit('',128,0) then ISDoneError := True;
if not FileSearchInit(true) then ISDoneError := True;
if not ShowChangeDiskWindow ('Please Locate Part 1 To Start Installing...', ExpandConstant('{src}'),'Setup-1.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-1.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\Rebuild.bat'), '', ExpandConstant('{app}'), 'My comments',false) then break;
if not ShowChangeDiskWindow ('Please Locate Part 2 To Continue Installation...', ExpandConstant('{src}'),'Setup-2.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-2.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
until true;
ISDoneStop;
end;
end;
first thing why don't u give any percentage to ISEXEC
>>the reason for the problem
Actually 0 pct doesn't mean that isdone will give 0 pct to the batch file its meaning is little bit different
the Fix
1.In isDoneinit, sset records file name to ExpandConstant('{src}\records.inf')
2.just give 0 pct to every task and run the whole installation process
or simply according to ur bins
//Setup-1.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 1 To Start Installing...', ExpandConstant('{src}'),'Setup-1.Rpk') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Setup-1.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
//function ISExec(CurComponent:Cardinal; PctOfTotal,SpecifiedProcessTime:double; ExeName,Parameters,TargetDir,OutputStr:AnsiString; Show:boolean):boolean; external 'ISExec@files:ISDone.dll stdcall delayload';
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\Rebuild.bat'), '', ExpandConstant('{app}'), 'My comments',false) then break;
//Setup-2.Rpk (4.75 GB) --> [8.37 GB]
if not ShowChangeDiskWindow ('Please Locate Part 2 To Continue Installation...', ExpandConstant('{src}'),'Setup-2.Rpk') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Setup-2.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
ur percentage will go over 300 % in first run
bt after that it will produce a records.inf file in ur src dir and after that u will get the perfect progressbar
>> and if u don't want to give pct to bat file then put 1 instead of 0 in pct section and 49 to the another bin file
>>and one more tip if ur using reflate then try to check the crc. I think that will never gonna match even if u r using razor's isdone compatible reflate
and one more thing rohini isn't in Delhi at all
Okay i didn't knew about Records.inf although i've seen it in many Repacks
and yeah i've also tried to add percentage like :
Setup-1.Rpk = 50
ISExec = 10
Setup-2.Rpk = 40
But it was all the same i'll try this in few hours..
Thanks for the A!
And yeah one more thing why do you think Rohini isn't in Delhi?
Try this code:
procedure CurStepChanged(CurStep: TSetupStep);
var
i, MyRepackNumber: integer;
begin
i:= 1; // Don't touch this.
MyRepackNumber:= 3; // How many your repack games...
WizardForm.ProgressGauge.Position:=0;
WizardForm.ProgressGauge.Max:=0;
repeat
WizardForm.ProgressGauge.Max:= WizardForm.ProgressGauge.Max + 1000;
i:= i + 1;
until i = MyRepackNumber;
ISDoneError:= false;
if ISDoneInit(ExpandConstant('{tmp}\records.inf'), $F777, 0,0,0, MainForm.Handle, 512, @ProgressCallback) then
begin
repeat
ChangeLanguage('English');
if not SrepInit('',512,0) then ISDoneError := True;
if not PrecompInit('',128,0) then ISDoneError := True;
if not FileSearchInit(true) then ISDoneError := True;
if not ShowChangeDiskWindow ('Please Locate Part 1 To Start Installing...', ExpandConstant('{src}'),'Setup-1.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-1.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\Rebuild.bat'), '', ExpandConstant('{app}'), 'My comments',false) then break;
if not ShowChangeDiskWindow ('Please Locate Part 2 To Continue Installation...', ExpandConstant('{src}'),'Setup-2.Rpk') then break;
if not ISArcExtract ( 0, 50, ExpandConstant('{src}\Setup-2.Rpk'), ExpandConstant('{app}'), '', false, '{#PassWord}', ExpandConstant('{tmp}\ISDone_Params_ExTended.ini') , ExpandConstant('{app}'),False) then break;
until true;
ISDoneStop;
end;
end;
Okay i've got it but how do i Get to Generate a "Records.inf" ?
Thanks
felice2011
07-07-2016, 23:38
@Prince..Or you write it manually or automatically created during compression process with any utility that you can find on this forum.
@Prince..Or you write it manually or automatically created during compression process with any utility that you can find on this forum.
I don't get any Records.inf during compression process and how do i write it manually?
felice2011
08-07-2016, 00:51
Sorry I understood the configuration setting "*.ini"...the setup information file "*.inf" if you use a precompiled installation should be included in one of the installation folder, and in the compiler have a line like this.
ISDoneError:=true;
if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, 512, @ProgressCallback) then begin
repeat
ChangeLanguage('english');
if not SrepInit('',512,0) then break;
if not PrecompInit('',128,PCFVer) then break;
if not FileSearchInit(true) then break;
#include 'Archives.ini'
ISDoneError:=false;
until true;
ISDoneStop;
end;
I have created a custom script from Mr316dx's BlackBox Script.
So i just have to add that code with my script then it'll generate the Records.inf.
Okay i'll try.
truerepacks
08-07-2016, 03:01
I have created a custom script from Mr316dx's BlackBox Script.
So i just have to add that code with my script then it'll generate the Records.inf.
Okay i'll try.
yeah it will generate a records.inf file in ur installation directory if set the {src}\records.inf in isdoneint
actully it is nothing bt the percentage of progrss allotted by isdone itself basis on the time taken to complete the specific task and thats why i said the perfect progressbar
and about rohini i live jst 50 km away from it, in delhi
yeah it will generate a records.inf file in ur installation directory if set the {src}\records.inf in isdoneint
actully it is nothing bt the percentage of progrss allotted by isdone itself basis on the time taken to complete the specific task and thats why i said the perfect progressbar
and about rohini i live jst 50 km away from it, in delhi
So where you from (Maybe this is not the correct place to ask, Why don't we be Friends at FB :https://www.facebook.com/prince.sharma.3110)
truerepacks
08-07-2016, 03:51
So where you from (Maybe this is not the correct place to ask, Why don't we be Friends at FB :https://www.facebook.com/prince.sharma.3110)
suprisingly my real name is also Prince........Prince Gupta
Carldric Clement
09-07-2016, 07:11
Okay i've got it but how do i Get to Generate a "Records.inf" ?
Thanks
You don't need use records.inf. Try to use my code if works on your installer scripts.
:D:p
truerepacks
09-07-2016, 07:38
You don't need use records.inf. Try to use my code if works on your installer scripts.
:D:p
actully he need it i had a talk with him and i probably solved his issues.
Yeah This one is Solved!
Thanks brothers.. For your Time, i really appreicate it :D
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.