Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista » Общее - DIT - Driver Install Tools

Ответить
Настройки темы
Общее - DIT - Driver Install Tools

Аватара для Boa Soft

Компьютерный шаман


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


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

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


Изменения
Автор: Boa Soft
Дата: 02-11-2012
Описание: Обновил программу
Вложения
Тип файла: 7z OUT.7z
(1.78 Mb, 556 просмотров)
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.

Работа с программой
читать дальше »

Для начала создаем папку, в нее помещаем 32 и 64 версии программы, файл настроек и 7zip библиотеки из комплекта.
Далее, решаем, где будут находится драйвера
Если драйверы будут находится на жестком диске, то просто создаем папку и в ней папки платформ:
Nt5x86 и Nt5x64 - для XP и Server 2003
Nt6x86 и Nt6x64 - для Vista и старше.
NtALL - для универсальных пакетов, без различия по битности и версии os.
В них помещаем драйвер паки, соответственно битности.
В настройках программы указываем путь к этой папке.
Если драйвера у нас находятся на съемном носителе - то есть два варианта.
Первый - если программу будем запускать так же с этого носителя, то помещаем папку драйверов в папку программы
а в настройках используем переменную %SELF%, раскрывающуюся в путь к папке программы.
Второй посложнее, но более удобный. Если мы запускаем программу из другого места, то она может найти сама расположение
папки с драйверами. Для этого надо указать (и положить в корень нашего носителя) тэг-файл и указать в настройках
путь к папке с драйверами используя переменную %SOURCE% или %CDROM%.
Остальные настройки программы можно не изменять. Или изменить при понимании их назначения.

Далее самое важное - при помощи прилагаемой программы CatDrv необходимо проиндексировать все драйвер паки.
Запускаем программу, жмем на единственную кнопку и выбираем все пакеты из нашей созданной папки - сначала в подпапке x86 и
дожидаемся завершения работы. Потом тоже повторяем с x64.
Если вы думаете (а оно так и есть), что пакеты собраны не совсем корректно, то отметьте перед сканированием
'Исключая 64 бит драйвера' при сканировании папок с 32 бит драйверами или
'Исключая 32 бит драйвера' при сканировании папок с 64 бит драйверами соответственно.
Для настоящей версии при использовании пакетов с правильными маркерными папками в этом нет необходимости.
Для универсальных пакетов используйте только 'Включая все драйверы'

Замечены некоторые нюансы при индексации драйверов. Это относится к драйверам, имеющим в своем составе
несколько папок. Например, Nvidea. В частности, это касается на данный момент паков
DP_Graphics_A_wnt6-x86_1106M.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-файлу не трогаем.
В последней версии индексатора это уже учтено.

Так же, есть нюанс с точпадами, более нигде не реализованный.
У точпадов обычно несколько HWID, соответствующих одному устройству.
Из них обычно пара соответствует Hwid и Compatible Id стандартной мыши. Так вот, в результате точпадовский драйвер всегда будет устанавливаться
и без наличия точпада. Поэтому после сканирования надо удалить строки, содержащие HWID стандартной мыши.
В последней версии индексатора это уже учтено.


Все. Программа подготовлена к использованию.

Далее можно запустить программу вручную или прописать ее в SetupCompleteCmd.


Во вложении - DIT.7z - сама программа и пример готовых индексов для тестов.


Программа еще на стадии разработки и будет совершенствоваться.

Развитию проекта требуется ваша помощь!!!
Помощь нужна не в виде пожертвований, а в активном тестировании. Установка драйверов - достаточно сложный процесс, требующий тестирование на достаточно широком наборе конфигураций. Поэтому мне нужна обратная связь.

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

Жду отзывов. Они очень помогут дальнейшему развитию.

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 15:46, 18-08-2012

 

Extractor


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

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


Цитата Boa Soft:
Вот и не особо хочется делать фильтр по именам папок. »
Поддерживаю.
ИМХО привязка к именам папок и файлов - это и есть порочная идея. Программа должна быть максимально универсальна и независима от "псевдостандартов" придуманных драйверособирателями и активно используемых "сборщиками сборок". И лучше пусть "сборщики сборок" повышают свой уровень интеллектуального развития в процессе сортировки драйверов, чем программа скатывается до того, что будет пытаться автоматически разбирать кучу накиданного ей мусора, применяя логику этих самых псевдостандартов.

-------
Мои проекты:
Системные: Fake-Setup Advanced | MSSTMake | UserMake
Оформление: WinstyleMonitor | Winstyle - Установка на "живую" систему | Windows 7 Universal Patcher | Панель персонализации для Windows 7 Starter & Home Basic
Уголок юного археолога: Внутренности Установщика WinXP

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:06, 11-09-2012 | #31



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

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


Аватара для SOLON7

Ветеран


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


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

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


ВСЕМ

Идея конечно хорошая.
НО
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), может быть и помогу , сам пишу на дельфях...

на тему подписался....

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


Отправлено: 09:03, 11-09-2012 | #32


Extractor


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

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


Цитата SOLON7:
так как для установки 64 битной винде сам скомпиленная прога должна быть 64 битной. »
Так а что Вам то мешает скомпилировать два варианта проги для двух платформ?

Цитата SOLON7:
Не стандарт, мы сами с кварком долго мучались, но в итоге оказалось что не все производители работают как положено. »
Так ведь то, что драйверописатели не соблюдают Микрософт-овых стандартов в ИНФах, совсем не означает, что прога не должна придерживаться этих самых стандартов в поиске драйвера, согласно которых сама Windows и работает.

-------
Мои проекты:
Системные: Fake-Setup Advanced | MSSTMake | UserMake
Оформление: WinstyleMonitor | Winstyle - Установка на "живую" систему | Windows 7 Universal Patcher | Панель персонализации для Windows 7 Starter & Home Basic
Уголок юного археолога: Внутренности Установщика WinXP


Отправлено: 10:01, 11-09-2012 | #33


Аватара для Boa Soft

Компьютерный шаман


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

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


Цитата SOLON7:
1.Идея использовать Апи аля DifxApi и UpdateDriverForPlugAndPlayDevices не очень хорошая, так как для установки 64 битной винде сам скомпиленная прога должна быть 64 битной.
Поэтому я пришел к выводу что лучше использовать devcon »
Подход оправдан только при отсутствии компилятора на 64 бит. При правильном написании две версии делаются только переключение платформы в среде разработки При небольшом размере программы мне проще сделать две версии для разной битности, чем мучатся с парсингом вывода devcon и обработкой ошибок. И, девкона или в дпинст тоже надо два. В гуи версии, возможно, будет та же технология. что и в BS-post - 32 бит прога и переходник 64 бита.

Кроме того, есть одно но. Если мы ставим дравера из папки а потом ее удаляем, то имеем проблему с тем, что при втыкании аналогичного устройства система ищет, откуда ей взять дравер. И не находит.
DPInst предварительно делает установку пакета в хранилище через DriverPackagePreinstall. Девкон этого не умеет. А я хочу попробовать реализовать это, может опционально, у себя в программе.

Цитата Mr dUSHA:
Поддерживаю.
ИМХО привязка к именам папок и файлов - это и есть порочная идея. Программа должна быть максимально универсальна и независима от "псевдостандартов" придуманных драйверособирателями и активно используемых "сборщиками сборок". И лучше пусть "сборщики сборок" повышают свой уровень интеллектуального развития в процессе сортировки драйверов, чем программа скатывается до того, что будет пытаться автоматически разбирать кучу накиданного ей мусора, применяя логику этих самых псевдостандартов. »
В каталогизаторе можно задать исключаемые папки. Таким образом исключить обход папок с несовместимыми дровами. Но, вся ответственность на сборщике пакета и на том, кто запускает программу.
Попутно, есть небольшая идея - внести в список устанавливаемых вручную все драйвера со стандартными PCI\CC_ ACPI\PNP *PNP ибо такие дравера невозможно установить автоматически.
Очень яркий пример из этой серии - дравер pci-e ATI - он садится на любую платформу и приводит к неработоспособности системы.
Где бы только взять точный список стандартных HWID? В DDK может быть?

Цитата SOLON7:
Не стандарт, мы сами с кварком долго мучались, но в итоге оказалось что не все производители работают как положено. в итоге в DriverX отображаются дрова несовместимые с системой.
С этим вопросом лучше обратится к Кварку и Семлабу, они более авторитетны в ЭТОМ СЛОЖНОМ ВОПРОСЕ.
Лучше не брать на себя ответственность выявления стандарта , как оказалось очень нестабильная тема. Потом будет тысяча нареканий, как впрочем и на форуме D »
Цитата Mr dUSHA:
Так ведь то, что драйверописатели не соблюдают Микрософт-овых стандартов в ИНФах, совсем не означает, что прога не должна придерживаться этих самых стандартов в поиске драйвера, согласно которых сама Windows и работает. »
Вот и стараюсь отобрать хотя бы примерно совместимые драйвера. Все равно - последний вердикт за системой. Если не использовать ForceInstallDriver, то система не установит явно несовместимый дравер.


Подход с индексами намного интереснее тупой распаковки всего в папку и прогонкой девконом или dpInst - тут на основе своего опыта и знаний можно исключить многие конфликты драверов без правки INF и сопутствующей потери подписей. Я к этой теме шел больше года, была идея но не было времени и желания на реализацию.


Цитата SOLON7:
3. Спасибо Боа за интересную прогу, если хотите можете взять мои наработки (исходники DRiverX), может быть и помогу , сам пишу на дельфях... »
Интересно бы было посмотреть.

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 17:35, 11-09-2012 | #34


Новый участник


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

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


Boa Soft, ошибка в названии файла sources\$OEM$\$$\OEM\Tools думаю должно быть DIT_xx86.exe

-------
Спасибо тем, кто меня ненавидит - Вы делаете меня сильнее! Спасибо тем, кто меня уважает - Вы делаете меня лучше. Спасибо тем, кому вообще все равно - Вы нужны для массовки.


Отправлено: 21:52, 11-09-2012 | #35


Extractor


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

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


Цитата Boa Soft:
Попутно, есть небольшая идея - внести в список устанавливаемых вручную все драйвера со стандартными PCI\CC_ ACPI\PNP *PNP ибо такие дравера невозможно установить автоматически. »
Вот здесь http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx и дальше по подкатегориям по типам шин смотри описалово по идентификации устройств на них.

Кроме того из этой заглавной странички линк http://go.microsoft.com/fwlink/?LinkId=49039 на скачку файла с таблицами типов устройств, а в частности "DEVICE TYPE CODES" для расшифровки только по одному \CC_ предназначения драйвера.
Единственное, чего там нет, так это подробного описания третьего опционального байта "Interface Type" для разных типов устройств. Но это уже при большой надобности можно нагуглить в других источниках, поскольку вообще идентификация устройств относится не к микрософтовским выдумкам, а к спецификациям шин (PCI, USB, SCSI, и т.д.....)

Короче говоря я думаю, что это все проще разгребать непосредственно при индексировании драйверов и создавать сабжевый список динамически.

-------
Мои проекты:
Системные: Fake-Setup Advanced | MSSTMake | UserMake
Оформление: WinstyleMonitor | Winstyle - Установка на "живую" систему | Windows 7 Universal Patcher | Панель персонализации для Windows 7 Starter & Home Basic
Уголок юного археолога: Внутренности Установщика WinXP


Последний раз редактировалось Mr dUSHA, 12-09-2012 в 02:27.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:16, 12-09-2012 | #36


Аватара для SOLON7

Ветеран


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


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

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


Boa Soft, вообще было замесательно обьеденить всех программеров..
и пилить прогу для установки дров...

Цитата Mr dUSHA:
Так ведь то, что драйверописатели не соблюдают Микрософт-овых стандартов в ИНФах, совсем не означает, что прога не должна придерживаться этих самых стандартов в поиске драйвера, согласно которых сама Windows и работает. »
Лучше не стоит дальше тему поднимать. это Риторический вопрос а не технический..
Мне мс не даст исходники своего ядра....

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


Отправлено: 21:49, 12-09-2012 | #37


Extractor


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

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


Цитата SOLON7:
Мне мс не даст исходники своего ядра.... »
Дык зачем исходники, если все стандарты расписаны вдоль и поперек в документации?

-------
Мои проекты:
Системные: Fake-Setup Advanced | MSSTMake | UserMake
Оформление: WinstyleMonitor | Winstyle - Установка на "живую" систему | Windows 7 Universal Patcher | Панель персонализации для Windows 7 Starter & Home Basic
Уголок юного археолога: Внутренности Установщика WinXP


Отправлено: 22:10, 12-09-2012 | #38


Аватара для quarq

Ветеран


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

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


Цитата Mr dUSHA:
Дык зачем исходники, если все стандарты расписаны вдоль и поперек в документации? »
чушь там написана... причем два стандарта до висты и после, а также куча дополнительных поправок к примеру
если секция мануфактуры не определена то по старому стилю это 2000 винда по новому это виста !
если nt написано в секции то это одно значение если кроме него прописано nt5.1(или любое другое или куча других) то значение параметра резко уменьшается
а главное что майкрасофт сама не придерживаться своих стандартов
и при всем при этом они же глубоко умалчивают как сама винда при этом бардаке отделяет мух от котлет...

-------
я нерусский потому пишу с ошибками!


Отправлено: 01:19, 16-09-2012 | #39


Extractor


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

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


Цитата quarq:
если секция мануфактуры не определена то по старому стилю это 2000 винда по новому это виста ! »
А можно в студию ссылку на МСДН, где видно это самое деление на два стандарта (до Висты и после)?

Цитата quarq:
и при всем при этом они же глубоко умалчивают как сама винда при этом бардаке отделяет мух от котлет... »
Если есть сомнения в точности документации, то как раз для этого случая есть IDAPro.

-------
Мои проекты:
Системные: Fake-Setup Advanced | MSSTMake | UserMake
Оформление: WinstyleMonitor | Winstyle - Установка на "живую" систему | Windows 7 Universal Patcher | Панель персонализации для Windows 7 Starter & Home Basic
Уголок юного археолога: Внутренности Установщика WinXP


Отправлено: 00:39, 17-09-2012 | #40



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista » Общее - DIT - Driver Install Tools

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Архиваторы - [addon] 7z SFX tools stable/7z SFX tools beta greg_b Наборы обновлений для Windows XP/2003/Windows 7 173 14-09-2012 19:30
Интеграция Driver Pack в driver.cab mty Автоматическая установка Windows 2000/XP/2003 9 21-04-2009 01:26
Разное - Windows Driver Foundation - User-mode Driver Framework electroluka Microsoft Windows 2000/XP 2 11-03-2009 14:45
[решено] обьединения driver.cab и sp*.cab в один driver.cab Napster-X Автоматическая установка Windows 2000/XP/2003 15 23-08-2008 22:37
Install Debugging Tools for Windows 32-bit Version UTU Microsoft Windows 2000/XP 1 03-06-2007 02:09




 
Переход