Когда ругается на неизвестный метот сжатия, то вариантов немного. первый - arc.ini использован не тот, который использован при упаковке. второй - один раз и совершенно случайно мне удалось получить подобную ошибку, когда не совпадали версии файлов при упаковке и распаковке. Как (эту ошибку, при правильном arc.ini получит ни разу больше не удалось) до сих пор удавляюсь сам, больше не удавалось ни разу.так и прописано
даPUNISHER, а при распаковке пользуешь тот же экзешник, которым и паковал?
[Default options]
[Compression methods]
[External compressor:srep]
;options = l%d (minimal match length, default=512)
header = 0
packcmd = srep {options} -a1 -m3f $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = srep -d -s $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
[External compressor:precomp]
header = 0
mem = 10
packcmd = precomp -slow -t-j {options} -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
unpackcmd = precomp -o$$arcdatafile$$.tmp -r $$arcpackedfile$$.tmp
[External compressor:tak]
packcmd = takc -e {options} $$arcdatafile$$.wav $$arcpackedfile$$.tak
unpackcmd = takc -d $$arcpackedfile$$.tak $$arcdatafile$$.wav
datafile = $$arcdatafile$$.wav
packedfile = $$arcpackedfile$$.tak
solid = 0
[External compressor:msc]
header = 0
packcmd = msc c -v {options} $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
[Default options]
[Compression methods]
[External compressor:srep]
packcmd = srep {options} $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = srep -d - - <stdin> <stdout>
[External compressor:tak]
packcmd = takc -e {options} $$arcdatafile$$.wav $$arcpackedfile$$.tak
unpackcmd = takc -d $$arcpackedfile$$.tak $$arcdatafile$$.wav
Тож встречался с такой траблой, и не я один. Видимо, arc.exe и unarc.dll по-разному интерпретируют ini файл.странно что arc.exe распаковывал, а isdone нет
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\game.bin'), ExpandConstant('{app}\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\game.srep'),ExpandConstant('{app}\game.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\game.pcf'), ExpandConstant('{app}\game.7z'), true) then break
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\game.7z'), ExpandConstant('{app}\data1'), false, '') then break;
А где мне прописать чтобы был выбор 1 из 2х, если делать так:Лёха, if not ISArcExtract ( 1, 0, ExpandConstant('{src}\Data.bin'), ExpandConstant('{app}\'), 'RUS', false, '','', '', notPCFonFLY ) then break;
1 - номер компонента. RUS - папка в архиве при выбранном 1-м компоненте.