![]() |
DIT - Driver Install Tools
Вложений: 1
Boa Software DIT V1.0 - Driver Install Tools
Причина разработки данной программы - острая необходимость в автоматизации установки драйверов для Windows Vista/Windows 7 в автоматическом режиме. На настоящий момент я не нашел готового решения, которое меня бы устраивало. Есть много разработок для установки драйверов, но они или не поддерживают того что мне нужно, или не совсем корректно отбирают драйвера (частый грех - предложение драйверов для другой системы или битности). Я постарался учесть все свои пожелания. Пока программа чисто для автоматизации установки, консольная, не имеет интерфейса. Но, возможно, в будущем получит развитие и для ручной установки пакетов. Текущая версия программы 1.0.5.2 Новое в текущей версии. 1. Добавлена папка NTALL для универсальных драверов, обрабатываемая независимо от версии и битности системы. 2. Место единого finish.ini обрабатываются все файлы INI в паке соответствеено битности и версии системы а так же в папке NTALL. 3. В фалах финишера сделано изменение - в любой секции любой из типов кондиций может содержать до 999 записей. Нумерация стала трехразрядная (было HWID*_01 - max 99 записей в секции, стало HWID*_001 - max 999 записей в секции). 4. В фалах финишера добавлен фильтр по версии и битности os. 5. Каталогизатор - значение фильтра по умолчанию можно задать вручную (было - всегда WINALL). 6. Каталогизатор - автоматически создается заготовка для финишера. Какие кондиции включать в болванку - натраивается в секции Template. Назначение. Программа предназначена для автоматической установки или обновления драйверов. Возможности программы. Поддерживаемые системы - Xp, Server2003, Vista, Server 2008, Server 2008R2, 7, 8 Поддерживаются как 32 так и 64 бит версии системы (Используется 32 или 64 бит программы.) Программа универсальна и можно использовать драйвер-паки любого сборщика, но в нововведениях учитываются в основном изменения в драйверпаках от SamLab - http://samforum.ws Программа консольная и с пользователем не взаимодействует. Все настройки находятся в DIT.INI. Работа с программой Во вложении - DIT.7z - сама программа и пример готовых индексов для тестов. Программа еще на стадии разработки и будет совершенствоваться. Развитию проекта требуется ваша помощь!!! Помощь нужна не в виде пожертвований, а в активном тестировании. Установка драйверов - достаточно сложный процесс, требующий тестирование на достаточно широком наборе конфигураций. Поэтому мне нужна обратная связь.В частности, сейчас хотелось бы проверить, работает ли автоматическая перезагрузка на XP или 2003. Жду отзывов. Они очень помогут дальнейшему развитию. |
Замечены некоторые нюансы при индексации драйверов. Это относится к драйверам, имеющим в своем составе несколько папок. Например, Nvidea. В частности, это касается на данный момент паков
DP_Graphics_A_wnt6-x86_1106M.7z DP_Graphics_B_wnt6-x86_1106.7z DP_Graphics_Mobile_wnt6-x86_1106M.7z В их индексах надо заменить x86\G_A\Nvidia\1\Display.Driver; на x86\G_A\Nvidia\1\; иначе будет распакована только папка x86\G_A\Nvidia\1\Display.Driver и драйвер не установится. Тобиш, если есть вложенные папки в папке драйвера и inf лежит не в корневой папке драйвера, то надо поправить имена папок в индексе так, чтобы они указывали на корневую папку. Путь к inf-файлу не трогаем. В следующей редакции я наверно поправлю индексатор и сделаю в нем список исключений, которые надо исправлять автоматически. Вот думаю, если выложить (после доработки) софтину на Башратовском форуме, не заклюют там, что без разрешения сделал что-то к их пакетам... |
Boa Soft, отлично! Буду тестировать на следующей неделе.
%CDROOM% - исправьте на %CDROM% игнлририруя их днесовместимость |
Цитата:
|
Цитата:
Это чисто "спортивный" интерес. |
Цитата:
На данный момент эта программа заточена под автоматизацию установки драйверов при автоматической установке windows. Поэтому нужны пакеты только для тех версий, которые нужны этому дистрибутиву. К тому же, большинство драйверов общие для разных систем (например XP и Server2003) (Vista и 7 и сервер 2008). Посему - не так страшно. Может быть, потом будет и красивый фейс с плюшками, но пока это просто утилита для установки драйверов. В отличии от "конкурентов" уже реализовано следующее: 1. Программа по содержимому секции Manufacturer отсеивает несоответствующие версии системы и битности драйвера. 2.Программа сортирует драйвера по рангу, подобно установщику windows. По HWID (наилучшее совпадение) По CompatibleId (похуже совпадение) По содержимому секции Manufacturer - драйвер NTamd64.6.1 подходит для 7 лучше чем NTamd64.6.0 или NTamd64.6 И, наконец, по дате выпуска. 3. Распаковываются только необходимые драйвера, а не пакет целиком. 4. В отличии от моего старого метода с DPInst установка идет значительно быстрее. PS Samlab`овский DRPSu12.3-Final весит около 3,13. |
Цитата:
|
Обнаружил небольшой баг - текущая папка при запуске должна быть папкой программы. Т.Е. при запуске из батника надо перейти в ее папку а затем запустить. Иначе не находит библиотеки 7зип. Поправлю в ближайшее время.
Сегодня пробовал в боевых условиях при установке Win7 x64. Все отработало успешно. Так же, задумался, как бы прикрутить это к установке XP. Только часть технологии - отбор драйверов. По идее, тоже должно ускорить процесс и система не будет забиваться мусором. Когда делал индексатор, то обнаружил огромное количество дублирующихся HWID в драверпаках. В чепсетных - вообще около 6 папок с USBфильтром от AMD. Так что, надо делать утилиту для поиска дублей и оптимизации пакетов. |
грамматика. поправить succecfullu на successfully
то, что бросилось в глаза сразу )) |
Boa Soft, если можно, x32, замените на x86. Думаю так удобнее воспринимается учитывая тип архитектуры Windows в программе установки Windows.
|
Обновил версию в шапке: главное исправление - нормально запускается на XP.
Программу уже активно применяю при установке системы. Пока только 7. На ХП проблема осложняется тем, что пока программа не имеет возможности подавлять проверку цифровых подписей для установки неподписанных драйверов, а в пакетах для XP их великое множество. Даже встречаются некорректно подписанные inf для intel. |
Boa Soft, то есть изложенное Вами в этом посте http://forum.oszone.net/post-1972534-2.html поправлено?! в новой версии?!
|
Цитата:
Так же, там решается проблема с точпадами - автоматически убираются HWID, равные стандартной мыши. Пока программа не поддерживает работу с неподписанными драйверами, но, это вопрос времени. ЗЫ Это будет доступно только для XP. |
Boa Soft, может для начало попробовать такой метод? http://forum.oszone.net/post-1957981-55.html
|
Цитата:
С ХП выяснилось следующее - UpdateDriverForPlugAndPlayDevices не принимает неподписанных драйверов. Вообще. По дизайну. не то, что вылетает окно о неподписаности драйвера, а просто игнорируется драйвер. Так что, возможно остается только метод с внесением путей в рестр (или SetupOemCopyInf) и запуск рескана устройств. Или же (что более утопично) - избавится от неподписаных дров. Есть третий вариант - переписать UpdateDriverForPlugAndPlayDevices на основе имеющихся в сети исходников от Win 2000, но не знаю, на сколько это имеет смысл. |
Цитата:
Да и вообще UpdateDriverForPlugAndPlayDevices базируется на setupapi-шных функциях, так что надо туда копнуть еще. |
Цитата:
|
Еще думаю прикрутить обработку панелей. Как в моем фейке. Делать просто обработку формата башратовских панелей не охота - много возни и не очень мне оно нравится.
К стати, из-за идиотского формата пакетов не ставятся многие видеокарты. Причина - часть файлов лежит в языковом пакете а физикс-х - в своем. Решений два - более правильное - перепаковать все вместе, более гимморойное - создать вручную для этих пакетов индексы и скопировать в них строки из пакетов графики, содержащие эти папки. Тогда индексы будут проанализированы и пакеты будут распакованы. Новый формат пакетов для 7/Vista мне не понравился. Вернее, его реализация. Ну, я еще понимаю, что разделить на 7 и висту пакеты, которые просто в оригинальных дровах лежат в разных папках. И. то потом неудобно и обновлять хуже. Но, нафига делить УНИВЕРСАЛЬНЫЕ дрова. В ати все файлы для 7 и виты одинаковы, кроме инфа и каталога. В результате такого деления размер в распакованном виде растет в два раза. Последняя версия работает более-менее стабильно, находит все совпадающие HWID. Для XP ввел удаление OEM инфов, и сброс путей поиска в реестре иначе установщик пытается искать по старым путям. Испытание показало тоже нормальную работу. Проблема с неподписанными драйверами возможно будет решена. |
Текущая версия программы 1.0.1.3
Новое в текущей версии. 1. Исправлен алгоритм поиска совпадающих HWID, теперь устройства, помеченные как для ручной установки не устанавливаются автоматически. 2. Исправлен алгоритм поиска совпадающих HWID, в частности, ошибка сортировки по дате. 3. Исправлены ошибки в процедуре распаковки, приводящие в некоторых случаях к нераспаковке некоторых папок. 4. Добавлено удаление дублей устройств с одинаковым HWID, чтобы избежать многократного обновления драйвера. 5. Добавлен механизм установки панелей. 6. Добавлена обработка ошибок установки. 7. Добавлен хронометраж как по стадиям так и общий. 8. Исправлен вывод информации в лог о найденных устройствах и драйверах. 9. Добавлено подавление проверки цифровых подписей (только для XP и Server 2003) 10. Индексатор - исправлена обработка некорректных INF - файлов. Во вложении в шапке - DIT.7z - сама программа, DIT_Vista-Seven.7z - комплект для интеграции в дистрибутив vista или 7. PS Судя по количеству отзывов и сообщений об ошибках программа не сильно заинтересовала народ. К сожалению, на ограниченном числе конфигураций сложно отловить все ошибки и ньюансы такого сложного процесса как установка драйверов. |
Boa Soft, выбор из драйверов от висты 6.0 / семерки 6.1 и восьмерки 6.2 по каким критериям идет по версии Windows или нет? например самая известная оболочка DPS в этом плане выбирает чисто 5.x или 6.x и на семерку может поставить дрова от висты или восьмерки, что соответственно ведет к неработоспособности драйверов
|
Цитата:
|
Цитата:
Выбираются по степени совпадения секции. Для 7 32бит например Ntx86.6.1 - Ntx86.6.0 - Ntx86.6 - Ntx86 - Nt - секция без экстендера. К тому же, для 64 бит игнорируются все 32 бит секции, а для 32 64. Драйвера сортируются по такому критерию - степень совпадения HWID, при несовпадении Compatible ID, сопоставимость секции, дата драйвера - все от самого лучшего до самого наихудшего. Драйвера непригодные для системы отсекаются. Есть ньюанс. Некоторые драйвера содержат секции и 6.0 и 6.1 но, в одном из файлов секция с экстендером 6.0 пустая а секция 6.1 - рабочая и наоборот. В программе это учитывается и если пустая секция совподает с текущей версией системы - то драйвер игнорируется, ибо не встанет все равно. Точно сверять екстендер тоже нельзя. Драйвера для USB 3.0 от AMD содержат экстендер NTx86.5.1.1, но при этом прекрасно ставятся на виндовс старше и включая XP. Для меня это было откровением, но Mr dUSHA просветил, что подобная ситуация нормальна. Далее, после сортировки, программа ставить поочередно, от лучшего к худшему и прекращает процесс после первого удачно установленного драйвера для устройства. |
Хочется еще добавить вот что. Программа в основном ориентирована для установки драйверов в процессе автоустановки системы. Поэтому, можно вручную вычистить файлы индексов от несовместимых драйверов.
Так же, у меня была мысль добавить в индекс поле, указывающее для какой (каких) систем этот драйвер. С новой организацией пакетов можно отбросить неподходящие драйвера по имени папок. Но, идеально сделать невозможно, так как очень много драйверов без экстендера вообще. К тому же, есть драйвера с generic hwid типа PCI\CC_XXXX. Такого типа драйвера помечаются как только для ручной установки. Например, матроксовский мост Matrox Extio PCI Standard PCI-to-PCI Bridge имеет HWID PCI\CC_0604 и ставится на любой чипсет - что интел что нв. Эта проблема не решаема в принципе. Если будет GUI версия, то в ней драйвер будет предлагаться для ручного выбора. Теоретически, можно проверить наличие других компонентов матрокса с уникальным HWID (к примеру) и установить из финиша этот драйвер. Но, я с этим пока не заморачивался. К стати, пример финиша с ошибками - я не подумал, что для составного устройства надо проверять наличие родительского и потом ставить детей (пример - все USB 3.0, нетмосовские портовки). А я в нем забил проверку детей. В настоящей версии кофигурация железа читается один раз после в самом начале, и появившиеся "дети" составного родительского устройства в лог не попадут. |
спасибо за столь развернутый ответ но все же я не получил ответа на свой вопрос, пробую его перефразировать
известно что драва от 6.0 и от 6.1 ставятся на 6.2 (win8) учитывает ли прога или будет ли она учитывать эти особенности в противном случае на win8 на данный момент будут игнорироваться почти все драйвера и ставить будет нечего а также на win7 не будут ставиться драйвера от win vista коих огромное множество и многие производители вообще не делают различий между данными системами и шлепают драйвера по старинке лишь заявляя полную совместимость с новыми системами также обстоят дела и с системой nt5.0 => nt5.1 при этом тоже в "отвал уйдут" процентов 30% драйверов далее интересно как себя поведет ваша прога в следующем случае: Цитата:
тоесть это все находится в одном инфе и сам драйвер действительно универсальный для всех систем |
Цитата:
[NVIDIA] допустима для ЛЮБОй 32 бит и для xp 64 бит [NVIDIA.NTx86] допустима для ЛЮБОй 32 бит [NVIDIA.NTamd64] для любой 64 бит [NVIDIA.NTx86.6.0] - для висты и старше [NVIDIA.NTamd64.6.0] для 64 бит висты и старше [NVIDIA.NTx86.6.1] - для 7 и старше [NVIDIA.NTx86.6.2] - для 8 и старше На 7 драйвера от висты будут ставится, если нет пустой секции для 7 в этом дравере. Например, в драйверах ати. 7 на висту не станут, если явно задано что они для 7 - одна секция NTx86.6.1 или .NTamd64.6.1. Все зависит от производителя дравера. Отобрать идеально невозможно - у половины драйверов у секции нет экстендеоа - значит они формально подходят для любой ситемы. Единственный способ - иметь разные индексы для каждой системы. и РУКАМИ удалять несовместимые драверы из индекса. В новых пакетах разделили на общие для висты и для 7. При индексации можно настроитьигнорирование папок, например, висты. |
Boa Soft, Судя по описанию в вашей программе учтено много того, чего нет у конкурентов, осталось надеяться, что вы ее не забросите и сделаете хотя бы начальный интерфейс для нее
|
Цитата:
Цитата:
в универсальных драйверах (all) просто навал инфов и длл от разных систем (да драйвер действительно универсальный но секции [Manufacturer] там определены конкретно) именно по этому я пиши : Цитата:
|
В логе пишет "bad index signature" и на этом процесс завершается
|
Цитата:
|
Цитата:
Неправильный inf все равно не установится - там есть блокирующая секция для неиспользуемой системы. Вот и не особо хочется делать фильтр по именам папок. В принципе, программа сожрет все что ей дать, а вот индексы в сложных случаях можно поправить руками. Как я уже говорил - назначение данной версии - тихая установка. Драйвера желательно отфильтровать до применения. В GUI нужна универсальность. Поэтому, возможно придется делать в индексах дополнительное поле, четко определяющее системы, для которых пригоден дравер. В настоящее в время для 7 я пока не встречал проблемы с установкой непоходящего вистовского дравера при наличии подходящего 7. С вистой пока проверить не на чем - ну нету ее у меня. Проблемы могут быть, если отсутствует дравер для 7 а есть дравер для висты, нормально не работающий на 7, у которого отсутствует блокирующая секция. На счет 7 драверов с точно заданной и единственной секцией для 7, на висту такой дравер не станет. |
Цитата:
ИМХО привязка к именам папок и файлов - это и есть порочная идея. Программа должна быть максимально универсальна и независима от "псевдостандартов" придуманных драйверособирателями и активно используемых "сборщиками сборок". И лучше пусть "сборщики сборок" повышают свой уровень интеллектуального развития в процессе сортировки драйверов, чем программа скатывается до того, что будет пытаться автоматически разбирать кучу накиданного ей мусора, применяя логику этих самых псевдостандартов. |
ВСЕМ
Идея конечно хорошая. НО 1.Идея использовать Апи аля DifxApi и UpdateDriverForPlugAndPlayDevices не очень хорошая, так как для установки 64 битной винде сам скомпиленная прога должна быть 64 битной. Поэтому я пришел к выводу что лучше использовать devcon 2.[NVIDIA] допустима для ЛЮБОй 32 бит и для xp 64 бит [NVIDIA.NTx86] допустима для ЛЮБОй 32 бит [NVIDIA.NTamd64] для любой 64 бит [NVIDIA.NTx86.6.0] - для висты и старше [NVIDIA.NTamd64.6.0] для 64 бит висты и старше [NVIDIA.NTx86.6.1] - для 7 и старше [NVIDIA.NTx86.6.2] - дл Не стандарт, мы сами с кварком долго мучались, но в итоге оказалось что не все производители работают как положено. в итоге в DriverX отображаются дрова несовместимые с системой. С этим вопросом лучше обратится к Кварку и Семлабу, они более авторитетны в ЭТОМ СЛОЖНОМ ВОПРОСЕ. Лучше не брать на себя ответственность выявления стандарта , как оказалось очень нестабильная тема. Потом будет тысяча нареканий, как впрочем и на форуме DPS. 3. Спасибо Боа за интересную прогу, если хотите можете взять мои наработки (исходники DRiverX), может быть и помогу , сам пишу на дельфях... на тему подписался.... |
Цитата:
Цитата:
|
Цитата:
Кроме того, есть одно но. Если мы ставим дравера из папки а потом ее удаляем, то имеем проблему с тем, что при втыкании аналогичного устройства система ищет, откуда ей взять дравер. И не находит. DPInst предварительно делает установку пакета в хранилище через DriverPackagePreinstall. Девкон этого не умеет. А я хочу попробовать реализовать это, может опционально, у себя в программе. Цитата:
Попутно, есть небольшая идея - внести в список устанавливаемых вручную все драйвера со стандартными PCI\CC_ ACPI\PNP *PNP ибо такие дравера невозможно установить автоматически. Очень яркий пример из этой серии - дравер pci-e ATI - он садится на любую платформу и приводит к неработоспособности системы. Где бы только взять точный список стандартных HWID? В DDK может быть? Цитата:
Цитата:
Подход с индексами намного интереснее тупой распаковки всего в папку и прогонкой девконом или dpInst - тут на основе своего опыта и знаний можно исключить многие конфликты драверов без правки INF и сопутствующей потери подписей. Я к этой теме шел больше года, была идея но не было времени и желания на реализацию. Цитата:
|
Boa Soft, ошибка в названии файла sources\$OEM$\$$\OEM\Tools думаю должно быть DIT_xx86.exe
|
Цитата:
Кроме того из этой заглавной странички линк http://go.microsoft.com/fwlink/?LinkId=49039 на скачку файла с таблицами типов устройств, а в частности "DEVICE TYPE CODES" для расшифровки только по одному \CC_ предназначения драйвера. Единственное, чего там нет, так это подробного описания третьего опционального байта "Interface Type" для разных типов устройств. Но это уже при большой надобности можно нагуглить в других источниках, поскольку вообще идентификация устройств относится не к микрософтовским выдумкам, а к спецификациям шин (PCI, USB, SCSI, и т.д.....) Короче говоря я думаю, что это все проще разгребать непосредственно при индексировании драйверов и создавать сабжевый список динамически. |
Boa Soft, вообще было замесательно обьеденить всех программеров..
и пилить прогу для установки дров... Цитата:
Мне мс не даст исходники своего ядра.... |
Цитата:
|
Цитата:
если секция мануфактуры не определена то по старому стилю это 2000 винда по новому это виста ! если nt написано в секции то это одно значение если кроме него прописано nt5.1(или любое другое или куча других) то значение параметра резко уменьшается а главное что майкрасофт сама не придерживаться своих стандартов и при всем при этом они же глубоко умалчивают как сама винда при этом бардаке отделяет мух от котлет... |
Цитата:
Цитата:
|
Mr dUSHA, не могу указать точный источник, изучал именно эту проблему несколько лет тому назад
но информация из "сервис мануала" по написанию драверов вот есть некоторая информация общая по этому вопросу: http://translate.googleusercontent.c...dG7Qe54y1w9BFQ |
Цитата:
|
Цитата:
Начиная с Висты в Setupapi изменился принцип ранжирования драйверов при поиске Виндой наиболее подходящего для установки для найденного нового оборудования (именно там как раз учитывается при присвоении ранга наличие/отсутствие расширения .nt в имени секции). Это все подробно расписано там же, в соседнем разделе, посвященном установке драйверов. Но это несколько другая тема. У нас же разговор был именно про синтаксис INF-ов, и их правильный парсинг средствами своей программы с целью определить, для какой Винды предназначен драйвер. З.Ы.: МСДН рекомендую читать в оригинале, на английском, а не машинные переводы, в которых смысл очень часто искажается именно из-за ущербности движка этого самого машинного переводчика. |
Цитата:
Столкнулся с такой же проблемой. Удалось решить? |
Boa Soft,
Как побороть проблему с индексами? finish.ini как заполняется? Автоматически? |
Вложений: 1
|
Цитата:
Осталься вопрос по finish.ini... как заполняется? Автоматически? |
Цитата:
Там надо задать условие или несколько условий, при выполнении которых будут выполнены команды. Пример файла присутствует в комплекте. |
Цитата:
Но примерно 2 года назад я ввел описываемую функциональность в DPS, а затем DIA и DriverX адаптировали этот подход, разве что DIA по прежнему использует DPInst. Теперь наличие этой функциональности является ожидаемым минимумом для подобных программ. С другой стороны, если ты независимо от DPS, DIA, DriverX сразу пришел к правильному решению, то это уже положительно говорит о твоем настрое. У меня есть некоторые вопросы: 1. Зачем при индексации предлагается исключать драйверы определенных разновидностей? На мой взгляд это лишнее. 2. Зачем в индексы заносится столбец DPInst? 3. Можно ли запустить прогу в холостом режиме? Мне бы хотелось посмотреть какие драйверы прога нашла, но при этом не запуская саму установку. |
Цитата:
Потом пришла 7... Потом я адаптировал под свои нужды технологию Stand Alone Driverpack utility for all OS (XP, 2k3, 2k8, Vista, Win7) http://forum.driverpacks.net/viewtopic.php?id=5336. По сравнению с интеграцией через DISM появилась возможность оперативно менять драйвера, уменьшился размер образа, ушли проблемы с предварительной распаковкой всех файлов драйвера итд. Минусы - долгое время работы, отсутствие избирательности, необходим большой объем для временной папки. DPS иногда пользовался, но напрягала проблема с ошибками при малейших проблемах в системе с IE. Далее толчек к развитию дала помошь Mr.dUSHA в разборке inf - файлов средствами setupapi Так же, я изучил ранжирование драверов и сделал нормальный поиск по HardwareID и CompatibleID. Цитата:
Цитата:
DPINST - автоматическая установка средствами PnP api при наличии возможности точного сопоставления с HWID устройства. MDPINST - ручная установка средствами PnP api при отсутствии возможности точного сопоставления с HWID устройства (точпады, тюнера итд). Дравер не выбирается автоматом. В консольной версии заглушка ибо нет взаимодействия с юзером. RUN - - автоматическая установка посредством запуска родного инсталлятора с нужными параметрами при наличии возможности точного сопоставления с HWID устройства. MRUN - - автоматическая установка посредством запуска родного инсталлятора с нужными параметрами при отсутствии возможности точного сопоставления с HWID устройства. Дравер не выбирается автоматом. В консольной версии заглушка ибо нет взаимодействия с юзером. Цитата:
|
Цитата:
|
Новая версия проги завершается после вывода первых трех строк
Вот фрагменты лога. Код:
[2012-10-21,0:46:53] Operating System: Сейчас напишу коротко что я заметил по предыдущей версии с включенным подробным логом. 1. Оформление секции Device Info в логе мне напоминает то как оформлено в DPS, впрочем здесь вряд ли можно было сделать как то по другому. 2. Хотя прога подробно описывает процесс выбора драйвера по степени совместимости, по логу сложно сравнить версии установленного и предлагаемого к установке драйвера. 3. У меня отключен интегрированный сетевой адаптер(я использую PCI карту) в диспетчере устройств и прога ошибочно считает что драйвер не установлен. 4. Я заметил некоторые опечатки в логе "Memoru", "Assept". 5. Прога ищет драйверы для XP в папке только в папке Nt5x86. DPS, а затем и DriverX ушли от необходимости учета названия папки для определения совместимости драйвера. DIT по видимому уже обладает достаточно хорошим алгоритмом подбора драйверов чтобы также отказаться от подобной зависимости. Когда будет время, я собираюсь более тщательно проверить сам процесс подбора драйверов. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Например, в дистрибутиве 7 не нужны дравера от хп. Вообще, любое деление по любым признакам можно признать спорным. |
Цитата:
|
Цитата:
Можно достаточно легко переделать, надо только в FINISH добавть идентификатор системы и сделать его единым для всех систем. |
Finisher был необходим при использовании DPInst. Если в DIT используется тот же метод что и в devcon, то finisher можно полностью удалить.
|
Цитата:
Финишер не башратовский а свой. Ставит панели и помогает с составными устройствами - типа USB 3.0 контроллеров и нетмосовских портовок. |
Я уже не первый год ставлю драйверы через devcon не используя какого-либо finisher'а и не замечал отсутствия панелей. Ты уверен что finisher необходим?
|
Цитата:
Плюс составные устройства. Пока например на хост-контроллер USB 3.0 не поставиш драйвера, не будут видны его "дети" - корневые контроллеры. Можно конечно запустить весь процесс заново, но это тоже определенные расходы времени. Пока решено прописыванием в финиш и обновлением дров для "детей" при наличии родительского контроллера. |
Текущая версия программы 1.0.4.1
Новое в текущей версии. 1. Процедура обработки экстендеров переписана с целью возможно большего соответствия указаниям MDSN. 2. Небольшая чистка кода от мусора. 3. Добавлено дополнительное поле фильтра для дополнительного отбора драйверов в зависимости от версии OS. 4. Использованием фильтра можно управлять через UseOsFilter 4. Новый формат файлов индекса. 5. Каталогизатор переведен на новый формат индекса. 6. В каталогизатор добавлена поддержка автодобавления фильтра. Настраивается через ини-файл. 7. Небольшие доработки вывода в лог. 8. Добавлен ключь -test или -t для симуляции работы без распаковки пакетов и их установки. После прогонки нескольких решений в реальной работе было принято решение отказаться от идеи замены обработки реальных экстендеров, полученных при индексировании из файлов, на искусственные идентификаторы OS. Как в виду потери части информации так и сложности парсинга и создания фалов индекса. Было решено просто добавить в индекс новое поле фильтра. В результате легко отфильтровать несовместимые драйверы. Индексатор заполняет это поле на основе маркерных папок. Соответствие маркерной папки идентификатору задается в файле настроек каталогизатора. Таким образом можно настроить под любой формат пакетов, не привязываясь к эксклюзивному формату одного сборщика. Все, что надо сделать - проанализировать формат пакета и добавить нужные соответствия в файл конфигурации. |
В следующей версии, которою сейчас тестирую, будут такие новшества:
1. Появится папка NTALL для пакетов, общих для всех систем. 2. В finish.ini так же добавлен фильтр по версии OS 3. В индексаторе можно задать версию ос по умолчанию, которая будет записываться в фильтр, если не найдено соответствие по маркерным папкам. 4. При индексации автоматически создается заготовка для finish.ini, куда заносятся имя пакета, inf в качестве маркерного файла и HWID*_XX. Секция создается для каждого inf-файла. Это позволит упростить работу по заполнению finish 5. Автоматичиское создание текстового файла со списком поддерживаемых венднров и устройств попапочно для каждого пакета драйверов. 1-3 пункты уже реализованы, 4 в разработке и отладке (почти готов), 5 - в планах. |
Цитата:
|
Текущая версия программы 1.0.5.2
Код:
Новое в текущей версии. |
Программа успешно протестирована на Win 8 x86
|
Цитата:
отлично ставит драйвера. |
Boa Soft, а что выбрать в пункте "Версия OS по умолчанию" в утилите CatDrv, если у меня Windows 7 SP1 x86, а то там много всего... :o
|
Цитата:
|
Boa Soft, Все равно что то не особо понятно с
Цитата:
|
С большим кол-вом фильтров не понятно. Что в итоге ставить по умолчанию.
Вместе с индексами создаются ****_template.ini они для чего? для создания вручную finish.ini ? |
Цитата:
По поводу фильтров. Программа смотрит наличие маркерной папки в пути к инфу в драверпаке и в соответствии с секцией Filters добавляет фильтры по версии OS. Если маркерная папка не найдена, ставится фильтр по умолчанию. Если обрабатываем пакет для XP то ставим по умолчанию ALLXP Если обрабатываем пакет для x64 Vista\7\8 - то ставим по умолчанию LHX64 (LH - от Longhorn) Если обрабатываем пакет для x86 Vista\7\8 - то ставим по умолчанию LHX86 Если обрабатываем универсальный пакет - то ставим по умолчанию ALL PS SamLab выложил структуру новых пакетов. Я подправил секцию фильтров. Код:
[Filters] |
Перезагрузка после установки в XP не работает.
В DIT.ini очепятка? ; Если для устройства найдено несколько драйверов, то программа будет пытаться устанавливать ; их по очереди. От лучшего к худшему. Если этот ключ установлен, ; то программа прервет попытки дальнейшей установки после успешной установки первого же драйвера InatallOnlyFirstBetterDriver=1 С UNC путями умеет работать? Пока диск не подмаплю индексов не видит. Есть ключи тихой установки? |
Boa Soft, а если я собираю драйвера для Windows7 x86/x64 использую пакеты от SamLab то какой фильтр лучше выставить.
заранее спасибо! |
Не ставятся драйвера на некоторые мониторы и видеодаптеры.
Видеокарта Монитор Параметры подписывания драйвера установлено в пропускать. |
Виде
Цитата:
Код:
BlockDSPolicy=1 По монитору - уже установленный драйвер лучше предложенного. Можно попробовать ForceInstallDriver=1, но тогда совместимость драйверов проверяется только программой (и сборщиком пакетов), при ForceInstallDriver=0 последняя инстанции в принятии решения остается за системой. Вообще, сейчас SamLab выложил пакеты нового формата, где один пакет содержит все драйвера определенного типа под все системы (например - DP_USB3_1211) или все драйвера одного вендера под все системы (например - DP_Video_nVIDIA_Notebook_1211). Текущая версия уже готова к этому формату - эти пакеты помещаем в папку NTALL. Но, в недалеком будущем будет проведена оптимизация - индексы будут фильтроваться с разу при загрузке, отбрасывая все несовместимые с данной системой драйвера, что значительно снизит круг поиска. Так же немного поменяется алгоритм подбора. Длительное тестирование показало, что нет необходимости распаковывать все найденные драйвера - алгоритм подбора достаточно совершенен и всегда ставится первый выбранный драйвер. |
Цитата:
Цитата:
Action: DpInst Update error: 0x00000103 The function found a match for the HardwareId value, but the specified driver was not a better match than the current driver. Ключи тихой установки есть? Что бы скрыть окно от посторонних глаз? С UNC путями не работает? Автоматическая перезагрузка после установки драйверов работать будет? После установки драйверов затирается HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath на дефолтовый, что не есть гуд. Это можно как нибудь поправить? У меня там прописан путь к драйверам сетевых карт. |
Boa Soft,
1.А на чем написана прога ?? 2.Планируется ли выложить Исходники ?? 3. Планируется ли делать ГУИ ?? |
Цитата:
2. Пока не уверен. 3. Планируется. После окончательной отработки алгоритмов на консольной версии. |
Boa Soft, При каждом запуске DIT_x64 начинается Delete phantom devices before hardware scan и на этом этапе всегда BSOD (VIDEO_DXGKRNL_FATAL_ERROR) - лог http://rghost.ru/41884025
![]() |
Цитата:
Отключается в настройках DeletePhantomDevices=0 Код удаления фантомов - взят из примера MS. Видимо, не совсем совместим с 8. В следующей версии сделаю отключенным по умолчанию. Эта функция полезна в случаи переезда на другую платформу или смене компонентов оборудования. |
Попробовал на 8 х64. Отработало все четко. Ноут Lenovo x220.
|
Поставил DeletePhantomDevices=0 - теперь такой же БСОД на стадии Renumerate devices before hardware scan
|
Цитата:
Эти две подпрограммы в принципе не нужны на новой системе, но могут помочь после замены оборудования или удаления драйверов. Сбоя ни разу не наблюдал. |
обновление планируется?
|
Уважаемый Юрий Николаевич. При использование установки Difxapi DriverPackageInstall вызывает ли бсод при левом драйвере ??
Я сам не помню бывал ли бсод. теперь с переходом на Xe2 смотрю в сторону difxapi, если он не вызывает БСОДЫ если драйвер левый то можно спокойно его заюзать !!! |
Boa Soft, обновление будет?
|
Извините за глупый вопрос, но не понял, что прописать в DIT.ini что бы из SetupComplete.cmd запускать DIT_x64.exe и он искал драйвера на ,буква диска\drivers\
|
Boa Soft, давно использую DP_Install_Tool в своих сборках, за что Вам огромное спасибо
Сейчас хочу перевести на DIT. Столкнулся с неясной проблемой - запускаю программу через SetupComplete.cmd (пробовал уже в автозагрузку пихать, результат тот же). Программа запускается, определяет оборудование и завершает работу. Если запускаю на рабочей системе (в DIT.ini ничего не меняю) драйвера устанавливаются без проблем. Где искать грабли? ЗЫ: С проблемой разобрался. Слегка накосячил с путем к драйверам. |
объясните как настроить чтоб на 7 этапе когда ставится софт из install.cmd запускался DIT_x64.exe и ставил дрова которые я закинул в 7z архивах в папку Drivers\NtAll
програмы в install.cmd ставятся например так start /wait %DiskRoot%\Install\doPDF_7.3.393.exe UPD: оказалось проблема была в том что в NtAll я закинул индексы сделаные только для 61x64 а нужно было выбрать all. Теперь возник другой вопрос: как сделать так чтоб не создавались логи и сама папку preload? а так же непонятно что такое: ; Устанавливать дополнения (панели управления) драйверов InstallPanels=1 если эта опция включена процесс установки дров занимает более 2 часов.. немогу понять зачем это и что оно дает... |
Цитата:
Эта? ; Папка, в которую будут распаковываться архивы. ; Можно использовать системные переменные окружения UnpackedDriverFolder=c:\TEMP\Drivers\Unpack Если да, то ; Сохранять ли папку с распакованными драйверами для дальнейшего использования ; При включенном ключе папка будет удалена автоматически CleanupTmpDirAfterInstall=0 Цитата:
|
Еще проблема: инвидивские дрова ставятся но панель управления nvidia на англиском... че делать?
еще заметил баг: на ноутбуках Dell при попытке установить драйвер на вайфай атерос намертво зависает ноут. помогает только ребут. |
проект заброшен? стоит ли его использовать? подскажите пожалуйста :)
|
Время: 01:42. |
Время: 01:42.
© OSzone.net 2001-