Вопрос How to extract two or more files with one progressbar? (ISDone)

nizcoz

Участник
I am using the last version of ISDone. What is the correct way of extract two arc files (example) with one progress bar? (if i use one progress bar the first arc file ends on 100% and here extract the another one. The code that i use is:

Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\video1.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
     
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\video2.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
 
Последнее редактирование:

Adil

Старожил
nizcoz, first time you need to unpack all your archives, after this isdone will create records.inf near setup.exe. You need to take this records.inf file and put it near your script.iss file. Then open your script, and remove ";" near #define records. Something like this:

#define records

///.....other code

[Files]
#ifdef records
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
#endif

after this recompile your setup.exe, and it will unpack you archives correct. Good luck. (sorry for my english :D)
 

nizcoz

Участник
@Adil Thanks. Could you give me some links of FAQ about ISDone? I can not find it because it complicates me a lot the Russian language.
 
Последнее редактирование:
  • Like
Реакции: Adil

Adil

Старожил
nizcoz, you are welcome. I don't know, is there any FAQ in english, but it is now so hard how you think. If you have any questions, just ask it there.
For example, to extract certain folder from archive, use this:

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data.arc'), ExpandConstant('{app}'), 'Folder_name inside your archive', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

Example:
[Components]
Name: Mods; Description: Natural & Realistic Lighting Mod;
Name: Mods\main7; Description: Full | Полная [Windows 7]; Flags: exclusive;
Name: Mods\main810; Description: Full | Полная [Windows 8 - 10]; Flags: exclusive;
Name: Mods\lite7; Description: Lite | Облегченная [Windows 7]; Flags: exclusive;
Name: Mods\lite810; Description: Full | Облегченная [Windows 8 - 10]; Flags: exclusive;

/// Other code

Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
TmpValue:=1;
if IsComponentSelected('Mods\main7') then Comps1:=Comps1+TmpValue; //Component 1 /*There you determine number of your component*/
TmpValue:=TmpValue*2;
if IsComponentSelected('Mods\main810') then Comps1:=Comps1+TmpValue; //Component 2
TmpValue:=TmpValue*2;
if IsComponentSelected('Mods\lite7') then Comps1:=Comps1+TmpValue; //Component 3
TmpValue:=TmpValue*2;
if IsComponentSelected('Mods\lite810') then Comps1:=Comps1+TmpValue; //Component 4
// см. справку
#endif

if not ISArcExtract ( 1, 0, ExpandConstant('{src}\data.arc'), ExpandConstant('{app}'), 'Main Win7', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 2, 0, ExpandConstant('{src}\data.arc'), ExpandConstant('{app}'), 'Main Win8-10', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 3, 0, ExpandConstant('{src}\data.arc'), ExpandConstant('{app}'), 'Lite Win7', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 4, 0, ExpandConstant('{src}\data.arc'), ExpandConstant('{app}'), 'Lite Win8-10', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

this numbers in "if not ISArcExtract ( 1" string means number of components.
and etc.[/Code]
 

nizcoz

Участник
@Adil Thanks! If the Faqs are in russian it is ok! It is difficult to find them only. If you have Faqs in russian are welcome.
 
  • Like
Реакции: Adil
Сверху