Использую скрипт, основанный на
ISFreeArcExtract v.4.2b, а если точнее - немного переделанный под свои нужды.
Мне прекрасно известно, что данный проект больше не поддерживается, а так же имеется альтернатива - isDone.
Тем не менее мне приглянулся этот скрипт, отбив все желание пользоваться isDone'ом.
Вроде все работает как надо, хотя... есть одна проблема
Собственно сама проблема заключается в следующем:
(модуль Extract)
прекомп, среп в Main отключены.
Код:
;#define precomp
;#define srep
При распаковки нескольких внешних arc-архивов, упакованные freearc'ом отдельно и заранее, я заметил следующее:
Время до конца распаковки сначала - несколько минут, как и положено, потом довольно быстро падает до пары секунд, а потом снова увеличивается и снова падает до нескольких секунд. При четырех архивах в общем объеме около 7Гб так происходит раз так 5-6. Понимаю, что нужно изменить следующее выражение:
Код:
Remaining:= ((100000-Progress.AllPos)*(GetTickCount-StartInstall)/Progress.AllPos)*(DS.MaxCount+1-DS.CurDisk);
на что-то другое (другие переменные), но сделав по аналогии, как в
FreeArc4InnoSetup3_5, я получаю растущее время, только в этом случае секунда в сетапнике не равна секунде. Бился над этой проблемой несколько часов, но к ожидаемому результату я не пришел. В других версиях
ISFreeArcExtract - либо осталось ждать завершение, либо осталось 9895 часов, и все в таком духе. В
FreeArc4InnoSetup3_5 время отображается как надо, но у меня не получилось по аналогии приспособить код, который отвечал за время для
ISFreeArcExtract.
Но если честно - я бы в память об Windows XP оставил бы так как есть, если бы хотя бы формат времени тоже не барахлил, как например:
(тоже не додумался, как правильно сделать)
осталось 1 минута
0 сек -> осталось 2 минуты
0 сек -> осталось 365,2 сек -> ... -> осталось 72,7 сек.
Если брать часы, то выглядит как то так:
осталось 4 часа
0 мин -> осталось 2 часа
0 мин -> осталось 1 час
0 мин -> осталось 50 мин
0 сек.
А хотелось приблизительно так:
осталось 3 минута
25 сек -> осталось 1 минута
12 сек -> осталось 56 сек.
Inno Setup брал на innoultra, использую unicode версию.
Shegorat, надеюсь на Вашу помощь.