ISDone

DLL ISDone 0.6 final

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

ProFrager

Знаток
Проверенный
ozerothik, кроме задания параметров в PrecompInit и SrepInit (да и то не обязательно) ничего больше не указывается.
 

vint56

Ветеран
Проверенный
ozerothik, используется таже строчка что и для распаковки фриарк архивов только в начале скрипта надо раскаменитировать сточки PrecompInside и SrepInside что быдеш использовать
 

nik1967

Old Men
Проверенный
FATAL, но для распаковки всё же используется
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;, как писал vint56, а не
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\data1024_1024.srep'),ExpandC onstant('{app}\data1024.arc'), true) then break;
 

1noObman1

Новичок
1noObman1, овчинка выделки не стоит, все равно для разового использования. Проще каждый каталог указать вручную.
Ну для 300+папок стоит. Хотя уже не надо, реализовал по другому. Вот теперь другой вопрос. Почему ф-ция дельты удаляет после себя лишь файлы разницы, а исходные файлы оставляет? Нельзя ли в след. версии и их удаление сделать (опционально)?

Добавлено через 1 час 9 минут
Кстати ф-ция PCFonFly не пашет с -ap. При ошибке видно что оно ижет файлу по пути в архиве а не в {app}. Ну чтоб понятнее то выдает ошибку на файле "{app}\en\data\data.pcf", хотя на самом деле файл находится тут "{app}\data\data.pcf", то бишь указано -apen. Можно как-то исправить? Хотя у меня и обычный прекомпекстракт чего-то не пашет. Завтра кину скрин с ошибкой.
 

Snoopak96

Старожил
1noObman1,
Да, действительно ошибка.

Добавлено через 1 час 18 минут
Вот хочу пока предложить такой вариант распаковки части архива и распаковки группы pcf файлов:
[hide=Код]
Код:
        if not FileSearchInit(true) then break;

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

        FindHandle1:=ISFindFiles(0,ExpandConstant('{app}\*.pcf'),ColFiles1);
        ExecError:=false;
        while not ExecError and ISPickFilename(FindHandle1,ExpandConstant('{app}\' ),CurIndex1,true) do begin
        InFilePath:=ISGetName(0);
        OutFileName:=ISGetName(1);
        ExecError:=not ISExec(0, 0, 0, ExpandConstant('{tmp}\precomp041.exe'),' -r "+InFilePath+"', ExtractFilePath(OutFileName) ,'',false);
        end;
        ISFindFree(FindHandle1);
        if ExecError then break;
[/hide]
имя для файла на выходе из прекомпа берётся из заголовка, по скорости должно быть примерно так же как и с PCFonFLY.
 
Последнее редактирование:

ozerothik

Мимокрокодил
Ну вот раскоментил if not PrecompInit('',128,PCFVer) then break;
Затем прописал if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break; для ПрекомпИнсайдирования так сказать... Пишет не совпадает контрольная сумма. Тупой ли я?:)
 

ACtivity

Новичок
ozerothik,
Как я понял, сжатие должно быть в самом FreeArc'e
-----------------------------
-msrep+lzma
или
-mprecomp+lzma,
-----------------------------
тогда разница будет ощутима при распаковке этих архивов.
Мб другую версию прекомпа использовал?
 
Последнее редактирование:

ozerothik

Мимокрокодил
FATAL,
В соседней теме лежат SrepInside и PrecompInside, ок? В PrecompInside, который в той теме версия 0.4!
 

1noObman1

Новичок
Snoopak96, да это я знаю как делать, но глупо использовать екзек если есть прекомпекстраакт (я щас не про псф на лету). Ведь даже после распаковки архива обычная ф-ция прекомпа не пашет (выдаёт ошибку после перепаковки первого пкф файла). Вот понять бы почему он не пашет...
Гдет в течении часа выложу скрин с ошибкой.

Всё, разобрался с ошибкой прекомпа. Осталась проблема с -ап и псф на лету.
 
Последнее редактирование:

manstopper

Мимокрокодил
Проявилась такая бага в ISDone 0.6e. Инсталлер крашится при тестовом прогоне, если обрабатывать более ~64 тыс. файлов через функцию распаковки ogg. Подозреваю, что это связано с кол-вом записей в records.
 

szaby59

Мимокрокодил
Hello!

I compressed files with Precompinside.

Now how can I decompress directly with isdone 0.6e?

I tried the Isfreearcextract decompressor but doesn't decompress anything.

if not PrecompInit('',128,PCFVer) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\data1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
 

Snoopak96

Старожил
szaby59,
....
....
#define PrecompInside
;#define SrepInside
;#define facompress
;#define precomp "0.41"
;#define unrar
;#define XDelta
;#define PackZIP

[Setup]
AppName=ISDone
AppVerName=ISDone
DefaultDirName={pf}\ISDone
DefaultGroupName=ISDone Example
OutputDir=.
OutputBaseFilename=Setup
VersionInfoCopyright=ProFrager
SolidCompression=yes

....
....
....

Код:
....
....
....               
        if not PrecompInit(ExpandConstant('{app}\'),128,PCFVer) then break;   
        if not FileSearchInit(true) then break;

        if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\data1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

....
....
....[/QUOTE]
 

ProFrager

Знаток
Проверенный
szaby59,
1) Check whether the line commented out #define PrecompInside.
2) Check whether the same version used for the packing and unpacking (precomp.exe from the folder Include should match the version that is packed. Also, if necessary, we must add zlib1.dll in the installer project).

P.S. stupid Goolge Translator
 

Aniv

Мимокрокодил
Всем привет
у меня возникла вот какая проблема
имеются 2+ архива допустим data-1.arc, data-2.arc.... все сжаты с помощью precomp+lmza (PrecompInside)
архивы распаковываются через строку ISArcExtract
так вот первый архив data-1.arc распаковывается без проблем, как требуется в процессах появляется precomp.exe, архив удачно распаковывает и после чего выгружается precomp.exe
а вот для второго data-2.arc этот самый precomp.exe не загружается и архив не распаковывается и главное никакой ошибки не выдает, секунды идут дальше но все стоит на месте и никакой реакции, даже инсталятор приходится выгружать через диспетчер.
В чем может быть проблема кто может подскажет, а то прочитал все вроде посты а похожей проблемы не встретил..
P.S. распаковка через ISExec (unarc.exe) дает такой же эффект, первый архив норм распакует а второй так же не начинает даж и если даже data-1.arc(сжат PrecompInside) data-2.arc(сжат простым методом) data-3.arc(сжат PrecompInside) то всеравно 1й архив норм распакует, 2й тоже норм, а 3й опять же висит
 

ProFrager

Знаток
Проверенный
Aniv, такая штука была в версиях PrecompInside ранее 0.2 (забыл добавить в измения этот багфикс)
 
Сверху