PDA

Показать полную графическую версию : [addon] интеграция драйверов #2 (Z_DRV_INST)


Страниц : [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

Boa Soft
19-09-2008, 18:20
Продолжение. Старая тема (http://forum.oszone.net/thread-60641.html) переведена в архив и закрыта. Ее версия для печати содержится в архиве, прикрепленном к сообщению.

Аддон для автоустановки драйверов.

Аддон совместим с пакетом обновлений для SP3

Аддон предназначен ТОЛЬКО для 32 битных систем

ВНИМАНИЕ! Аддон в настоящее время не развивается и не поддерживается.

Текущая версия аддона не поддерживает добавление в реестр PnPInterface, в следствии чего ряд драйверов не могут корректно загрузится.

Все возможности этого аддона и аддона мультизагрузки реализованы в GUI - интеграторе.

Аддон рассчитанная как на интеграцию установки драйверов PNP так и Boot драйверов MassStorage устройств.

Аддон предназначен только для использования совместно с пакетом обновлений Petya V4sechkin`а для Windows XP
или с пакетом обновлений dimadr`а для Server 2003 .

Аддон не является самостоятельной программой и без пакета обновления использоваться не может!


Текущая версия, независимая от метода установки (CD- boot/syspart/winnt32 run/attended/unattended/standard)
и рассчитанная на применение как с упакованными в 7z архивы драйверами так и с распакованными.

В обновленной версии добавлены мощные средства для управления архивом драйверов.

Аддон позволяет интегрировать как автоустановку драйверов устройств на GUI этапе установки,
так и boot драйверов Mass Storage устройств текстового этапа, что позволяет обойтись без F6 и дискет.
Но, так как не используются $OEM$ структуры, то сохраняется функционал f6 (но при правильном сценарии или его отсутствии)

Изменения в версии от 19 мая.
1. Финиш заменен на версию без выдачи отладочной информации в корень диска с:\

Изменения в версии от 25 апреля.

1. Изменен алгоритм работы DSPHook.dll - в случае, если исходная функция возвращает отличное от 0(ignore) значение,
то принудительно выставляется значение 0 в реестре с правкой хеша.
2. Исправлены ошибки при сохранении драйверов - ранее иногда независимо от настроек сохранялись все драйвера.
3. Исправлена ошибки при установке дополнительных папнелей - ранее при указании HWID*_XX,Condition*_XX или TagFile*_XX
комманды запускались независимо от результата проверки.
4. Добавлен мини-FAQ.


Вид частей нового интерфейса при работе аддона:

http://keep4u.ru/imgs/s/070106/57a1f59dd46586fc3b.jpg (http://keep4u.ru/full/070106/57a1f59dd46586fc3b/jpg) http://keep4u.ru/imgs/s/070106/745ff742b5ab0bbdb2.jpg (http://keep4u.ru/full/070106/745ff742b5ab0bbdb2/jpg) http://keep4u.ru/imgs/s/070106/aad1bf6748df7a1b69.jpg (http://keep4u.ru/full/070106/aad1bf6748df7a1b69/jpg)

В аддоне частично использованы и материалы форумов MSFN и OSZONE по автоустановке PNP драйверов и интеграции Boot драйверов MassStorage устройств и технология LZMA (7z). Более подробно о использовании стороннего кода читайте в описании аддона.
Внимание! Обязательно прочитайте руководство.

Аддон требует некоторой предварительной подготовки перед применением (добавление самих пакетов драйверов), и (желательно) понимания механизма работы. Много полезного можно почерпнуть на форуме MSFN http://www.msfn.org/board/index.php?showforum=88 и в параллельной ветке этого форума (Хинт - пользуйтесь поиском! )

Инструкция по применению и полное описание в архиве с аддоном. Прочитайте все *.txt файлы в каталоге !Docs. Если есть проблемы с пониманием, типа: куда это применить вообще?!, то читаем сначало отсюда : http://forum.oszone.net/thread-60778.html#post404087

Качаем по ссылке:

z_drv_inst.7z (http://tools.oszone.net/BoaSoft/UpdPack/RUS/Addons/z_drv_inst.7z)


Мини - FAQ

Самые надоедливые вопросы о аддоне.

A: В какие папки аддона надо класть пакеты драйверов?
Q: В папку DriverPacks_MSST кладем в РАСПАКОВАННОМ виде только пакет MASS STORAGE.
Все запакованные пакеты (и пакет MASS STORAGE!) кдладем в DriverPacks_Zipped.
Файл MSST.INI, соответствующий версии пакета MASS STORAGE, кладем в саму папку аддона.

A: После установки в корне системного диска остается папка D, как сделать, чтобы она не создавалась?
Q: Не используйте этот аддон. Эта папка нужна для установки драйверов.

A: После установки в корне системного диска остается папка D, как сделать, чтобы она удалялась автоматически?
Q: выставте в presetup.ini AutoCleanup = 1 и папкка после установки драйверов удалится.
В текущей версии включено.

A: После установки, при певом входе, идет долгое копирование дистрибутива Для чего и как отключить?
Q: Пакет добавляет дополнительные компоненты, которых нет в оригинальном дистрибутиве и после установки их невозможно установить с
оригинального holografic диска. Кроме того, диск может понадобится для работы SFC. При наличии локальной папки эти проблемы отсутствуют.
За копирование отвечает параметр CopySource. При 0 дистрибутив не копируется.
В текущей версии отключено.

A: Я хочу, чтобы нужные для системы драйвера были сохранены, а неиспользованные - удалены.
Q: Установите KeepDrivers = 1. Параметры сохранения установите в finish.ini.
В текущей версии включено.

A: После установки в корне системного диска остается файл DriverPack_MassStorage_wxp_xxx.ini, как сделать, чтобы он не создавалася?
Q: Этот файл лежит в корне пакета MASS STORAGE, перепакуйте пакет с удалением этого файла. Для установки он не требуется.

A: Я хочу интегрировать пакеты драйверов без пакета обновлений. Сделайте отдельный интегратор.
Q: Не сделаю. Нет времени и желания. Но, я не против, если Вы сделаете его сами. Изучив работу скрипта аддона и имея
средние познания в синтаксисе cmd - скриптов это вполне возможно реализовать. К стати, GUI интегратор позволяет интегрировать драйвера и собрать мультизагрузку без интеграции пакета и аддонов.

A: После интеграции в самом начале установки выоезает ошибка "не найден файл elxstor.sys"? хотя файл присутствует и ссылки на него имеются?
Q: Этот файл предназначен только для server 2003. Удалите секцию с упоминанием о нем (Emulex LightPulse HBA - Storport Miniport Driver) из MSST.INI и проведите интеграцию заново.

Q: A зачем XXX? Как настроить YYY?
A: RTFM! Внимательно! (DPack.txt,Driver.txt,faq.txt,History.txt,readme.txt)

Q: А почему не добавлено XXX?
A: Возможно, когда-нибуть будет реализовано в новых версиях.

Q: А почему версия такая старая?
A: Аддон пока более не развивается. Чтобы получить возможность корректной интеграции драйверов, используйте возможности GUI - интегратора.

Q: А почему аддон более не развивается?
A: Потому, что новые возможности реализованы в проекте GUI - интегратора. Проект некоммерческий и развивать оба проекта мне сейчас не под силу.

Q: Проект закрыт?
A: Да, закрыт окончательно. То, что реализовано в полном объеме в GUI - интеграторе реализовать в аддоне затруднительно.

Q: Стоит ли использовать данный аддон?
A: Скорее всего, нет. Текущая версия аддона не поддерживает добавление в реестр PnPInterface, в следствии чего ряд драйверов не могут корректно загрузится.


Дополнительные утилиты
(ScanInf ,msstconvert,ZZ_MultiBoot...)



В связи с изменением формата архива аддона (для экономии трафика) из него исключена утилита ScanInf. Ее вы можете скачать отдельно. Эта утилита рекомендуется только для разработчиков собственных пакетов и продвинутых пользователей. Результат ее работы обычно нуждается в анализе и ручной коррекции.

Скачать ScanInf можно по ссылке:

scaninf.7z (http://tools.oszone.net/BoaSoft/tools/scaninf.7z)

В связи с переводом Bashrat The Sneaky (Wim Leers) своего проекта в Open Source и вынесения информации о драйверах текстового режима из AutoIt скрипта в DP_MassStorage_wnt5_x86-32.ini я написал конвертор из формата DP_MassStorage_wnt5_x86-32.ini в мой формат MSST.INI. Для общего применения я рекомендую использовать именно ее. Эта утилита позволяет получить результат, полностью аналогичный интеграции драйверов MassStorage средствами башратовского интегратора.

New! HotFix! Обновление от 02.12.07

Исправлена работа со строками, превышающими 2048 символов.
Необходимо всем обновить!

Скачать его можно по ссылке:

msstconvert.7z (http://tools.oszone.net/BoaSoft/tools/msstconvert.7z)

PS2ZZ_MultiBoot не обновлялся если он от 07.10.06 (ZZ_MultiBoot (http://forum.oszone.net/thread-64648.html)) (и, если, конечно, его используете!) подойдет старый.

Его качаем по ссылке:

zz_multiboot.7z (http://tools.oszone.net/BoaSoft/UpdPack/RUS/Addons/zz_multiboot.7z)




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

Лучше поступать по такому алгоритму. Переименовать старую папку аддона. Распаковать новый аддон. перенести пакеты драйверов.
Прочитать об изменениях и отредактировать (или просто перенести) конфигурационные файлы из старого аддона. После проверки не забыть удалить старую папку.

Baw17
19-09-2008, 19:56
Boa Soft, и Administrator, большая просьба можно выложить Rar или Zip всей старой темы, для просмотра в оффлайн
?

AOD
20-09-2008, 11:25
Чтоб не создавать лишней темы нипишу сюда, незнаю просто кчему больше относится!
Нельзя ли сделать так:
Из-За опасения BSOD и по многим другим причинам некоторые драйвера все же мне например приходится просто кидать на диск (дравер паки предназначеные для интеграции). Хотелось бы (не знаю, может опционально или отдельно), чтоб была программа (или добавить опцию в ScanInf)которая просканирует драйверпаки лежащие в одной папке, создаст кучу INF файлов с сылками на эту папку или единый INF, и когда ставить драйвера вручную из винды, просто указать где искать (Пример: Драйверы лежат в корне CD(DVD) в папке Drivers с под папками (CHIP, CPU и тд) и 1 единственный файл INF лежащий в корне этой папки или куча INF в папке Drivers\INF позволит избавится многим от головной боли, ведь как ни крути, а драйвер паки будут еще очень долго доводится до совершенства, вобщем укзать винде искать в папке drivers\inf). Экономия кучи времени и нервов, а так же не будет лишний раз мусолится привод, просто указать искать в этой папке и все - драйвер найден (если он конечно есть).
Ко всему прочему, не всегда есть нужный драйвер, а качать каждый раз весь пак из-за 1 драйвера то-же не есть прелесть, а тут просто кинул в папку, удалил предыдущий результат, запустил программку, и вуаля - все лежит в одном месте и находится моментально.
Что-то вроде универсального каталога драйверов!

Мне было бы например очень полезно и удобно использовать такой метод!!!

Boa Soft
20-09-2008, 12:53
Нечто подобное уже было реализовано.

http://forum.oszone.net/thread-100922.html

Добавлять кучу драйверов в пути поиска тоже не гут. При установке нового оборудования очень долго идет поиск.

AOD
20-09-2008, 13:09
Добавлять кучу драйверов в пути поиска тоже не гут. При установке нового оборудования очень долго идет поиск »
Но это лучше чем BSOD (и для каждой особо одаренной железке индивидуально подбирать драйвер, и делать диск совсем не гуд), и лучше когда винда рыщет не по всему диску, а в конкретно указанной папке.

Нечто подобное уже было реализовано.
http://forum.oszone.net/thread-100922.html »
Конечно не совсем, что я хотел, но все же лучше чем совсем ничего! Пасиба.

YikxX
20-09-2008, 21:53
Boa Soft, а что поменялось в новой версии? Проблем с интеловскими контроллерами больше нет?

Boa Soft
21-09-2008, 01:29
Boa Soft, а что поменялось в новой версии? Проблем с интеловскими контроллерами больше нет? »

А где вы увидели новую версию? Просто тема привысила разумный размер, поэтому была закрыта и начата новая.

С интеловскими проблем у меня небыло никогда. а вот с NV (особо в режиме RAID) достаточно.
Сейчас идет разработка нового. более корректного метода интеграции драйверов, поэтому пока новых версий не будет.

AOD
21-09-2008, 08:47
С интеловскими проблем у меня небыло никогда. а вот с NV (особо в режиме RAID) достаточно. »
Есть такое.... Вчера ставил на одну маму от асуса на нфорсе (A8N32 SLI Deluxe). Сначала ничего не понимал, а потом стало смешно! С интегрироваными MSST не виделся винт, попробывал обновить через винду (ради интереса) - получил BSOD 0Х0000007B! А стало смешно потому, что если ставить винду без интегрированых MSST, то установочник видет винчестер, но не видит установленые операционные системы, что бы предложить востановление....

aset
21-09-2008, 09:44
AOD,
а потом стало смешно! »

на месте, грустно становиться, а не смешно :)

AOD
21-09-2008, 09:47
на месте, грустно становиться, а не смешно »
Не! Стало смешно! Home SP2 без всяких наворотов видит, а навороченый Pro SP3 Говорит - На данном компьютере не найдено ни одного винчестера, нажмите F3 для перезагрузки! LOL, ну потом естественно стало грустно. Пришлось копаться в затворках вселенной, и ставить человеку SP2 Pro от OGOMOR'а.

tr011_tmn
21-09-2008, 11:04
AOD, Цитата aset:
на месте, грустно становиться, а не смешно »
Не! Стало смешно! Home SP2 без всяких наворотов видит, а навороченый Pro SP3 Говорит - На данном компьютере не найдено ни одного винчестера, нажмите F3 для перезагрузки! LOL, ну потом естественно стало грустно. Пришлось копаться в затворках вселенной, и ставить человеку SP2 Pro от OGOMOR'а. »

Подобная проблема решаеться наличием двух дистрибьютивов. Я поступил следующим образом, 1 дистр у меня собран на основе MassStorage от Greg_b второй на MassStorage от Driverpacks.net, от остальных драйверов отказался на этапе установки, ставлю через GUI Driverpacks, после установки. Как результат в 90 случаях из 100 установщик драйвера и распожнает жесткие диски.

YikxX
21-09-2008, 12:16
С интеловскими проблем у меня небыло никогда. » Частенько бывают. Особенно ваш интегратор почему-то недолюбливает G965M (или GM965). :dont-know Используешь Башратовский - ноу проблем.

а навороченый Pro SP3 Говорит - На данном компьютере не найдено ни одного винчестера » Это из-за драйвпака. В башратовском (у грега не проверял) есть дрова на режимы IDE некоторых контроллеров - вот они и конфликтуют. Поэтому обычная винда видит диски, а с драйвпаком - нет. Я эти дрова убрал нафиг - и теперь в режиме IDE у меня любой винт видится.

Debugger
21-09-2008, 13:20
Я вообще пока выкинул дрова на nVidia - рейд-массивы уже сто лет как не попадались а проблемы как были так и есть.

Имхо эту проблему вообще стантартным методом не решить - у nVidia практически на все львиной доле RAID-контроллеров один и тот же HardwareID - *NVRAIDBUS. Винда при установке просто хватает первый попавшийся драйвер. Единственное что приходит в голову - просто тупо насоздавать кучу вариантов загрузки в BCDW под все чипсеты.

А проблем с Intel не было никогда - в том числе и с 965 серией.

а навороченый Pro SP3 Говорит - На данном компьютере не найдено ни одного винчестера »
Я эти дрова убрал нафиг - и теперь в режиме IDE у меня любой винт видится. »
Вообще никто не обещал что все будет работать без редактирования драйверпаков - практически в каждом их релизе приходится вручную переделывать.

YikxX
21-09-2008, 14:55
RAID-контроллеров один и тот же HardwareID - *NVRAIDBUS » Вы не совсем правы. Это не HWID контроллера. HWID контроллера у них обычный, например PCI\VEN_10DE&DEV_0266&CC_0104 А вышеупомянутый HWID относится к NVIDIA nForce RAID Class Driver (его еще называют BusExtender). Сначала (по аналогии с порядком строк в txtsetup.oem) должен хвататься BusExtender, а уже потом и сам драйвер. У Башрата в драйвпаке все с точностью до наоборот - сначала в txtsetup.sif прописывается PCI\VEN_10DE&DEV_0266&CC_0104 и уже потом *NVRAIDBUS Может от этого проблемы. Я переставил и провел тест - винт увиделся, но так как полноценного RAID-а на компе не было (был только 1 винт и порт работал в режиме RAID) установка дальше не пошла, но винт установщик увидел. На все 7 HWIDов (SCSI\NVIDIA__Raid_Disk________,SCSI\__NVIDIA_______Raid_Disk,SCSI\NVIDIA__Raid_Disk_20_____,SCSI\__ NVIDIA____Raid_Disk_20,*_NVRAIDBUS,*NVRAIDBUS,*NVRAID20) для BusExtender'а я зарядил nvrd32.sys последней версии.

Mr dUSHA
21-09-2008, 15:50
Сначала (по аналогии с порядком строк в txtsetup.oem) должен хвататься BusExtender, а уже потом и сам драйвер. »
Именно для этого и предназначен параметр в реестре "PnpInterface", о котором я писал здесь, и в своей ветке про генератор MSST аддона.
Если у вас в txtsetup.oem минипорт-драйвер контролера стоит раньше, чем драйвер класса устройств или шинный расширитель, то минипорт-драйвер и инициализируется раньше классового драйвера, от которого непосредственно зависит в данной конфигурации. Соответственно минипорт и не найдет железа, за которое он отвечает.

Инициализация любого драйвера производится только один раз, а PnP минипорт-драйвер должен инициализироваться только тогда, когда диспетчер PnP обнаружит устройство соответствующее этому драйверу, а не в момент загрузки в память, как это происходит без параметра PnpInterface в реестре для него.
Суть у текстового этапа следующая: сначала setupldr проецирует в память реестр текстового этапа, загружает все драйверы указанные в txtsetup.sif и реестре, загружает ядро и hall и делает некоторые другие действия, как и обычный ntldr.
Далее (в тот момент, когда вы видите мигающий курсор на черном фоне) управление передаётся ядру, которое инициализирует все обычные драйверы, запускает нужные диспетчеры (которые являются по сути отдельными функциями ядра, запускаемыми в отдельные потоки), и по мере нахождения оборудования, инициализирует соответствующие минипорт-драйверы.
Если минипорт-драйвер не отмечен как драйвер PnP, то он будет инициализирован в первой фазе, с обычными драйверами, и в той последовательности, в которой они были загружены setupldr-ом.

truvo
22-09-2008, 01:58
Аддон предназначен только для использования совместно с пакетом обновлений Petya V4sechkin`а »может, лучше UpdatePack-XPSP2/SP3 или еще как-то, для понятности, поскольку эстафету Васечкина уже давно продолжают?

Тестовая версия временно недоступна. »Почему? Там серьезные ошибки нашлись? А то я ее использую...

Debugger
22-09-2008, 11:38
YikxX, Mr dUSHA, исходя из всего вышесказанного ко мне начало возвращаться давно забытое ощущение, что все не так плохо... Хочется надеятся, что будущий "более корректный" способ интеграции драйверов, про который упоминал Boa Soft как раз основан на ваших выкладках.

Boa Soft
22-09-2008, 11:46
Почему? Там серьезные ошибки нашлись? А то я ее использую... »

Просто у людей были с ней проблемы (черный экран). А у меня времени на доводку пока нет. Поэтому и убрал.

Dilinjer
24-09-2008, 08:43
Boa Soft, а как вы планируете в новом инеграторе реализовать подхват более свежых драйверов без цифровых подписей ?
Может , с помощью инегратора стоит падчить SETUPAPI.DLL на предмет отучения понижения ранга для неподписанных драйверов , вероятно при таком подходе исчезну проблемы типа этой (http://forum.oszone.net/post-867539-2315.html)

ЗЫ: Для меня очень актуальный вопрос: будет ли новый аддон совместим с пакетом обновлений для SP2 ?

BXA
24-09-2008, 09:52
Boa Soft, Вы делаете чудесный тихий дистрибутив AtiTrayTools для использования через finish.ini Вашего аддона. Не могли бы Вы сваять очередную версию :-)

1.5.9.1314

http://cid-a50350ea7a969f0c.skydrive.live.com/self.aspx/Public/attsetup.exe




© OSzone.net 2001-2012