Среда, 08.05.2024, 20:15
Приветствую Вас Гость | RSS
Мой сайт
Главная
Регистрация
Вход
Форма входа

Меню сайта

Категории раздела
Об ОС Windows [137]
В категории размещаются статьи, касающщиеся операционных систем от Microsoft.
Об ОС *Nix [198]
В данной категории собраны статьи об ОС семейства Unix/Linux/FreeBSD/...
Справочные материалы [351]
Справка по всему разделу.
Виртуализация и Облака [46]
Networks & Routing [86]
DataBases [22]

Наш опрос
Оцените мой сайт
Всего ответов: 209

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Системное администрирование » Об ОС Windows

Работа с CAB архивами
  Работа с CAB архивами в избранное  новое    подписка   модер. Share on google_plusone
От: hayderwww.animabilis.com
Дата: 28.01.08 07:55
Добрый всем день.
Поставлена задача.
Из инсталлятора MSI достать CAB c установочными файлами.
Заменить в этом CAB архиве пару файлов и обратно засунуть в инсталлятор MSI.
Столкнулся с такой проблемой. После перепаковки CAB архива инсталлятор перестает работать.
Сообщение об ошибке:
The file 'cleverlock.dll' cannot be installed because the
file cannot be found in cabinet file 'disk1.cab'. This could
indicate a network error, an error reading from the
CD-ROM, or a problem with this package.
Для работы с CAB пользовался CABARC.EXE и пробовал Cabinet File (*.CAB) Compression and Extraction с codeproject
http://www.codeproject.com/KB/files/CABCompressExtract.aspx

Извлечение и возврат CAB работают нормально, проверял.
Если не перепаковывать CAB то все работает нормально.
Так же если я в кабе заменяю нужные файлы в Total Commander то тоже все работает.
Думаю дело в CABARC.EXE. И CAB файл создаваемый CABARC.EXE и в Total Commander отличается по размеру.

Винрар и прочие архиваторы нормально работают с созданным CABARC.EXE архивом, а вот инсталлятор его кушать не хочет.
Может кто нибудь сталкивался с такой проблемой?
Может кто знает еще какие либо небольшие утилиты или с++ код для работы с CAB?
Желательно что бы там была возможность замены фалов в существующем архиве.
Re: Работа с CAB архивами в избранное  новое    модер. Share on google_plusone
От: Аноним 926 
Дата: 29.01.08 04:02
Здравствуйте, hayder, Вы писали:

H>Винрар и прочие архиваторы нормально работают с созданным CABARC.EXE архивом, а вот инсталлятор его кушать не хочет.


Необходимо в msi подправить хэши для подменённых файлов. Таблица называется 'MsiFileHash', подправить можно, например, с помощью Orca.
Re[2]: Работа с CAB архивами в избранное  новое    модер. Share on google_plusone
От: hayderwww.animabilis.com
Дата: 29.01.08 07:14
Здравствуйте, Аноним, Вы писали:

А>Необходимо в msi подправить хэши для подменённых файлов. Таблица называется 'MsiFileHash', подправить можно, например, с помощью Orca.


Спасибо за ответ, но слава богу у меня в проекте этой таблицы нет,а то бы вся автоматизация к черту бы пошла.
Проблему решил удалив и заново подключив все файлы в проекте инсталятора.
Честно говоря не понял почему все заработало.
Re[3]: Работа с CAB архивами в избранное  новое    модер. Share on google_plusone
От: nesesser 
Дата: 29.01.08 09:14

Оценка: :)
Здравствуйте, hayder, Вы писали:
H>Честно говоря не понял почему все заработало.

C инсталлятами это нормальное состояние — "Уфф, заработало!.. Интересно, почему?")
Re[4]: Работа с CAB архивами в избранное  новое    модер. Share on google_plusone
От: hayderwww.animabilis.com
Дата: 29.01.08 09:22
Здравствуйте, nesesser, Вы писали:

N>C инсталлятами это нормальное состояние — "Уфф, заработало!.. Интересно, почему?")

Пока нодом пользовался никаких проблем не испытывал.
Как на MSI перешел так регулярно глюки, один другого веселей.
Хотя у него очень много плюсов.
Re: Работа с CAB архивами в избранное  новое    модер. Share on google_plusone
От: Аноним 899 
Дата: 02.06.09 11:48
Для инсталлятора важен порядок файлов в кабе. Что бы правильно перепаковать каб
нужно посмотреть таблицу файлов в MSI с помощью ORCA.EXE например. И запаковывать (добавлять) файлы в каб в той же последовательности как они указаны в этой таблице для данного каба.

Здравствуйте, hayder, Вы писали:

H>Добрый всем день.

H>Поставлена задача.
H>Из инсталлятора MSI достать CAB c установочными файлами.
H>Заменить в этом CAB архиве пару файлов и обратно засунуть в инсталлятор MSI.
H>Столкнулся с такой проблемой. После перепаковки CAB архива инсталлятор перестает работать.
H>Сообщение об ошибке:
H>The file 'cleverlock.dll' cannot be installed because the
H>file cannot be found in cabinet file 'disk1.cab'. This could
H>indicate a network error, an error reading from the
H>CD-ROM, or a problem with this package.
H>Для работы с CAB пользовался CABARC.EXE и пробовал Cabinet File (*.CAB) Compression and Extraction с codeproject
H>http://www.codeproject.com/KB/files/CABCompressExtract.aspx

H>Извлечение и возврат CAB работают нормально, проверял.

H>Если не перепаковывать CAB то все работает нормально.
H>Так же если я в кабе заменяю нужные файлы в Total Commander то тоже все работает.
H>Думаю дело в CABARC.EXE. И CAB файл создаваемый CABARC.EXE и в Total Commander отличается по размеру.

H>Винрар и прочие архиваторы нормально работают с созданным CABARC.EXE архивом, а вот инсталлятор его кушать не хочет.

H>Может кто нибудь сталкивался с такой проблемой?
H>Может кто знает еще какие либо небольшие утилиты или с++ код для работы с CAB?
H>Желательно что бы там была возможность замены фалов в существующем архиве.
 


Источник: http://www.rsdn.ru/forum/setup/2813605.all.aspx
Категория: Об ОС Windows | Добавил: admin (03.05.2012)
Просмотров: 5149 | Комментарии: 24 | Теги: MSI, Extract, export, RePack, CAB | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2024