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

Компьютерный форум 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

 

Аватара для quarq

Ветеран


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

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


Mr dUSHA, не могу указать точный источник, изучал именно эту проблему несколько лет тому назад
но информация из "сервис мануала" по написанию драверов
вот есть некоторая информация общая по этому вопросу:
http://translate.googleusercontent.c...dG7Qe54y1w9BFQ

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


Отправлено: 13:47, 18-09-2012 | #41



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

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


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


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

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


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

Отправлено: 15:24, 18-09-2012 | #42


Extractor


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

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


Цитата quarq:
вот есть некоторая информация общая по этому вопросу »
Так вот MSDN то как раз и есть тот самый "сервис мануал", и он для меня - основной источник информации. Только никакого деления на "до висты" и "после висты" там нет.
Начиная с Висты в Setupapi изменился принцип ранжирования драйверов при поиске Виндой наиболее подходящего для установки для найденного нового оборудования (именно там как раз учитывается при присвоении ранга наличие/отсутствие расширения .nt в имени секции). Это все подробно расписано там же, в соседнем разделе, посвященном установке драйверов. Но это несколько другая тема.
У нас же разговор был именно про синтаксис INF-ов, и их правильный парсинг средствами своей программы с целью определить, для какой Винды предназначен драйвер.

З.Ы.: МСДН рекомендую читать в оригинале, на английском, а не машинные переводы, в которых смысл очень часто искажается именно из-за ущербности движка этого самого машинного переводчика.

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


Отправлено: 02:28, 19-09-2012 | #43


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


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

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


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

Столкнулся с такой же проблемой. Удалось решить?

Отправлено: 00:24, 07-10-2012 | #44


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


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

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


Boa Soft,

Как побороть проблему с индексами?

читать дальше »

Код: Выделить весь код
Load DriverPaks index files
   Loading index from: DP_AMDfilter_wnt6-x64_1110.csv
     Error loading index
   Loading index from: DP_Audio_wnt6-x64_1111.csv
     Error loading index
   Loading index from: DP_CardReaders_wnt6-x64_11041.csv
     Error loading index
   Loading index from: DP_Chipset_wnt6-x64_1206.csv
     Error loading index
   Loading index from: DP_Gaming_wnt6-x64_812.csv
     Error loading index
   Loading index from: DP_Graphics_A_wnt6-x64_1203.csv
     Error loading index
   Loading index from: DP_Graphics_B_wnt6-x64_1203.csv
     Error loading index
   Loading index from: DP_Graphics_Mobile_wnt6-x64_1203.csv
     Error loading index
   Loading index from: DP_LAN_wnt6-x64_1208.csv
     Error loading index
   Loading index from: DP_MassStorage_wnt6-x64_1208.csv
     Error loading index
   Loading index from: DP_Misc_wnt6-x64_1202.csv
     Error loading index
   Loading index from: DP_Monitors_wnt6-x64_911.csv
     Error loading index
   Loading index from: DP_Touchpad_Mouse_wnt6-x64_1203.csv
     Error loading index
   Loading index from: DP_Webcam_wnt6-x64_1103.csv
     Error loading index
   Loading index from: DP_WLAN_wnt6-x64_1203.csv
     Error loading index
Load index files complete. Total index records: 0


finish.ini как заполняется? Автоматически?

Отправлено: 02:33, 07-10-2012 | #45


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

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


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

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


Вложения
Тип файла: 7z CatDrv.7z
(438.1 Kb, 28 просмотров)

Цитата DR_WELL:
Как побороть проблему с индексами? »
Цитата DR_WELL:
Столкнулся с такой же проблемой. Удалось решить? »
По ошибке попала старая версия.
Правильная версия во вложении.

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

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

Отправлено: 15:14, 08-10-2012 | #46


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


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

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


Цитата Boa Soft:
По ошибке попала старая версия. »
Спасибо. Все отработало.

Осталься вопрос по finish.ini... как заполняется? Автоматически?

Отправлено: 15:36, 08-10-2012 | #47


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

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


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

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


Цитата DR_WELL:
Осталься вопрос по finish.ini... как заполняется? Автоматически? »
К сожалению, нет. Только руками.
Там надо задать условие или несколько условий, при выполнении которых будут выполнены команды.
Пример файла присутствует в комплекте.

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


Отправлено: 23:34, 11-10-2012 | #48


Ветеран


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

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


Цитата Boa Soft:
В отличии от "конкурентов" уже реализовано следующее:
1. Программа по содержимому секции Manufacturer отсеивает несоответствующие версии системы и битности драйвера.
2.Программа сортирует драйвера по рангу, подобно установщику windows.
По HWID (наилучшее совпадение)
По CompatibleId (похуже совпадение)
По содержимому секции Manufacturer - драйвер NTamd64.6.1 подходит для 7 лучше чем NTamd64.6.0 или NTamd64.6
И, наконец, по дате выпуска.
3. Распаковываются только необходимые драйвера, а не пакет целиком.
4. В отличии от моего старого метода с DPInst установка идет значительно быстрее.
Не знаю точно с чем ты сравниваешь. Раньше DPS и DIA действительно записывали только один HWID, причем самый короткий и затем еще его обрезали чтобы найти фрагмент HWID'а совпадающий с тем что выдает устройство, совместимость драйверов определялась исключительно по тому в какой папке находился драйверпак.

Но примерно 2 года назад я ввел описываемую функциональность в DPS, а затем DIA и DriverX адаптировали этот подход, разве что DIA по прежнему использует DPInst. Теперь наличие этой функциональности является ожидаемым минимумом для подобных программ.

С другой стороны, если ты независимо от DPS, DIA, DriverX сразу пришел к правильному решению, то это уже положительно говорит о твоем настрое.

У меня есть некоторые вопросы:
1. Зачем при индексации предлагается исключать драйверы определенных разновидностей? На мой взгляд это лишнее.
2. Зачем в индексы заносится столбец DPInst?
3. Можно ли запустить прогу в холостом режиме? Мне бы хотелось посмотреть какие драйверы прога нашла, но при этом не запуская саму установку.

Отправлено: 19:36, 20-10-2012 | #49


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

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


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

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


Цитата BadPointer:
С другой стороны, если ты независимо от DPS, DIA, DriverX сразу пришел к правильному решению, то это уже положительно говорит о твоем настрое. »
Началось еще с моих утилит для установки драверов для хп. Там отбор и анализ для сохранения дров (KTD по банратовской технологии) был сделан достаточно тупо - брался полный HWID, сравнивался, потом обрезался, потом сравнивался. В сохранение попадало много мусора. Дальнейшее развитие не получило.

Потом пришла 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.

Цитата BadPointer:
1. Зачем при индексации предлагается исключать драйверы определенных разновидностей? На мой взгляд это лишнее. »
Ориентация шла на башратовские пакеты, где драйвера раздельно для каждой разрядности. Чтобы не попадались 64 бит для 32 и наоборот.

Цитата BadPointer:
2. Зачем в индексы заносится столбец DPInst? »
Там может быть 4 значения.
DPINST - автоматическая установка средствами PnP api при наличии возможности точного сопоставления с HWID устройства.

MDPINST - ручная установка средствами PnP api при отсутствии возможности точного сопоставления с HWID устройства (точпады, тюнера итд). Дравер не выбирается автоматом. В консольной версии заглушка ибо нет взаимодействия с юзером.

RUN - - автоматическая установка посредством запуска родного инсталлятора с нужными параметрами при наличии возможности точного сопоставления с HWID устройства.

MRUN - - автоматическая установка посредством запуска родного инсталлятора с нужными параметрами при отсутствии возможности точного сопоставления с HWID устройства. Дравер не выбирается автоматом. В консольной версии заглушка ибо нет взаимодействия с юзером.

Цитата BadPointer:
3. Можно ли запустить прогу в холостом режиме? Мне бы хотелось посмотреть какие драйверы прога нашла, но при этом не запуская саму установку.
Честно говоря, не предусматривал такую возможность. Но, можно просто удалить пакеты, оставив только индексы. »

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

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

Отправлено: 23:12, 20-10-2012 | #50



Компьютерный форум 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




 
Переход