Boa Soft
18-08-2012, 15:46
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.
Жду отзывов. Они очень помогут дальнейшему развитию.
Причина разработки данной программы - острая необходимость в автоматизации установки драйверов для 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.
Жду отзывов. Они очень помогут дальнейшему развитию.