Войти

Показать полную графическую версию : Перепаковка пакетов драйверов


Страниц : [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

ya158
01-12-2006, 05:16
Поскольку уважаемый Fanzuga забросил эту тему, то она передана мне.
В шапке скрипт RPDRIVERS291.7z от Fanzuga - старый и для новых драйвер-паков не пригоден. Выложен для истории и самостоятельного изучения.
Хотелось бы поделиться с общественностью опытом перепаковки драйверпаков от Bashrat the Sneaky © (http://driverpacks.net/DriverPacks/overview.php) и сделанных на его основе.
Зачем это надо? Не секрет, что Башрат делает свои пакеты на основе многоязычных инсталляторов. Что это означает на практике? На практике это означает, что в в пакете масса условно бесполезных файлов, справка и локализация на разных языках. Вам нужна справка к драйверу Nvidia на японском языке? Мне нет.
До мысли выкорчевывать их я дошел сравнительно давно. Однако с некоторых пор мне надоело делать это вручную, то лишнее удалишь, но ненужное оставишь.

Поэтому я написал сценарий автоматизирующий эту рутинную операцию:

Выгоды очевидны:
Меньше места на диске.
Быстрее распаковка/сканирование -> Установка в целом.

Версия 2.91 перепаковщика от 16.04.2008. Боекомплект. Ссылка в шапке
Предназначен для перепаковки и сортировки пакетов драйверов видео, аудио и сеть. Удаляет файлы локализации (кроме рус. и англ.), контрольные панели ATi, сортирует пакеты по производителям. Внесены изменения в связи с изменением структуры драйверпаков в версии 8.04.

Примерный результат следующий: из пакетов GRAPHICS A, B и SOUND A, B общим объемом 300 Мб путем чистки и перепаковки были получены пакеты объемом 199 Мб. При этом редкие драйверы были упакованы отдельно, при желании их легко исключить из дистрибутива сэкономив еще ок. 60 Мб.

В целом инструмент оттестирован и готов к работе. Если кто-то возьмется за дальнейшее совершенствование, милости прошу, готов ответить на вопросы.

Принцип работы:
Распаковываете содержимое архива в папку на диске.
В архиве содержится консольная версия архиватора 7-zip (4.57) необходимая для работы скрипта.
Копируете пакеты драйверов, которые хотите перепаковать.
ВНИМАНИЕ!!! Обязательно сохраните оригинальную версию пакета.

В данной теме прошу отписываться о багах, опыте установки перепакованных пакетов, а также вносить предложения по раширению функционала.

Если Вы хотите чтобы перепаковщик драйверов автоматически удалял неиспользующиеся драйвера, проголосуйте в теме Редкое железо (http://forum.oszone.net/showthread.php?t=102719).

Сопутствующие темы:
Интеграция драйверов (http://forum.oszone.net/thread-60641.html)
Пакеты драйверов от Bashrat the Sneaky (http://forum.oszone.net/thread-48168.html)

Enjoy! ;)


Моя версия скриптов для перепаковки драйверпаков от Башрата
Внимание! Исходные драйверпаки теперь надо класть в папку OLD.

История последних изменений
B]27.09.11[/B]
Адаптировал скрипты под последние на данный момент беты и финалы. Обновил ATI Tray Tools до 1.7.9.1571 (beta). Совместно с JohnnyD отлажена установка панелей nVidia и PhysX
28.08.10
Адаптировал скрипты под последние на данный момент беты и финалы. Обновил ATI Tray Tools до 1.7.9.1560 (beta) и 7za.exe до 9.20. Драйверпаки теперь перепаковываются вместе с ini файлами для установки панелей (для video драйверпаков пути в этих файлах меняются с D\G на D\V)
01.09.10
Адаптировал скрипты под последние на данный момент беты и финалы. Драверпаки перепаковываются теперь так, чтобы файлы inf и ini(только из корня) были расположены в начале архива (автор идеи BadPointer. Подробнее (http://forum.oszone.net/post-1476136-424.html).)
06.06.10
Исправлена незначительная ошибка (подробнее (http://forum.oszone.net/post-1419651-418.html))
21.05.10
Благодаря помощи YikxX окончательно доделал перепаковку панелей nVidia (NvCplSetupInt.exe). Обновил до версии 1.6.9.1486 и перепаковал инсталлятор ATI Tray Tools (добавил в состав инсталлятора русскую справку для версии v1.0.1.527) - для тихой установки используйте ключи: -y -gm2 -fm0.
15.05.10
Исправлена ошибка. Аддон для устранения ошибки, о которой подробнее написано здесь (http://forum.oszone.net/post-1399660-746.html) и здесь (http://forum.oszone.net/post-1399660-815.html) создавался не только при nvcod.dll с версией большей или равной 1.9.14.99. Те, кто уже скачал могут не скачивать заново, а заменить в файле DelLangDP_Video.cmd в 290 строке число 19144 на 1914499
13.05.10
Благодаря помощи YikxX и Mr dUSHA, ещё раз переделал перепаковку панелей nVidia (NvCplSetupInt.exe). Тестировал на полурабочей карточке - по косвенным признакам панели установились. Жду тестирования от YikxX на ноутбуке. Скрипты актуальны под последнии беты. Введено определение имени получаемого драйверпака на основе имён исходных драйверпаков. При обнаружении в драйверах nVidia соустановщика nvcod.dll с версией большей или равной 1.9.14.99 выводится предупреждение и создаётся аддон для устранения ошибки, о которой подробнее написано здесь (http://forum.oszone.net/post-1399660-746.html) и здесь (http://forum.oszone.net/post-1399660-815.html).
22.04.10
Благодаря помощи YikxX и Mr dUSHA, переделал перепаковку панелей nVidia (NvCplSetupInt.exe). Скрипты актуальны под последнии финалы.
12.01.10
Адаптировал скрипты под последнии на данный момент беты и финалы. По сравнению с предыдущей версией изменились только скрипты, поэтому можно простоскачать архив со скриптами dp.7z.
30.11.09
Адаптировал скрипты под последнии на данный момент беты и уменьшил размер архива.
01.02.09
Исправлены ошибки.
29.01.09
Исправлены ошибки.
Добавлена обработка Audigi и XFI.
Изменена структура папок (новые скрипты не подходят для старой версии).
22.04.09
Обновлены скрипты для совместимости с последними ночными билдами
Исправлены ошибки.
30.07.09
Обновлены скрипты.
Немного изменена логика работы
Добавлена обработка панели nVidia (пока не проверялось на реальной машине)

ShaddyR
02-12-2006, 19:09
Fanzuga: полистай вот эту тему
BAT-скрипт для очистки пакетов ForceWare International от "лишних" языков (http://forum.oszone.net/thread-65624.html)
сравни со своим скриптом. Удаление английских версий файлов приводит к ошибкам установки драйверов ForceWare, в особенности если использовать инсталлятор нВидиа (без него не пробовал, проверь)

Fanzuga
02-12-2006, 20:40
ShaddyR
Да, я с этим сталкивался, поэтому мой скрипт эти файлы (по идее ;)) не трогает.

Debugger
02-12-2006, 22:25
Fanzuga
Посмотри этот (http://driverpack.ru/) сайт, там ребята тоже занимаются перепаковкой.

ANDYru
02-12-2006, 22:39
ShaddyR
а как этот батник отделяет от удаления NVCPL.HL_ и nvwcplen.hl_ - которые не надо удалять
а также чистит nv4_disp.inf от длугих языков для корректности отработки унинсталлера ???

Fanzuga
03-12-2006, 14:23
Слегка обновил скрипт
Исправлены ошибки при перепаковке драйверов nVidia.
[+] Теперь список всех удаляемых файлов пишется в лог (RP.log)
[+] Добавлены комментарии для желающих самостоятельно разобраться.

Граждане, скачавшие срипт просьба отписаться о результатах ;).

P.S. ссылку в шапке исправил.

Fanzuga
04-12-2006, 07:28
В общем проверил установкой на:

видео: GeForce 6600, чипсет nForce 4, звук Realteck AC'97 - полет нормальный.

Fanzuga
16-12-2006, 07:45
Обновил ссылку в шапке для закачки скрипта.
Для справки:
Проверил перепакованные пакеты установкой на Video: ATi Mobility Radeon 9000, звук Realtek AC'97.
Все ОК.
Господа-товарищи, давайте отпишемся о установке на разное железо. Скрипт скачан уже 40 раз, неужели нет результатов? ;)

DarkTiger
18-12-2006, 17:00
В скором времени проверю на матерях со встроенной интеловской видюхой и на нвидивских 7300 и 7600 и отпишусь. Кстати не будет ли каких либо последствий если все папки с дровами окажутся заархивированными в один архив? Вроде как по башратовскому совету, делать это нежелательно.

VelDmi
19-12-2006, 10:27
Fanzuga
Отличная идея, с удовольствием буду тестить.
Пожелания:
1. Пиши батник сразу в ОЕМ кодировке, а то комментарии на одном, команды на другом - неудобно.
2. Можно выкладывать уже готовые, пожатые, раздельно по разному железу? А то из-за обновления, например одной нвидиа приходится качать весь пакет, потом еще перепаковывать.
3. Очень хорошо обрезают дровишки на www.nvworld.ru. Можно у них подглядеть, чего можно еще обрезать кроме локализации.

Fanzuga
19-12-2006, 14:38
DarkTiger

Кстати не будет ли каких либо последствий если все папки с дровами окажутся заархивированными в один архив?

Максимум, что я делал на это пути, так это объединял пакеты Graphics A и С в один. Полет нормальный. Если можно ссылку, где Башрат пишет про потенциальные проблемы.
Я этого не делаю, для гибкости, т. к. иногда удобно отключить распаковку/сканирование определенных пакетов на T-39. А перепаковка "all-in-one" имхо, даст выигрыш в 1-2 метра. В общем если у кого-то будут положительные результаты, отпишитесь плиз....

VelDmi

2. Можно выкладывать уже готовые, пожатые, раздельно по разному железу? А то из-за обновления, например одной нвидиа приходится качать весь пакет, потом еще перепаковывать.
К тому и клоню, но что-то мало отзывов. Если будут активно тестить пережатые скриптом пакеты, на разном железе и т.о. проверим все "порезанные папки", то выложу пережатые пакеты. Без тестирования имхо, рискованно.

DmitryOlenin
19-12-2006, 21:53
Сегодня-завтра Башрат обещает мега-резил кучи новых пакетов и базы.
Ждем... Будем надеяться, что скрипт на новых дровах отработает нормально.

-----
Вот и обновилось все почти :) Ждем корректировки скрипта, если она нужна.

Fanzuga
21-12-2006, 14:05
Господа, у меня тут родилась идея, но на пути ее реализации встал один вопрос:
Как с помощью скрипта удалить определенные записи из тестового файла (в данном случае inf)?
Всем посоветовавшим что-то конструктивное, гарантирую свою благодарность. ;)

Unter
22-12-2006, 01:47
Fanzuga
Если файл не unicode можно воспользоваться командой FOR /F. Например for /F "tokens=* delims=" %%a in (abc.inf) do echo %%a>>1.txt считает файл abc.inf в файл 1.txt построчно, будут пропущены только пустые строки. Ну а в промежутке между считыванием и записью можно делать с ними что хочешь.

Fanzuga
22-12-2006, 06:29
Unter
Файл ANSI. А можно поподробней на примерах, как убрать из файла не пустые строки, а скажем все строки содержащие "ABC"?

P.S.
Скрипт Petya V4sechkin подчищает инфы при удалении компонентов, но я не разобрался как. Может автор поможет?

DmitryOlenin
22-12-2006, 08:56
Что-то мне как-то неспокойно стало от разговоров об исправлении inf-файлов.
Я перепаковал вчера графические паки. Очень долго все это делалось на моем, не самом слабом компе, но я дотерпел до конца.
Звук оно умудрилось перепаковать так, что занимать стало больше. Так что оставил только графику.

Так вот вопрос. Сейчас пакеты графических драйверов, после перепаковки, работосопсобны? Или надо что-то где-то еще исправлять?

VelDmi
22-12-2006, 12:09
Fanzuga
Как с помощью скрипта удалить определенные записи из тестового файла
Ну, во первых это AutoIt, который прекрасно с этим справится. Во вторых, есть утиль Fedit, из набора Башрата.

DmitryOleninЧто-то мне как-то неспокойно стало от разговоров об исправлении inf-файлов.
Это как раз необходимое условие. Я как-то удалял языковые файлы в дровах SIS, так они перестали ставится. А все дело в том, что он копирует все файлы, вне зависимости от языка системы. Надо править секцию [SourceDisksFiles] в инфе. Так как я не профессионал, то не полез.
Сейчас пакеты графических драйверов, после перепаковки, работосопсобны? Или надо что-то где-то еще исправлять?
Ну мы собственно и собрались здесь, чтобы тестить.

VelDmi
22-12-2006, 12:20
Изменения, вносимые в .inf файл драйвера:

В секции [nv.Panel] удаляются записи на файлы:
nvmccs.dll
nvmccss.dll
nvmccssr.dll
nvmobls.dll
nvmoblsr.dll
nvwss.dll
nvwssr.dll
nvepclnt.exe
nvwrsru.dll
nvrsru.dll

В секции [nv.Help] удаляются записи на файлы:
nvcpl.hlp
nvwcplen.hlp

DmitryOlenin
22-12-2006, 13:34
Надо сейчас что-то править руками, после удаления файлов, верно?

Fanzuga
22-12-2006, 13:48
DmitryOlenin
Спокойно. Ничего нигде править не надо.
Если что-то надо будет править, это все будет делаться средствами скрипта, опять же без участия пользователя.
Не потестив на имеющемся у меня железе выкладывать не буду.


VelDmi
Ну, во первых это AutoIt, который прекрасно с этим справится. Во вторых, есть утиль Fedit, из набора Башрата.
Спасибо, за наводку. Но можно как-нить ближе к телу с конкретными примерами? там где код проще и меньше внешних прог, так и сделаю, желательно вообще средствами Винды обойтись, ибо я предполагаю это к дальнейшему распространению, а в этом случае автономность и малый объем приветствуется.




© OSzone.net 2001-2012