Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


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

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


DIA до сих пор полагается на DPInst для установки драйверов в то время как другие программы этого класса давно перешли на установку через devcon или функции Win32API, которые идентичны установке через диспетчер устройств Windows и обеспечеивают более полный контроль при выборе драйвера, а также установка происходит с более высокой успешностью.

Принцип работы DPInst.
DIA распаковывает папки с нужными драйверами во временную папку и передает эту папку DPInst, который самостоятельно выбирает какие драйверы следует устанавливать и производит установку драйверов самостоятельно копируя файлы не используя стандартные Windows интерфейсы для установки драйверов.

Проблемы с DPInst.
  • DPInst может отказаться обновлять драйвер по непонятным причинам, даже если драйвер новее и более подходящий и был выбран к установке в DIA.
  • Даже при правильном выборе драйвера установка может завершиться неудачно или быть выполнена не полностью из-за того что DPInst не всегда правильно выполняет копирование файлов и настройку драйвера. При этом установка такого драйвера через диспетчер устройств завершается успешно.
  • Если в папке есть несколько драйверов, DIA не может заставить DPInst выполнить установку только одного из этих драйверов.
  • DPInst - сторонняя программа(хоть и от Microsoft) не обновлявшаяся с 2010 года, что означает что рассчитывать на исправление ее проблем не приходится, а отсутствие открытых исходных кодов делает невозможным самостоятельное исправление проблем в этой программе.

Решение проблем DPInst.
В идеале DIA должен перейти на установку драйверов через Win32API, но это может потребовать значительной переделки кода. DIA должен будет взять на себя большую ответственность за подбор оптимального драйвера, так как после отказа от DPInst, не будет подстраховки от неправильного выбора, которую сейчас осуществляет DPInst.

Так как DIA в ближайшее время будет использовать DPInst при подборе и установке драйверов, я советую заменить DPInst на Snappy Driver Installer, который умеет работать в роли DPInst. Для этого достаточно скопировать файл SDI_R72.EXE в папку Tools\DPInst под именами DPInst.exe и DPInst64.exe(с перезаписью существующих файлов).
Таким образом, DIA будет запускать установку распакованных драйверов из временной папки посредством SDI, а не DPInst, что обеспечит более оптимальный подбор драйверов, а также повысит успешность установки драйверов.

-------
Автор программы Snappy Driver Installer

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

Отправлено: 16:27, 05-05-2014 | #1480