vek
Цитата:
Есть идея: Создать универсальный диск автоматической установки драйверов,
|
Колись, ты будешь программу писать или только спрашиваешь про готовые?
Бо уменя эта идея уже год болтается в мозгу
)
Debby
Цитата:
Имхо, слишком жирно сразу взять и написать прогу, которая возьмет и просканирует все дрова на диске и поставит нужные
|
Собственно ничего сложного нет.
команда "сделать список драйверов для этой машины"
1. Сканируем машину на предмет установленного оборудования.
2. Определеяем есть ли драйвера на них (если винда помечает их вопросами и восклицаниями, либо в специальный ключик заносит, значит это можно сделать и в своей проге).
3. Сканируем диск на наличие inf (как в распакованном, так и в архивном виде с определенными типами архиваторов) и вытягиваем из них PnP ID, проверяем есть ли в нашем списке по п.1.
3.1 нет, ищем следующий
3.2 да, сразу вытягиваем версию драйвера, добавляем в список.
4. Формируем список драйверов, выбираем из них самые последние.
5. Записываем драйвера в файл для последующей установки.
Команда "установить драйвера"
1. Считываем из файла информацию о нужном драйвере/драйверах (не факт что это будет то-же файл что п 5 в предыдущем, его могут отредакировать)
2. Устанавливаем драйвер.
Команда "список всех драйверов начиная с этой папки"
1. сканируем диск начиная с этой папки
2. строим список упорядоченный по виду оборудования
3. записываем в файл.
Это для консольной версии, в первом приближении и версии.
Для GUI будет тоже самое, только интерактив, можно даже сделать обертку над консолью.
После того как будут собраны помидоры, и отмыты следы яиц от "добрых" пользователей, можно уже думать о всяких наворотах, типа InstallShield CAB и прочих. Там уже подключится "тяжолая артилерия" в виде подсказок и советов. Тогда народ будет копать, и будут решения, может даже очень и очень доступные. Но это в следующей версии. Потом можно будет добавлять функцию обновления уже установленных драйверов и т.п.
Самое сложное на мой взгляд это отсканировать машину на предмет установленного оборудования и определения не установленности драйвера.