PDA

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


Страниц : 1 [2] 3

DJ Mogarych
17-07-2007, 13:21
Насколько я помню, Setup.exe сначала сливает на винт все файлы, которые в нём есть, и ставит их оттуда. Обычно он распаковывает всё это хозяйство на диск С:/NVIDIA. Никто не заставляет устанавливать драйвер, можно отказаться от установки, файлы-то уже есть на С:.
Все inf-ы и прочие файлы лежат открыто, бери-не хочу.
Экзешники можно выкинуть, а прочее — по усмотрению.
Можно вырезать всё по-максимуму, сохранив ненужное в другую папку, а если установке потребуется какой-либо файл — перенести его обратно. Вот и всё.

Oleg_Sch
17-07-2007, 13:42
А теперь слушаем тех кто сможет всю эту историю разумно объяснить.
Попробую...
Если не брать в учет общее в именах - то тот формат, который попался Вам и cab - внутри это разные вещи. Если Вы откроете в любом HEX редакторе эти файлы - наверняка они начинаются с 'SZDD', в то время, как стандартный CAB начинается всегда с 'MSCF'.
Т.е. это абсолютно разные форматы.
'SZDD' появился еще (если мне память не изменяет) на заре вин3.1, и ПОЧТИ умер по причине меньшей эффективности чем новый (по тем временам) cab (вдаваться в подробности сжатия одного и другого я уже не буду, а то это уже получится мат. лекция ;) ), но мелкософт оставил принцип именования архивов.
Установщик драйверов винды (и получается expand) ориентируется на эти байты сигнатур, точно определяя какой именно формат используется.
Чтобы проще понять было - переименуйте любой zip или 7z архив в rar и откройте winrar'ом - он его прекрасно распакует, хотя это и не rar :) , а все потому, что он также ориентируется на сигнатуры в начале файла, а не на расширение файла. Но к сожалению, мало кто из архиваторов знает такую "старую" вещь, как SZDD.

Вот наверное и все.
Если что-то осталось непонятно - спрашивайте.

P.S. Я был не прав с годами :) http://www.powerarchiver.com/forums/showthread.php?t=683

boss911
17-07-2007, 18:40
А я до сих пор нахожусь в некотором шоке
А я до сих пор не могу понять, зачем эта распаковка отдельных файлов, когда драйвер отлично устанавливается через nv4_disp.inf, как и прежне! Для чего это все?

Real Root
17-07-2007, 20:16
boss911, дело в том что англоязычные 94-е дрова не имеют цифровой подписи. Хотел раскопать почему, а также посмотреть, как собрать русские укороченные дрова имеющие цифровую подпись.

94-е англоязычные драйверы не имеют сертификата whql:
http://keep4u.ru/imgs/b/070717/d2a6c24678d7ec3929.jpg
http://keep4u.ru/imgs/b/070717/ab72ddf4a6286a0aca.jpg

Многоязычные 94-е дрова имеют сертификат whql:
http://keep4u.ru/imgs/b/070717/43f748d3043f120d25.jpg
http://keep4u.ru/imgs/b/070717/9bb5f33c8b17116517.jpg

После недолгого разбора подписанных файлов, выяснил, что каким-то образом cat файл в английской версии взят из многоязычный, и если скопировать nv4_disp.inf из многоязычных дров в анлоязычные, то англоязычные дрова будут подписанными. (Только это проблему не решает, т.к. в процессе установки пойдут жалобы на недостоющие файлы):
http://keep4u.ru/imgs/b/070717/9a7bcc5431a3e1cfc1.jpg
http://keep4u.ru/imgs/b/070717/9e4576b7d83d55b532.jpg
http://keep4u.ru/imgs/b/070717/aed4c3a85f09c26fb5.jpg

Mr dUSHA
17-07-2007, 20:30
Petya V4sechkin
Спасибо за замечание. Так и есть. Это меня бес попутал.... :)

boss911
А я до сих пор не могу понять, зачем эта распаковка отдельных файлов
Да кто его знает... :)
Просил автор темы разрулить - разрулили вопрос. Все :)
Хотя потом их можно перепаковать в нормальные архивы с сигнатурами 'MSCF.

Real Root
Вопрос: А зачем тебе цифровая подпись, если можно и не подписаные ставить, если "подправить" эту проверку на подписаность, и SFC Т-7 (иль Т-8) отключить.

boss911
17-07-2007, 23:53
Real Root
собрать русские укороченные дрова имеющие цифровую подпись.
Понятно, для меня это не сильно актуально, но если я не ошибаюсь, то метров 20-30 так можно урезать!
94-е англоязычные драйверы не имеют сертификата whql:
Многоязычные 94-е дрова имеют сертификат whql:
Хм, а чего в имени файла, фигурирует whql:
94.24_forceware_winxp_international_whql.exe
94.24_forceware_winxp_english_whql.exe
Что во всех англоязычных версиях отсутствует подпись?

Я вот тут попробовал кое-что подчистить (оставлял только *ru*) в многоязычной версии 94, упаковал все это потом в RAR и получил 35 Mb, против ординального дистрибутива в 61 Mb. Но нет возможности установить (проверить) драйвер! Если у тебя есть возможность и желание протестировать мою обрезанную от других ленгов версию, могу выложить (куда?). Если такой способ работает, то это намного проще, чем ковыряется с этими CAB'ами, имхо!

Real Root
18-07-2007, 01:49
Mr dUSHA, вроде как полностью проверку цифровой подписи не отключить. Если есть встроенные дрова для вашего железа с цифровой подписью, то встанут в первую очередь они.
SFC и так полностью отключен.

boss911, тут дело в том что. Все добро в процессе установки копирауется и распаковывается на жесткий диск, что в свою очередь увеличивает время установки. После установки Windows все интегрированные драйверы складываются в папку NLDRV в распакованном виде. В таком случае дрова от Nvidia занимают более 250 МБ, а то и более на жестком диске. Оставлять на жестком - обязательно, чем меньше юзер обращается - тем лучше. Воткнул он себе что-то новое, а оно у него сходу врубилось - шоколад!

Хм, а чего в имени файла, фигурирует whql:
Мне это тоже интересно. При этом 158 дрова и многоязычные и английские имеют цифровую подпись.

Я вот тут попробовал кое-что подчистить (оставлял только *ru*) в многоязычной версии 94, упаковал все это потом в RAR и получил 35 Mb, против ординального дистрибутива в 61 Mb. Но нет возможности установить (проверить) драйвер! Если у тебя есть возможность и желание протестировать мою обрезанную от других ленгов версию, могу выложить (куда?). Если такой способ работает, то это намного проще, чем ковыряется с этими CAB'ами, имхо!
Такой номер не пройдет. Если просто удалить не нужные языки (hlp и chm файлы), то при установке такого драйвера будет очень много вопросов со стороны Windows куда ты эти файлы девал. И установка так и пройдет. Если удалить соответствующие строки в inf файле, то тогда этот файл потеряет сертификат whql и драйвер будет считаться неподписанным.
Если кому whql не обязателен, то я написал скрипт, который использовал ранее, для урезания мультиязычных дров от нвидии. Скрипт предназначен для урезания драйверов от www.driverpacks.net. Для использования распакуйте драйвер паки от драйверов и положите скрипт в папку /D/G/N, т.е. в папку где находятся папки 1-5. Запустите его.
Вот код скрипта:

SetLocal EnableExtensions EnableDelayedExpansion
rem Скопировать в папку D\G\N
@echo off
for %%a in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,A,B,C,D,E,F,G,I,K,L,M,N,O,P,Q,R,S,T) do (
(cd %%a\)&&(
ren *.inf *.i
for %%b in (*.i) do (
findstr /v "nvrsar.dll nvrscs.dll nvrsda.dll nvrsde.dll nvrsel.dll nvrses.dll nvrsesm.dll nvrsfi.dll nvrsfr.dll nvrshe.dll nvrshu.dll nvrsit.dll nvrsja.dll nvrsko.dll nvrsnl.dll nvrsno.dll nvrspl.dll nvrspt.dll nvrsptb.dll nvrssk.dll nvrssl.dll nvrssv.dll nvcpth.hlp nvrstr.dll nvrszhc.dll nvrszht.dll" %%b > "%%b"nf
del /q %%b
)
for %%c in (nvrsar.dll,nvwrsar.dll,nvcpar.hlp,nvwcpar.hlp,nvcplara.chm,nvdspara.chm,nv3dara.chm,nvmobara.chm,nv rscs.dll,nvwrscs.dll,nvcpcs.hlp,nvwcpcs.hlp,nvcplcsy.chm,nvdspcsy.chm,nv3dcsy.chm,nvmobcsy.chm,nvrsd a.dll,nvwrsda.dll,nvcpda.hlp,nvwcpda.hlp,nvcpldan.chm,nvdspdan.chm,nv3ddan.chm,nvmobdan.chm,nvrsde.d ll,nvwrsde.dll,nvcpde.hlp,nvwcpde.hlp,nvcpldeu.chm,nvdspdeu.chm,nv3ddeu.chm,nvmobdeu.chm,nvrsel.dll, nvwrsel.dll,nvcpel.hlp,nvwcpel.hlp,nvcplell.chm,nvdspell.chm,nv3dell.chm,nvmobell.chm,nvrses.dll,nvw rses.dll,nvcpes.hlp,nvwcpes.hlp,nvcplesn.chm,nvdspesn.chm,nv3desn.chm,nvmobesn.chm,nvrsesm.dll,nvwrs esm.dll,nvcpesm.hlp,nvwcpesm.hlp,nvcplesm.chm,nvdspesm.chm,nv3desm.chm,nvmobesm.chm,nvrsfi.dll,nvwrs fi.dll,nvcpfi.hlp,nvwcpfi.hlp,nvcplfin.chm,nvdspfin.chm,nv3dfin.chm,nvmobfin.chm,nvrsfr.dll,nvwrsfr. dll,nvcpfr.hlp,nvwcpfr.hlp,nvcplfra.chm,nvdspfra.chm,nv3dfra.chm,nvmobfra.chm,nvrshe.dll,nvwrshe.dll ,nvcphe.hlp,nvwcphe.hlp,nvcplheb.chm,nvdspheb.chm,nv3dheb.chm,nvmobheb.chm,nvrshu.dll,nvwrshu.dll,nv cphu.hlp,nvwcphu.hlp,nvcplhun.chm,nvdsphun.chm,nv3dhun.chm,nvmobhun.chm,nvrsit.dll,nvwrsit.dll,nvcpi t.hlp,nvwcpit.hlp,nvcplita.chm,nvdspita.chm,nv3dita.chm,nvmobita.chm,nvrsja.dll,nvwrsja.dll,nvcpja.h lp,nvwcpja.hlp,nvcpljpn.chm,nvdspjpn.chm,nv3djpn.chm,nvmobjpn.chm,nvrsko.dll,nvwrsko.dll,nvcpko.hlp, nvwcpko.hlp,nvcplkor.chm,nvdspkor.chm,nv3dkor.chm,nvmobkor.chm,nvrsnl.dll,nvwrsnl.dll,nvcpnl.hlp,nvw cpnl.hlp,nvcplnld.chm,nvdspnld.chm,nv3dnld.chm,nvmobnld.chm,nvrsno.dll,nvwrsno.dll,nvcpno.hlp,nvwcpn o.hlp,nvcplnor.chm,nvdspnor.chm,nv3dnor.chm,nvmobnor.chm,nvrspl.dll,nvwrspl.dll,nvcppl.hlp,nvwcppl.h lp,nvcplplk.chm,nvdspplk.chm,nv3dplk.chm,nvmobplk.chm,nvrspt.dll,nvwrspt.dll,nvcppt.hlp,nvwcppt.hlp, nvcplptg.chm,nvdspptg.chm,nv3dptg.chm,nvmobptg.chm,nvrsptb.dll,nvwrsptb.dll,nvcpptb.hlp,nvwcpptb.hlp ,nvcplptb.chm,nvdspptb.chm,nv3dptb.chm,nvmobptb.chm,nvrssk.dll,nvwrssk.dll,nvcpsk.hlp,nvwcpsk.hlp,nv cplsky.chm,nvdspsky.chm,nv3dsky.chm,nvmobsky.chm,nvrssl.dll,nvwrssl.dll,nvcpsl.hlp,nvwcpsl.hlp,nvcpl slv.chm,nvdspslv.chm,nv3dslv.chm,nvmobslv.chm,nvrssv.dll,nvwrssv.dll,nvcpsv.hlp,nvwcpsv.hlp,nvcplsve .chm,nvdspsve.chm,nv3dsve.chm,nvmobsve.chm,nvcpth.hlp,nvwcpth.hlp,nvcpltha.chm,nvdsptha.chm,nv3dtha. chm,nvmobtha.chm,nvrstr.dll,nvwrstr.dll,nvcptr.hlp,nvwcptr.hlp,nvcpltrk.chm,nvdsptrk.chm,nv3dtrk.chm ,nvmobtrk.chm,nvrszhc.dll,nvwrszhc.dll,nvcpzhc.hlp,nvwcpzhc.hlp,nvcplchs.chm,nvdspchs.chm,nv3dchs.ch m,nvmobchs.chm,nvrszht.dll,nvwrszht.dll,nvcpzht.hlp,nvwcpzht.hlp,nvcplcht.chm,nvdspcht.chm,nv3dcht.c hm,nvmobcht.chm) do (
del /q %%c
)
cd ..))
EndLocal
exit


Скрипт оставляет только русский и английский языки.
В данный момент я от данного подхода отказался по причине того что драйверы становятся неподписанными

boss911
18-07-2007, 02:34
Real Root

Все понятно! Чуть подумал и решил окончательно для себя:
не подписанные драйвера меня не устраивают ни в каком случае, таковые я вообще стараюсь не ставить;
не буду себе забивать голову переупаковкой, много гемора, правда, размер конечно не маленький, но, переживу;
моя карта настолько старая, что игра не стоит свеч, буду менять, вот тогда и задумаюсь, наверно.
Радует одно:
При этом 158 дрова и многоязычные и английские имеют цифровую подпись.
8-я серия железа в будущем для меня будет актуальна, вот тогда можно будет, что-то по химичить, чтоб из англоязычной сделать русскоязычную, чтоб не морочить голову с подписью драйверов, но там могут всплыть другие сюрпризы! Надеюсь, что кто-то до меня проделает этот эксперимент! :)

P.S. Спрячь скрины под тег [more], удобней читать.

Real Root
18-07-2007, 03:02
Радует одно: Цитата: При этом 158 дрова и многоязычные и английские имеют цифровую подпись. 8-я серия железа в будущем для меня будет актуальна, вот тогда можно будет, что-то по химичить, чтоб из англоязычной сделать русскоязычную, чтоб не морочить голову с подписью драйверов, но там могут всплыть другие сюрпризы! Надеюсь, что кто-то до меня проделает этот эксперимент!
Я не понимаю смысла автоматической установки на 1 комп. Моя система ставится только мною как минимум раз в 3 дня. А мои друзья юзают ее в магазине (В Узбекистане все легально :) ), чуть ли не на 10 компов в день вешают.
На счет подписи мелкософта - это скорее всего глюк только 94-х дров и только этого выпуска, т.к. подобного я никогда не замечал. Вот только что скачал 93,71 дрова - там тоже все нормально с цифровой подписью и в англ. и многоязычных дровах. Дело видать в том, что приупаковке дров кто-то на нвидии совершил ошибку и запаковал в англ. версию cat файл от многоязычной.

boss911
18-07-2007, 05:52
Real Root
Я не понимаю смысла автоматической установки на 1 комп.
Интеграции, а не АУ! Я слишком ленив, чтоб после установки системы, сидеть устанавливать драйвера! Интеграция рулит! :)

Mr dUSHA
18-07-2007, 14:11
Если есть встроенные дрова для вашего железа с цифровой подписью, то встанут в первую очередь они.
Согласен. Но встроенные драйвера можно "обезвредить".
А для новых неподписанных заблокировать проверку цифровой подписи, чтоб при установке глупых сообщений не всплывало с просьбой показать файл.
Так будет быстрее, чем искать дрова с подписью, да и при надобности можно драйвер подправить (внести какиенить изменения в его INF).

Real Root
18-07-2007, 18:35
Согласен. Но встроенные драйвера можно "обезвредить". А для новых неподписанных заблокировать проверку цифровой подписи, чтоб при установке глупых сообщений не всплывало с просьбой показать файл. Так будет быстрее, чем искать дрова с подписью, да и при надобности можно драйвер подправить (внести какиенить изменения в его INF).
Встроенные дрова обезвреживать опсано. Вдруг какая-нибудь PCI видеокарта для ловли глюков в системе понадобится, или AGP не совсем новая. Вот тогда втроенные дрова как раз и понадобятся. Для новых не подписанных и так все отключено, проблема лишь во встроенных дровах.
Кстати, в драйверпаках помоему на все видяхи есть подписанные дрова.

Тут как говориться, кому как, а конкретно для видях я выбираю подписанные.

Mr dUSHA
18-07-2007, 20:16
Встроенные дрова обезвреживать опсано. Вдруг какая-нибудь PCI видеокарта для ловли глюков в системе понадобится
Согласен на 100 процентов. Тем более что на древние PCI видюхи лечше чем встроеные драйвера зачастую вообще не найти....
Собсно я имел ввиду лишь драйвера для современных nVidia и ATI карточек, для которых встроенные юзать не логично совершенно, а лучше прикрутить свежие Детонаторы и Каталисты.

Real Root
18-07-2007, 20:34
Я обычно для вырезания компонентов исползую NLite, там можно вырезать только целиков драйверы Video. Вручную я как то давно пробовал раскурить все это дело, но запарился, и в конце концов ушел в 3-х дневный запой :) Хотя пью очень редко, даже пиво :)
Если есть наработанные скрпиты или "маленькие хитрости" в ковырянии SP2.CAB - поделитесь.

PS: Тему пора переименовывать в "Конференция по перепаковке дров от видео карт" :)

Mr dUSHA
19-07-2007, 11:04
Моя хитрость проста (на примере для nVidia): создаю файл нулевого размера именем nv4_disp.inf и кладу его в папку $OEM$\$$\INF. Далее в папку $OEM$\$1\Drivers кладется нормальный свежий Детонатор.
В этом случае:
1. Не нужно ковырять сам дистрибутив (i386).
2. С такой универсальной папкой $OEM$ можно использовать любой дистрибутив, без необходимости вспоминать "а что и когда я в нем правил и твикал?..."
Все.

NLite не использую в принципе, так как презираю его.

Real Root
20-07-2007, 00:24
Моя хитрость проста (на примере для nVidia): создаю файл нулевого размера именем nv4_disp.inf и кладу его в папку $OEM$\$$\INF. Далее в папку $OEM$\$1\Drivers кладется нормальный свежий Детонатор. В этом случае: 1. Не нужно ковырять сам дистрибутив (i386). 2. С такой универсальной папкой $OEM$ можно использовать любой дистрибутив, без необходимости вспоминать "а что и когда я в нем правил и твикал?..." Все. NLite не использую в принципе, так как презираю его.
Кому как, а мне главное, чтоб юзер воткнувший через полгода железяку не вызывал меня и не просил установить дрова.

e-not1989
06-08-2008, 11:28
Господа, а кто знает, как сделать так, чтобы при установке инсталлятор не перезагружал компутер? Я распаковываю инсталлер и запускаю установку как setup.exe /S

Но после установки компутер принудительно уходит в перезагрузку... Каким ключом её убрать?

Petya V4sechkin
06-08-2008, 11:39
e-not1989, зачем запускать setup.exe, если драйвер нормально ставится из .inf файла?

e-not1989
06-08-2008, 13:11
А "Панель управления NVidia" тоже с *.inf устанавливается? :) Нет... Вот я и уничтожаю свой мозг. :)

Petya V4sechkin
06-08-2008, 13:15
e-not1989, установится.




© OSzone.net 2001-2012