ISDone

DLL ISDone 0.6 final

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

dixen18

Ветеран
Кстати вопрос про IsArcEX - кто пробовал? В чем отличие от ISDone? Есть смысл в использовании?
 

tihiy_don

Старожил
Кстати вопрос про IsArcEX - кто пробовал? В чем отличие от ISDone? Есть смысл в использовании?
Репаки свои на него перегнал. Тот же исдан, только не надо прогон делать тестовый. В работе себя нормально показал.
Много всяких примеров от автора, где можно скорость распаковки вывести, загрузка цп и многое другое.
 

dixen18

Ветеран
Про тестовый прогон прикольно.
Жаль что несилен в IS кодинге, так попробовал бы.
Спасибо за ответы))
 

tihiy_don

Старожил
Про тестовый прогон прикольно.
Жаль что несилен в IS кодинге, так попробовал бы.
Спасибо за ответы))
Чо там пробовать-то? Контр ц - контр в. Если что пиши, FMX Team тебе поможет. Да и пора бы уже перенести инсталл на FMX, а не сидеть на ванильных страничках.
 

Adice

Мимокрокодил
Есть какой-то вариант поменять название инсталлятора во время работы IsDone ( скриншот).
А по поводу тестового прогона можно records.inf самому написать.
Для 7zip архивов, которые собираются отдельной программой, можно и records.inf сгенерить.
При генерации для каждого архива там идёт строка:
цифра цифра 0 0
Для приближения к 100% без перебора этого числа достаточно взять размер архива, например, 1000 мб.
И сделать манипуляции: первое число это ~80% от размера, второе число это 25% от предыдущего числа, 0, 0.
Будет такое:
800 200 0 0
Доходит где-то до 95-98% в моём случае с 3 архивами.
Если у IsArcEx нет проблемы, как на скриншоте, дайте знать, пожалуйста)
 

Вложения

audiofeel

Старожил
Есть какой-то вариант поменять название инсталлятора во время работы IsDone
ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback)
MainForm.Handle меняйте на WizardForm.Handle.
будет надпись - Setup.
Точно так же в IsArcEx.
ISArcExInit(MainForm.Handle, {#TimeFormat}, @ProgressCallback)
 

Adice

Мимокрокодил
MainForm.Handle меняйте на WizardForm.Handle.
В тему такой вещи, где-то есть вменяемая справка по IsDone.
Пробежался по форуму и гуглу и нашёл только упоминания о справке, а ссылки на полноценную документацию не нашёл.
Она вообще существует?
И оффтоп, можно ссылку на документацию по FMXInno.dll . Понравились работы, audiofeel
 

tihiy_don

Старожил
@Adice, как таковой документации по FMXInno нет, лезешь в модуль и там всё смотришь. Или по примерам.
 

Destroyd

Новичок
Здравствуйте, господа знатоки! Я тут новенький. Хотел вот спросить ибо сам не могу допереть, в чём прикол. В общем, собрал три архива - ролики, звук, текстуры. В компонентах указал 2 вида - русская версия, английская версия. В трёх архивах есть подпапки r0, e0 / r1, e1 / r2, e2 . При выборе русской версии должна идти распаковка и установка подпапок r0, r1 и r2, при выборе английской, соответственно - e0, e1 и e2. Но при запуске инсталляции и выборе русской версии он распаковывает только первый архив data1.bin, после чего установщик просто вылетает без ошибки. При выборе английской версии всё устанавливается нормально. Думаю проблема где-то здесь (на картинке). Помогите, пожалуйста, понять.
 

Вложения

  • 317.6 KB Просмотры: 24
Последнее редактирование:

Crachlow

Старожил
Интересно как ты в одной директории имеешь два архива с одинаковым именем и расширением? Тебе надо переименовать их как dataru1.bin dataru2.bin и т.д. и чтобы не путаться располагать их
Код:
if not ISArcExtract    ( 1, 0, ExpandConstant('{src}\dataru1.bin'), ExpandConstant('{app}\'), 'r0', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
if not ISArcExtract    ( 1, 0, ExpandConstant('{src}\dataru2.bin'), ExpandConstant('{app}\'), 'r1', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
..................................
..................................
 

Destroyd

Новичок
Интересно как ты в одной директории имеешь два архива с одинаковым именем и расширением? Тебе надо переименовать их как dataru1.bin dataru2.bin и т.д. и чтобы не путаться располагать их
Код:
if not ISArcExtract    ( 1, 0, ExpandConstant('{src}\dataru1.bin'), ExpandConstant('{app}\'), 'r0', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
if not ISArcExtract    ( 1, 0, ExpandConstant('{src}\dataru2.bin'), ExpandConstant('{app}\'), 'r1', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
..................................
..................................
Одинаковое имя и расширение, т.к. все три архива - data1.bin, data2.bin и data3.bin содержат как русскую так и английскую версию (данные обоих компонентов). Т.е data1.bin разделён внутри на папки r0 и e0. r0 - русские текстуры, e0 - английские. Файл data2.bin разделён внутри на r1 и e1. r1 - русские видеоролики, а r2 - английские. Не совсем понял как поможет переименование. Английские текстуры ведь всё равно останутся в условной dataru1.bin во внутренней папке e0. Странно, что если выбрать англ. версию (компонент 2), то интсаллятор установит игру нормально и правильно. А при выборе русской версии (компонент 1) инсталлятор не может подхватить распаковку data2.bin и data3.bin и без ошибки вылетает после распаковки data1.bin.
 
Последнее редактирование:

Crachlow

Старожил
Одинаковое имя и расширение, т.к. все три архива - data1.bin, data2.bin и data3.bin содержат как русскую так и английскую версию (данные обоих компонентов). Т.е data1.bin разделён внутри на папки r0 и e0. r0 - русские текстуры, e0 - английские. Файл data2.bin разделён внутри на r1 и e1. r1 - русские видеоролики, а r2 - английские. Не совсем понял как поможет переименование. Английские текстуры ведь всё равно останутся в условной dataru1.bin во внутренней папке e0. Странно, что если выбрать англ. версию (компонент 2), то интсаллятор установит игру нормально и правильно. А при выборе русской версии (компонент 1) инсталлятор не может подхватить распаковку data2.bin и data3.bin и без ошибки вылетает после распаковки data1.bin.
Т.е data1.bin разделён внутри на папки r0 и e0. r0 - русские текстуры, e0 - английские.
Тут unarc.dll не поможет. Тут нужен unarc.exe и из архива извлекать то что тебе нужно. Как пример:
Код:
if not ISExec ( 1, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ -pPASSWORD -apПАПКА_В_АРХИВЕ_РУС "{src}\data1.bin" -dp"{app}"'), ExpandConstant('{tmp}'), 'Установка Русской версии ...',false) then break;
 
Сверху