FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   Percentage Problem with ISExec (https://fileforums.com/showthread.php?t=98000)

Prince4 07-07-2016 00:52

Percentage Problem with ISExec
 
3 Attachment(s)
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 :

Code:

//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
Code:

//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

Quote:

Originally Posted by Prince4 (Post 449891)
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 :

Code:

//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:
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;


Prince4 07-07-2016 22:43

Quote:

Originally Posted by truerepacks (Post 449892)
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
Code:

//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?

Prince4 07-07-2016 22:46

Quote:

Originally Posted by Carldric Clement (Post 449901)
Try this code:
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.

Prince4 07-07-2016 23:52

Quote:

Originally Posted by felice2011 (Post 449907)
@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.
Code:

  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;


Prince4 08-07-2016 01:34

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

Quote:

Originally Posted by Prince4 (Post 449910)
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

Prince4 08-07-2016 03:17

Quote:

Originally Posted by truerepacks (Post 449912)
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

Quote:

Originally Posted by Prince4 (Post 449913)
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

Quote:

Originally Posted by Prince4 (Post 449904)
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

Quote:

Originally Posted by Carldric Clement (Post 449950)
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.

Prince4 15-07-2016 06:42

Yeah This one is Solved!
Thanks brothers.. For your Time, i really appreicate it :D


All times are GMT -7. The time now is 13:53.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com