ISDone

DLL ISDone 0.6 final

Нет прав для скачивания

Alloc

Новичок
Заменить флаг waituntilterminated на nowait.
ну это понятно, но мне все же надо чтоб инсталлятор проследил за конечным результатом установки (удачно или нет) в зависимости от выполнения этой программы в конце установки.. Может быть есть еще варианты? Просто пользователь должен видеть какое действие сейчас выполняется... при этом окно не должно висеть.. Заранее спасибо.
 

Ekspoint

Новичок
Можете пожалуйста сделать код только для распаковки 7zip архива(Больше ничего лишнего). Только еще прогресс бар оставить и кнопку отмены распаковки.
 
Последнее редактирование:

dixen18

Ветеран
Ребятки подскажите пожалуйста как прописать верные параметры в ISDone чтоб устанавливались выбранные в секции Compnents архивы? Cделал репак на Sims 3 с выбором любого дополнения + Каталога + Store, прописал секцию в скрипте, а вот как сделать чтоб устанавливалось только отмеченное - не понимаю...

Секция [Components]
Код:
[Components]
Name: BasicGameSetup; Description: Базовая игра; Flags: fixed; Types: Full;
Name: BasicGameSetup\BasicGame; Description: Базовая игра; Flags: exclusive; ExtraDiskSpaceRequired: 6633263296
Name: AddonsSetup; Description: Дополнения; Flags: fixed; Types: Full;
Name: AddonsSetup\Adventures; Description: Мир приключений; Flags: checkablealone; ExtraDiskSpaceRequired: 1498882694
Name: AddonsSetup\Ambitions; Description: Карьера; Flags: checkablealone; ExtraDiskSpaceRequired: 1490648330
Name: AddonsSetup\LateNight; Description: В сумерках; Flags: checkablealone; ExtraDiskSpaceRequired: 1604699378
Name: AddonsSetup\Generations; Description: Все возрасты; Flags: checkablealone; ExtraDiskSpaceRequired: 1024533112
Name: AddonsSetup\Pets; Description: Питомцы; Flags: checkablealone; ExtraDiskSpaceRequired: 2397821774
Name: AddonsSetup\ShowTime; Description: Шоу-бизнес; Flags: checkablealone; ExtraDiskSpaceRequired: 1703664517
Name: AddonsSetup\Supernatural; Description: Сверхъестественное; Flags: checkablealone; ExtraDiskSpaceRequired: 1067082983
Name: AddonsSetup\Seasons; Description: Времена года; Flags: checkablealone; ExtraDiskSpaceRequired: 1060181362
Name: AddonsSetup\Univercity; Description: Студенческая жизнь; Flags: checkablealone; ExtraDiskSpaceRequired: 1107514771
Name: AddonsSetup\Island; Description: Райские острова; Flags: checkablealone; ExtraDiskSpaceRequired: 932090526
Name: AddonsSetup\IntoTheFuture; Description: Вперед в будущее; Flags: checkablealone; ExtraDiskSpaceRequired: 1435314423
Name: CatalogsSetup; Description: Каталоги:; Flags: fixed; Types: Full;
Name: CatalogsSetup\HighEnd; Description: Современная роскошь; Flags: checkablealone; ExtraDiskSpaceRequired: 282143078
Name: CatalogsSetup\FastLane; Description: Скоростной режим; Flags: checkablealone; ExtraDiskSpaceRequired: 217225375
Name: CatalogsSetup\Outdoor; Description: Отдых на природе; Flags: checkablealone; ExtraDiskSpaceRequired: 208405922
Name: CatalogsSetup\TownLife; Description: Городская жизнь; Flags: checkablealone; ExtraDiskSpaceRequired: 127988189
Name: CatalogsSetup\MasterSuite; Description: Изысканная спальня; Flags: checkablealone; ExtraDiskSpaceRequired: 108608926
Name: CatalogsSetup\KatyPerry; Description: Кэти Перри - Сладкие радости; Flags: checkablealone; ExtraDiskSpaceRequired: 135838424
Name: CatalogsSetup\Diesel; Description: Diesel; Flags: checkablealone; ExtraDiskSpaceRequired: 96020857
Name: CatalogsSetup\708090; Description: Стильные 70-е, 80-е, 90-е; Flags: checkablealone; ExtraDiskSpaceRequired: 125321448
Name: CatalogsSetup\Movie; Description: Кино; Flags: checkablealone; ExtraDiskSpaceRequired: 277693164
Name: StoreSetup; Description: Дополнительные материалы; Flags: fixed; Types: Full;
Name: StoreSetup\Store; Description: Установка Store; Flags: checkablealone; ExtraDiskSpaceRequired: 9311581202
 

sergey3695

Ветеран
Модератор
В справке описание скрипта читай.
Или
Код:
if IsComponentSelected('text\rus') then
где 'text\rus' это Name в [Components]. Условие чтоб потом распаковывалась определенная часть архива или определенный архив. Тоже там в справке примеры есть.
 

Вложения

dixen18

Ветеран
sergey3695,
Посмотрите пожалуйста все верно или нет?
Код:
#ifdef Components
  TmpValue:=1;
  if IsComponentSelected('AddonsSetup\Adventures') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\Ambitions') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\LateNight') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\Generations') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\Pets') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\ShowTime') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\Supernatural') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\Seasons') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\Univercity') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\Island') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('AddonsSetup\IntoTheFuture') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\HighEnd') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\FastLane') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\Outdoor') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\TownLife') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\MasterSuite') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\KatyPerry') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\FastLane') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\Diesel') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\708090') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('CatalogsSetup\Movie') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  if IsComponentSelected('StoreSetup\Store') then Comps1:=Comps1+TmpValue;
  TmpValue:=TmpValue*2;
  #endif

  #ifdef precomp
  PCFVer:={#precomp};
  #else
  PCFVer:=0;
  #endif
  ISDoneError:=true;
  if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback) then begin
  repeat
  ChangeLanguage('Russian');
  if not SrepInit('',512,0) then break;
  if not PrecompInit('',128,PCFVer) then break;
  if not FileSearchInit(false) then break;

  if not ISArcExtract  ( 0, 0, ExpandConstant('{src}\Data01.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 1, 0, ExpandConstant('{src}\Data02.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 2, 0, ExpandConstant('{src}\Data03.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 3, 0, ExpandConstant('{src}\Data04.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 4, 0, ExpandConstant('{src}\Data05.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 5, 0, ExpandConstant('{src}\Data06.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 6, 0, ExpandConstant('{src}\Data07.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 7, 0, ExpandConstant('{src}\Data08.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 8, 0, ExpandConstant('{src}\Data09.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 9, 0, ExpandConstant('{src}\Data10.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 10, 0, ExpandConstant('{src}\Data11.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 11, 0, ExpandConstant('{src}\Data12.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 12, 0, ExpandConstant('{src}\Data13.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 13, 0, ExpandConstant('{src}\Data14.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 14, 0, ExpandConstant('{src}\Data15.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 15, 0, ExpandConstant('{src}\Data16.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 16, 0, ExpandConstant('{src}\Data17.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 17, 0, ExpandConstant('{src}\Data18.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 18, 0, ExpandConstant('{src}\Data19.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 19, 0, ExpandConstant('{src}\Data20.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 20, 0, ExpandConstant('{src}\Data21.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
  if not ISArcExtract  ( 21, 0, ExpandConstant('{src}\Data22.dxn'), ExpandConstant('{userdocs}\Electronic Arts\The Sims 3\Downloads\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{userdocs}\Electronic Arts\The Sims 3\Downloads\'), notPCFonFLY{PCFonFLY}) then break;
 

sergey3695

Ветеран
Модератор
Код:
if IsComponentSelected('StoreSetup\Store') then Comps1:=Comps1+TmpValue;
TmpValue:=TmpValue*2;
TmpValue:=TmpValue*2; можешь тут стереть.
Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data01.dxn'), ExpandConstant('{app}\'), '', false, '5923-AC-2826', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
тут просто распаковка без привязки к компоненту? если нет, то с 1 начинай.
 

dixen18

Ветеран
sergey3695, Да именно - базовая игра устанавливается в любом случае. Я остановился на этой игре не потому что фанат Симсов нет Боже упаси. Причин тут две. 1. Заметил что для создания репака этой игры нужно поработать головой а значит есть возможность набраться опыта и 2. В сети не увидел нормального репака с выбором что нужно ставить пользователю а что нет. Один такой был у Каталистов но он не обновляется (и к тому же там нету Store)
За советы большое Вам спасибо)
----
sergey3695, Все работает прекрасно, спасибо) Но теперь возникла другая проблема. Когда устанавливаешь выборочно базовую игру и любой аддон то игра не запускается, так как в реестре прописываются данные ВСЕЙ игры и это мешает запускаться. Как сделать так чтоб в реестр вписывались только данные тех аддонов которые устанавливаются? Спасибо
 
Последнее редактирование модератором:

sergey3695

Ветеран
Модератор
dixen18, вроде так
Пример
Код:
[Registry]
Root: HKCU; Subkey: "Software\My Company"; Check: IsComponents(0); Flags: uninsdeletekeyifempty;

[Code]
function IsComponents(CompIndex: Integer): Boolean;
var
  i: Integer;
begin
  Result := False;
  for i := 0 to WizardForm.ComponentsList.ItemCount - 1 do
  begin
    if CompIndex <= (WizardForm.ComponentsList.ItemCount - 1) then
      Result := WizardForm.ComponentsList.Checked[CompIndex];
  end;
end;
нумерация строк в компанент листе с нуля.
 

EvilAlex

Старожил
Доброго времени суток!
Не могу найти пример текстурирования прогресс бара через ботву... Пробовал взять из других скриптов но он или не отображаеться. или его не убрать)
Помогите пожайлуста примерчиком, желательно на простом исдоне)
Заранее спасипо!

спасибо за дизайн sergey3695
 

Вложения

bosenok

Новичок
Приветствую всех уважаемых людей на этом форуме,спасибо вам за советы,ответы и за отзывы всегда и никогда не было чтобы не ответили и у меня маленький вопросик вот про этот текстовый документик records.inf(ну я знаю что он для создания автоматического времени)но хочется как-то узнать как настраивать его для каждой программы или игры?
у меня всё и жду ответа плиз
ну пример допустим игра весит 5 гигобайт а это 5120 мегабайт а это 5242880 КБ
 

Косой

Новичок
Ну его как бы исдоне создаёт автоматически после тестового прогона для текущей программы или игры, то есть для каждой он будет отличаться в зависимости от архивов.
 

Timick

Старожил
Дык в нем, вроде, автоматически прописываются все значения после тестового прогона. Зачем менять их в ручную, не пойму?
 

dixen18

Ветеран
Парни подскажите, что надо добавить в папку Include и в скрипты для распаковки такого?

Рифлейт последней версии лежит, SREP тем более..Делаю коллекцию Crysis по заказу, а там (во второй и третьей части), как Вам известно, архивы зашифрованы - помогает только рифлейт. Расшифровка архивов бесполезна, так как с такими архивами игра не работает. А как этот шифр вбить назад и где его взять увы не знаю

UPD -Вроде разобрался) В батнике просто добавить delta. Пример
reflate+srep+delta+lzma:a1:mfbt4:d200m:fb273:mc10000:lc8
 
Последнее редактирование:

Esysex

Мимокрокодил
Здравствуйте! У меня возник вопрос, возможно ли отображать прогресс не в процентах, а в количестве распакованных мегабайт, (Пример: Распаковано 228 МБ из 1337 МБ)?
P.S: ISDone 0.6Final
 

PrinceGupta2000

Мимокрокодил
how to implement
7zg x -t7z -so ".\texture files.tf.7z" | srep -d -s - data.tmp
in isexec module

i use this
setArraylength(ExtStr,1);
ExtStr[0]:= '"'+ExpandConstant('{tmp}\packzip.exe')+'" x -t7z -y -so "'+ExpandConstant('{src}\data1.bin')+'" | "'+ExpandConstant('{tmp}\srep')+ '" -d -s - "'+ExpandConstant('{app}\data.tmp')+'"';
SaveStringstoFile(ExpandConstant('{tmp}\mine.bat'),ExtStr,False);

if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\mine.bat'), '', ExpandConstant('{tmp}'), 'Texture files...',true) then break;
bt get error that srep can't open data.tmp for writing
 

SBalykov

Старожил
how to implement
7zg x -t7z -so ".\texture files.tf.7z" | srep -d -s - data.tmp
in isexec module

i use this
setArraylength(ExtStr,1);
ExtStr[0]:= '"'+ExpandConstant('{tmp}\packzip.exe')+'" x -t7z -y -so "'+ExpandConstant('{src}\data1.bin')+'" | "'+ExpandConstant('{tmp}\srep')+ '" -d -s - "'+ExpandConstant('{app}\data.tmp')+'"';
SaveStringstoFile(ExpandConstant('{tmp}\mine.bat'),ExtStr,False);

if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\mine.bat'), '', ExpandConstant('{tmp}'), 'Texture files...',true) then break;
bt get error that srep can't open data.tmp for writing
ExtStr[0]:= '"'+ExpandConstant('{tmp}\packzip.exe')+'" x -t7z -y -so "'+ExpandConstant('{src}\data1.bin')+'" | "'+ExpandConstant('{tmp}\srep.exe')+ '" -d -s - "'+ExpandConstant('{app}\data.tmp')+'"';
 
Сверху