![]() |
Распаковка инсталляторов от nVidia и ATi
В общем, при первичной распаковке, все файлы имеют неполное расширение, заканчивающееся на _ и шифрованы. Как бы расшифровать? Спрособ описанный для инсталляторов Intell здесь не прокатывает, что setup -a, что setup -a -p C:\123123123, даже если этот каталог сам создаешь на диске. А очень хочется постоянно дополонять диск свежими дровами. Кстати, еще вопрос: почему, если имеется свежие драйвера, но не подписанные и драйвера, которые идут вместе с Windows, винда предпочтет именно подписанные при автоматической установке? Как поправить?
|
Ну вообще-то это надо прописать в winnt.sif в разделе Unattended
Надо поставить параметр DriverSigningPolicy=Ignore И тогда винде будет пофигу на подпись, она поставит самые свежие дрова Вообще у меня прокатывало, но есть подозрение, что она все же свои дрова больше любит :-) |
Способ проверен на 66.93_win2kxp_english
1) Распковываешь архив (например WinRAR) 2) Создаешь в распакованной папке cmd файл (например reduce-size.cmd) такого содержания: Код:
TITLE nVidia 66.93 driver cleanup Теперь мой вопрос к знатокам. Возмодно ли как-нибудь поджать дрова при помощи сжатия (cab и т.д) при использовании OemPnPDriversPath, для уменьшения размера. |
qeraser
нельзя есть вариант с подменой файла setup.exe и использованием батника, кот. распаковывает дрова с диска на винт, с помощью спец. утилитки рекурсивно сканирует папки с дровами и вносит в реестр пути для поиска дров, потом запускается оригинальный setup.exe как start setup.exe, выполняется и после завершения отдает управлению опять батнику, кот. подчищает за собой и возвращет реестр в первозданный вид. преимущества - экономия места (у меня дрова на 120 мег, занимают в архиве 32), ненужно прописывать все папки с дровами в ключе OemPnPDriversPath. недостатки - сложность в применении для начинающих, и самое главное изменение дистрибутива, т.е. любой вид установки буть то unattend или нет, будет использовать данный метод Тема на MSFN - SOLVED: drivers from CD |
A если положить драйверы в SFX архив (где указать путь для распаковки %systemdrive%\Drivers) разместить его, скажем в $OEM$\$1\Temp и прописать команду на его запуск в winnt.sif
Код:
[GuiUnattended] Код:
[Unattended] |
Vadikan
все правильно проще, просто есть кое какие ньюансы, кот. нужно проверить, будут ли они работать. Когда я этот вариант рассматривал, что-то меня не устроило. А для qeraser, наверное подойдет, я поспешил с таким категоричным заявлением - нельзя :) Появился вопрос связанный установкой неподписанных драйверов (без WHQL): в winnt.sif есть 2 ключа отвечающие за поведение системы при установки драйверов без WHQL подписи Цитата:
Цитата:
По идее как раз эту проблему должны решать ключи DriverSigningPolicy и NonDriverSigningPolicy. Откуда взялась проблема? Сейчас я использую вышеописанный метод с подменой setup.exe и запуском батника, кот. стартовал помимо всего прочего утилитку WatchDriverSigningPolicy.exe, отслеживающую вышеуказанные ключи в реестре и правила их нужным образом когда необходимо. В связи с постом Vadikan хочу снова попробовать методу установки дров на t39, но не уверен в действенности ключей DriverSigningPolicy и NonDriverSigningPolicy, и времени на тестирование возможных вариаций мало. Есть конечно простой выход - прописать запуск WatchDriverSigningPolicy.exe после распаковки дров через сценарий SFX. Но хочется для себя уяснить необходимость этого. Кто нибудь точно может сказать достаточно ли прописать лишь 2 ключа в winnt.sif, или нужно предпринимать еще что-то, для нормальной установки неподписанных драйверов. |
2 ALL
C дровами для nVidia детально не разбирался. Дрова для ATI... Раньше делал так: 1 в TC извлекал из инсталятора папку 2KXP_INF 2 копируем ее содержимое в $OEM$\$1\DRIVERS\GR\ATI 3 туда же кладем папку с распакованной control-panel 4 в любой батник, запускаемый из cmdlines.txt добавляем строку if exist %WINDIR%\system32\drivers\ati2mtag.sys start /wait %SystemDrive%\Drivers\Gr\ATI\control-panel\Setup.exe /S В результате получаем установленные драйверы видюшки ATI и Control-Panel. Подобную процедуру можно проделать с драйверами Intel Extreme Graphics. Ну и не забыть прописать правильные пути в winnt.sif. Можно конечно сэкономить место на CD с упаковкой драйверов и распаковкой их на Т-39, но это отдельная тема. |
EgOrus
Неподписаные драйвера NVIDIA, которые у меня были не установились (из OemPnPDriversPath). Официальные же (подписаные) встали как положено. На MSFN слышал, что большинство неподписаных все-же устанавливается. Поэтому надо тестить самому. Это что касается NVIDIA, как с другими драйверами, не знаю. Интересно что думает по этому поводу народ, обладающий большей статистикой и опытом установки дров. Способ от Vadikan обладает одним неудобством: в секцию DetachedProgram можно внести только один параметр: например DetachedProgram = "%SystemDrive%\Temp\drivers.exe". Т.е придется в один архив (например drivers.exe) включить и маркерные файлы (если используются) и все осталное что требуется поджать. Хотя это не критично, но создает определенную путаницу в структуре диска. Нет наглядности расположения программ, драйверов и т.д, ведь не все надо архивировать. Что думаете по этому поводу? |
qeraser
Цитата:
|
Vadikan
Я не подумал о таком варианте. Спасибо, буду пробовать. |
qeraser
Vadikan Я же писал что бат файлы на t39 не отрабатываются (даже через cmd.exe /c run.cmd), и это один из ньюансов. Компилите exe'шники. |
EgOrus
Можно winrar'ом заархивировать этот cmd в exe с автозапуском этого cmd, который и запустит все остальное ;)))))))))))) В дистрибутиве винды есть файл drivers.cab, который, как я понимаю, как раз содержит все виндовые дрова. Может быть можно в него добавить и свои? По-крайней мере, XPCreate с какой-то целью его перепаковывает.... |
TrueAlex
Не уверен что запустит, но идея интересная, я думаю что на этом этапе установки запуск cmd-файлов просто ограничен. тогда уж легче сделать каскад из sfx-архивов: прописать запуск маркерного архива по окончению распаковки sfx-архива с дровами. Можно и вручную драйвера добавить и через nlite, вариантов много, но смысл в том чтобы как можно меньше менять source-дистрибутив, т.к. если мне нужна чистая установка, предположем для отладки или установки на глючное железо, то я не смогу ее осуществить, т.к. изменен сам дистрибутив. Цитата:
Кстати мне до сих пор не удалось заставить работать батники (или скомпилить нормальный рабочий exe из bat'ника, - у меня пока batники с переменными и конструкциями типа for... не выполняются). Думаю может плюнуть и написать длиннющую CMD строчку кот. будет заменять батник. |
EgOrus
Цитата:
winn1.sif *** *** OemPnPDriversPath="Drivers\пути_ко_всем_дровам *** DetachedProgram = "%systemdrive%\drivers\drivers.exe" *** и т.д. в том же духе winn2.sif *** OemPnPDriversPath="Drivers\исключаем_ненужные_дрова *** DetachedProgram = "%systemdrive%\drivers\drivers.exe" *** и т.д. и т.п. winn3.sif *** OemPnPDriversPath="Drivers\можно_вааще_ничего_не_писать *** DetachedProgram = можно_вааще_ничего_не_писать *** все остальное. winn4.sif winn5.sif winn6.sif Вариантов море, давно юзаю. Хоть для каждой материнки свой sif пиши или для каждого случая. И плевать на то, что все это будет скопировано на винт, в конце установки закилять не долго. А менять будешь только драйверы в sfx архиве или что там еще кому нибудь надо. Кстати, ни nLite ни Xplode-----XPCreate не юзаю. |
VseDoFeNi
гм... а это к чему? обсуждается совсем не это, то что ты описал и так известно, имелось ввиду интеграцию дров в drivers.cab дистрибутива винды, и проблема при выборе маркера, т.к. как раз в ключе DetachedProgram, и выполняется sfx-архив, кот. распаковывает маркерный файл, определяющий что из софта ставить и какие настройки применять. В условиях ограниченности CD 700 мегабайтами, паковать одно и тоже не имеет смысла. |
Цитата:
|
EgOrus
Цитата:
|
Vadikan
да нет, где-то ошибся, все вроде нормально, работает. Это даже лучше чем компилить exe, т.к. позволяет в дальнейшем редактировать cmd. Сейчас еще попробую vbs, если с ним не получится, опять поропбую cmd-файлы прилепить. TrueAlex большой респект за идею :) Не получилось, а vbs вообще не должны на этой стадии установки работать :( Даже cmd.exe на этой стадии не запускаются. |
EgOrus
Я, честно говоря, это в шутку сказал, не думал, что действительно срабоает :) Кстати, тогда вместо Winrar можно еще использовать iexpress. Ну это для тех кого вопрос лицензионности волнует или нету Winrar. Я кстати, немного в тему не въезжаю ;) А зачем делать эти маркерные файлы и т.п. вещи применительно к драйверам? Почему не запихать все в одном месте, винда же сама найдет, то что надо... Или бывают какие-то проблемы при установке? Я пока что не сталкивался, правда и устанавливал, только лишь на две машины, ну и на виртуальные еще... |
Цитата:
|
Способ предложенный EgOrus и TrueAlex прекрасно работает.
В самораспаковывающийся архив с маркерным файлом, добавляется автозапускающийся после распаковки cmd файл с путями к архивам (самораспаковывающимся) которые необходимо распаковать. В принципе можно этот командный файл использовать как маркерный. Способ элегантен, т.к. позволят оперативно редактировать этот cmd и выбирать для каждого варианта установки архивы которые будут распаковываться. Надеюсь тем кто стремится сделать универсальный диск (не DVD) эта информация пригодится. |
Народ, а если диск делается универсальным и на машине нет карточки, скажем с чипом nvidia... получается запускаемый екзешник что-то там установит - а надо ли это для конкретной машины ??? Может быть я что-то упустил - прошу прощения - новичок :). Если не трудно проясните пожалуйста этот момент.
|
mnevolin
Цитата:
Никаких установочных действий не происходит, если конечно сам не укажешь. А операционная система уже сама будет решать надо ей ставить драйвер или нет, в зависимости от видеокарты и.т.д. Только незабудь указать в winnt.sif путь к распакованны папкам с дровами. |
прошу прощения, я видимо не до конца понял проблему... то, что SFX - архив распаковывается, затем запускается пакетный файл - это вроде проще некуда, затем сам пакетник отвечает за дальнейшую распаковку драйверов (скажем по устройствам и производителям - не суть)... я так понимаю, что файлы типа setup.exe для конкретных устройств (скажем распакованный детонатор) - не запускаются... если так - то все понятно.
|
Вроде, понял правильно :-)
|
Я все драйвера устройств, включая чипсет, видео, аудио, сеть (кроме SCSI RAID (их кстати немного)) - которые могут понадобиться для корректной загрузки системы запихнул в wpi (windows post install wizard -принципы работы программы описаны на сайте) на стадию (Т12).
Учинывая, что почти все инсталлеры драйверов Instalshild и уже имеют встроеный setup.iss (setup.exe -s), то на этапе Т12 появляется возможность корректно выбрать и установить именно те драйвера (можно держать разные подветки драйверов под определённое железо) которые будут наиболее подходящими, для конкретного железа. Этим достигается некоторая экономия диского пространства (на СD/DVD) носителе, не требуется распаковка и как следствие уборка (ну и фрагментация будет поменьше, хоть и на копейки), но главное появляется мобильность в установке, уменьшение возможности аппаратных конфликтов + мобильность обновления дистрибъютива при смене или добавлении драйверов. |
Время: 19:12. |
Время: 19:12.
© OSzone.net 2001-