Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 2107 - extrac32 не распаковывает самораспаковывающиеся cab-файлы   Make a simular bug
Summary: extrac32 не распаковывает самораспаковывающиеся cab-файлы
Status: CLOSED INVALID
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Файловые операции (show other bugs)
Version: 1.0.9
Hardware: PC All
: P4 minor
Target Milestone: ---
Assignee: Константин Кондратюк
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 693 777 1527
  Show dependency treegraph
 
In work:
Reported: 2008-07-12 05:31 MSD by Vitaly Lipatov
Modified: 2008-11-11 09:58 MSK (History)
2 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2008-07-12 05:31:17 MSD
Вайновская команда не распаковывает:
[lav@euclid 1]$ wine extrac32 /E vcredist.exe mfc42u.dll
err:cabinet:FDICopy FDIIsCabinet failed.
fixme:extrac32:ExtCab Can not extract cab file:L"vcredist.exe"!!!

Линуксовый cabextract - без проблем:
[lav@euclid 1]$ cabextract vcredist.exe -F "mfc42u.dll"
Extracting cabinet: vcredist.exe
  extracting mfc42u.dll

В Windows вроде как молча завершается: 
C:\> extrac32 /E vcredist.exe mfc42u.dll

vcredist.exe лежит в windows/downloads

вообще цель - чтобы vcredist установил mfc42u.dll при своей установке.
По идее оно ставится только на NT-систему. В нашей системе он стирает даже тот файл mfc42u.dll, который есть.
Comment 1 Константин Кондратюк 2008-07-18 11:20:43 MSD
В ies4linux есть ещё вот такое использование cabextract'а:
$ cabextract -L -F ver1200.exe ./249973USA8.exe

Сейчас это держит зависимость от cabextract при установке IE в свободной сборке. Если появится адекватная обработка такой команды, можно будет выкинуть зависимость.
Comment 2 Vitaly Lipatov 2008-07-18 12:58:52 MSD
Возможно будет достаточно просто запустить этот файл, чтобы он сам распаковался, с одним из ключей
http://freesource.info/wiki/WINE/Programs/wcabextract
Comment 3 Виталий Перов 2008-07-31 12:34:05 MSD
ошибка выдаётся при проверке MSCF signature.
Вообще странно распаковывать файл вручную, если он сам может себя распаковать
Думаю extrac32 должен сначала проверять расширение, и если оно *.exe, то запускать сам файл.
Проблема в том, как распаковать отдельных файл оттуда.
Если набрать wine vcredist.exe /?, то можно посмотреть поддерживаемые опции. Распаковки отдельных файлов там нет, хотя это ещё не значит, что она не поддерживается

Есть ещё второй вариант - распаковывать именно через функции cabinet.dll, но для этого надо в *.exe файле научится находить место, откуда начинается *.cab -файл
Comment 4 Vitaly Lipatov 2008-07-31 13:05:23 MSD
Перевешиваю на Костю, чтобы он заменил когда-нибудь строку
$ cabextract -L -F ver1200.exe ./249973USA8.exe
на собственно вызов команды.

Comment 5 Константин Кондратюк 2008-07-31 13:19:46 MSD
У меня есть своя бага про cabextract, мне чужого не нужно :)
http://bugs.etersoft.ru/show_bug.cgi?id=693

Если всё с самораспаковкой решено - закрывайте, а я старую переоткрою пока...
Comment 6 Vitaly Lipatov 2008-07-31 13:26:10 MSD
extrac32 такие файлы не воспринимает, так уж он устроен.