Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » Перепаковка пакетов драйверов

Ответить
Настройки темы
Перепаковка пакетов драйверов

Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: ya158
Дата: 27-09-2011
Описание: Обновление
Вложения
Тип файла: 7z RPDRIVERS291.7z
(337.9 Kb, 258 просмотров)
Тип файла: 7z DelLangDP.7z
(2.96 Mb, 104 просмотров)
Поскольку уважаемый Fanzuga забросил эту тему, то она передана мне.
В шапке скрипт RPDRIVERS291.7z от Fanzuga - старый и для новых драйвер-паков не пригоден. Выложен для истории и самостоятельного изучения.
Предыдущая версия шапки
Цитата Fanzuga:
Хотелось бы поделиться с общественностью опытом перепаковки драйверпаков от Bashrat the Sneaky © и сделанных на его основе.
Зачем это надо? Не секрет, что Башрат делает свои пакеты на основе многоязычных инсталляторов. Что это означает на практике? На практике это означает, что в в пакете масса условно бесполезных файлов, справка и локализация на разных языках. Вам нужна справка к драйверу Nvidia на японском языке? Мне нет.
До мысли выкорчевывать их я дошел сравнительно давно. Однако с некоторых пор мне надоело делать это вручную, то лишнее удалишь, но ненужное оставишь.

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

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

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

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

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

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

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

Если Вы хотите чтобы перепаковщик драйверов автоматически удалял неиспользующиеся драйвера, проголосуйте в теме Редкое железо.

Сопутствующие темы:
Интеграция драйверов
Пакеты драйверов от Bashrat the Sneaky

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. Подробнее.)
06.06.10
Исправлена незначительная ошибка (подробнее)
21.05.10
Благодаря помощи YikxX окончательно доделал перепаковку панелей nVidia (NvCplSetupInt.exe). Обновил до версии 1.6.9.1486 и перепаковал инсталлятор ATI Tray Tools (добавил в состав инсталлятора русскую справку для версии v1.0.1.527) - для тихой установки используйте ключи: -y -gm2 -fm0.
15.05.10
Исправлена ошибка. Аддон для устранения ошибки, о которой подробнее написано здесь и здесь создавался не только при 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 выводится предупреждение и создаётся аддон для устранения ошибки, о которой подробнее написано здесь и здесь.
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 (пока не проверялось на реальной машине)

Отправлено: 05:16, 01-12-2006

 

Аватара для JohnnyD

Старожил


Сообщения: 417
Благодарности: 65

Профиль | Отправить PM | Цитировать


Цитата ya158:
он сделан отдельным паком »
Знаю, скачан, распакован куда положено.
Цитата ya158:
nView Desktop Manager является частью панели »
Нет, это отдельный компонент драйвера, у него даже установщик свой (nviewsetup.exe). Кстати, как удобнее всего пожать кучу файлов в CAB без сжатия?
Цитата ya158:
из-из кривого родного установщика »
Да, я уже в курсе. Так что либо через анус, либо дрова не выше 258.96

Пытался как обычно - сначала просто драйвер от Башрата, перепакованный здешним скриптом, потом с перепаковкой nView обратно в каб, как в оригинале... И так и эдак - болт. Правда, их оба (nView и PhysX) можно и через финишер поставить, но он криво работает - 2 раза запускает установщик, почему-то думая, что у меня на компе стоят и обычная и мобильная видюхи. И с таг-файлами не поиграешься - все названия то одинаковые.

Опытным путем вычислил последние версии дров со "старым" инсталлятором: 258.96_desktop(notebook)_winxp_32bit_international_whql и 259.81-Quadro-winxp-32bit-international-whql - может понадобится кому...

Последний раз редактировалось JohnnyD, 23-08-2011 в 22:33.


Отправлено: 22:25, 23-08-2011 | #501



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


JohnnyD,
Мне сейчас не на чем эксперементировать. Вот какие задумки - после обработке моим скриптом путь к PhysX получается "%DPSROOT%\D\V\N1\PhysX_9.10.0514_SystemSoftware.msi", а в оригинале он лежит "%DPSROOT%\D\G\N1\PhysX_9.10.0514_SystemSoftware.msi". Может в этом проблема?

Далее. Поскольку, если я не ошибаюсь, на Т34 не работает и оригинальный NvCplSetupInt.exe, то попробовать подсунуть INF-файлу драйвера вместо оригинального NvCplSetupInt.exe пустышку (вопрос: проверяет ли INF-файл драйвера установилась ли или нет панель и вся остальная херемория?). Если драйвер это проглотит, то тогда панельможно пробовать устанавливать через финишер.

Цитата JohnnyD:
Кстати, как удобнее всего пожать кучу файлов в CAB без сжатия? »
Что-то типа
Код: Выделить весь код
Tool\cabarc -m NONE -p -r -P ПАПКА N ФАЙЛ.Cab
Цитата JohnnyD:
потом с перепаковкой nView обратно в каб, как в оригинале... »
Это как - просто удаляешь папку NvCplSetupInt и заменяешь мой фейк NvCplSetupInt.exe на оригинальный?

Цитата JohnnyD:
но он криво работает - 2 раза запускает установщик, почему-то думая, что у меня на компе стоят и обычная и мобильная видюхи. »
Это ерунда - если пройдёт фокус с пустышкой на Т39, то можно написать скрипт, который будет проверять установлена или нет панель (по наличию файлов панели в Program Files или ещё чего-нибудь) и, если не установлена, то запускать инсталлятор. Запускать такой скрипт можно через финишер.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 22:55, 23-08-2011 | #502


Аватара для JohnnyD

Старожил


Сообщения: 417
Благодарности: 65

Профиль | Отправить PM | Цитировать


Цитата ya158:
Может в этом проблема? »
Нет, это я исправил.

Цитата ya158:
Это как - просто удаляешь папку NvCplSetupInt и заменяешь мой фейк NvCplSetupInt.exe на оригинальный? »
Ты путаешь панель и nView - это 2 разных компонента драйвера. С установкой панели (NvCplSetupInt.exe) то как раз в новых версиях проблем нет. А вот nView и PhysX не ставятся при обработке INF-а, как было раньше. Перепаковка обратно в CAB - потому что в оригинальном драйвере nView запакован в него (кроме сетапа), а не раскидан по всей папке как у Башрата в виде отдельных файлов. И (в старой версии драйверов) он тупо не ставится, если не запакован в CAB, а раскидан по всей папке, как у Башрата. Теперь понятно? Запаковываю в CAB, естественно, после обработки здешним скриптом.

Цитата ya158:
то можно написать скрипт »
Ну и зачем скрипт писать, финишер и сам умеет это проверять. Вот только все файлы у обычных и мобильных драйверов называются одинаково - то есть финишер тупо не поймет, какая видюха стоит (обычная или мобильная) и тупо запустит установку 2 раза. А проверка по хвидам тупо не работает - видимо глюк финишера.

Последний раз редактировалось JohnnyD, 23-08-2011 в 23:55.


Отправлено: 23:33, 23-08-2011 | #503


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Цитата JohnnyD:
Запаковываю в CAB, естественно, после обработки здешним скриптом. »
И после этого всё равно не идёт? А INF-файл драйвера точно запускает nviewsetup.exe на Т39? Запаковывать в каб силами скрипта в принципе не ппроблема.

Цитата JohnnyD:
Ну и зачем скрипт писать, финишер и сам умеет это проверять. »
Разве финишер проверяет установлен уже PhysX или нет? Он проверяет установлен ли драйвер (два раза) и, если драйвер установлен (проверка по таг-файлу), то устанавливает PhysX (тоже два раза, если таг-файлы совпадают). Скрипт же будет запускаться по таг-файлу (два раза), проверять установлен ли уже PhysX или нет, и устанавливать первый раз PhysX и просто завершаться без установки PhysX второй раз.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 00:09, 24-08-2011 | #504


Аватара для JohnnyD

Старожил


Сообщения: 417
Благодарности: 65

Профиль | Отправить PM | Цитировать


Цитата ya158:
И после этого всё равно не идёт? А INF-файл драйвера точно запускает nviewsetup.exe на Т39? »
Нет, не идет.
Не знаю - видимо нет. В старых версиях - запускал, а сейчас, как я понимаю, все на откуп оригинальному setup.exe отдано...
Цитата ya158:
Разве финишер проверяет установлен уже PhysX или нет? »
Да легко! Он умеет проверять наличие любого файла в любом месте, на момент запуска финишера.
Код: Выделить весь код
exc_1_tagFiles	= 4
exc_1_tagFile1	= "%SystemDrive%\ATICCC.ins"
exc_1_tagFile2	= "%DPSROOT%\D\3run\vcredist_x86_2005_sp1\vcredist.msi"
exc_1_tagFile3	= "%DPSROOT%\D\3run\vcredist_x86_2008_sp1.exe"
exc_1_tagFile4	= "%SystemRoot%\system32\atidemgx.dll"
Можно ведь и так сделать:
Код: Выделить весь код
exc_1_tagFiles	= 1
exc_1_tagFile1	= "%ProgramFiles%\NVIDIA Corporation\PhysX\Common\PhysXLoader.dll"
Все это прописывается в INI драйвпака. Слава богу, как раз с тэг-файлами финишер работает отлично. Только не прокатит, по причинам, описанным мною выше.

Цитата ya158:
Скрипт же будет запускаться по таг-файлу (два раза), проверять установлен ли уже PhysX или нет, и устанавливать первый раз PhysX и просто завершаться без установки PhysX второй раз. »
Ну, тоже идея. И для установщика nView такой же скрипт можно сделать... Можно еще с параметром exc_1_-infFiles = 0 в секции [NM] поиграться, я так понял - это если хвид устройства совпадает с хвидом прописанном в inf-е из этой команды - то условие не выполняется... Можно там попробовать прописать %DPSROOT%\D\V\N1\NV4*.inf Но я так не пробовал.

Отправлено: 01:42, 24-08-2011 | #505


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Цитата JohnnyD:
Не знаю - видимо нет. В старых версиях - запускал, а сейчас, как я понимаю, все на откуп оригинальному setup.exe отдано... »
Для проверки надо сделать простой скрипт типа
Код: Выделить весь код
ECHO nviewsetup.exe запускался>>c:\1.txt
Далее сделать из батника exe-шник и назвать его nviewsetup.exe. Если после установки на диске С: появится файл 1.txt с текстом "nviewsetup.exe запускался", то nviewsetup.exe запускался. Также можно проверить зауск setup.exe - в нём написать:
Код: Выделить весь код
nviewsetup.exe
ECHO setup.exe запускался>>c:\1.txt
Цитата JohnnyD:
Да легко! Он умеет проверять наличие любого файла в любом месте, на момент запуска финишера. »
Умеет ли он проверять наличие файла и запускать установку только при ОТСУТСТВИИ определённого файла? Где-то есть описание ключей?

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 08:54, 24-08-2011 | #506


Аватара для JohnnyD

Старожил


Сообщения: 417
Благодарности: 65

Профиль | Отправить PM | Цитировать


Цитата ya158:
Для проверки надо сделать простой скрипт типа »
Не работает. После запуска файл не создается.
Цитата ya158:
Умеет ли он проверять наличие файла и запускать установку только при ОТСУТСТВИИ определённого файла? Где-то есть описание ключей? »
Не знаю, вроде я в INI таких команд не видел.
На форуме Башрата, видимо...

Отправлено: 09:37, 24-08-2011 | #507


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Цитата JohnnyD:
Не работает. После запуска файл не создается. »
Надеюсь ты не просто переименовал батник, а воспользовался специальной утилитой для преобразования bat2exe? Пробовал ли отот файлик называть не nviewsetup.exe, а setup.exe ?
Кстати сам установщик панели NvCplSetupInt.exe (мой, а не оригинальный) нормально запускается и отрабатывает из inf-файла или его надо запускать потом с помощью финишера? Если он нормально запускается, то можно в него внести строку для запуска чего-угодно лишь бы это сработало на Т39. Хотя можно и не на Т39, а позже...

Цитата JohnnyD:
Не знаю, вроде я в INI таких команд не видел. »
Тогда возвращаемся в скрипту

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 14:36, 24-08-2011 | #508


Аватара для JohnnyD

Старожил


Сообщения: 417
Благодарности: 65

Профиль | Отправить PM | Цитировать


Цитата ya158:
Надеюсь ты не просто переименовал батника, а воспользовался специальной утилитой »
Сначала тупо переименовал, а потом уже воспользовался. Тогда заработало. Только проверить еще не успел.

Цитата ya158:
Кстати сам установщик панели NvCplSetupInt.exe (мой, а не оригинальный) нормально запускается и отрабатывает из inf-файла »
Уже стораз писал, что ДА.

Цитата ya158:
то можно в него внести строку для запуска чего-угодно »
Ну вот и 3-й вариант нарисовался. Установщик физикса запускается с ключем /qn а установщик nView - с ключем -s

Отправлено: 15:48, 24-08-2011 | #509


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Давай подведём итог. Надо сделать:
1. Собирать автоматически файлы nView в каб (или это не обязательно?). С этим небольшая проблемка - вдруг в следующих версиях драйвера измениться набор файлов.
2. Добавить в мой NvCplSetupInt.exe команды для запуска установщиков физикса и нвью (они точно установятся на Т39?).
3. Сделать скрипт для финишера для установки физикса (если физикс не ставится на Т39), чтобы не запускалась два раза.

Или я что-то забыл?

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 20:10, 24-08-2011 | #510



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » Перепаковка пакетов драйверов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Переупаковка MSI/MSP пакетов Virtuez Автоматическая установка приложений 28 14-03-2024 08:38
Утилиты - DriverPack Solution - установка драйверов ArtXGroup Наборы обновлений для Windows XP/2003/Windows 7 1766 14-05-2023 16:18
DriverPacks BASE (интегратор пакетов драйверов Башрата) - вопросы и ответы YikxX Автоматическая установка Windows 2000/XP/2003 331 15-01-2017 03:13
Драйвер - [решено] Удаление пакетов драйверов kadrus Microsoft Windows 7 4 06-01-2010 17:23
Перепаковка драйверов ragocTb Автоматическая установка Windows 2000/XP/2003 4 31-12-2006 02:20




 
Переход