Иногда попытки повторно (де)инсталлировать драйвера к различным устройствам (в частности драйвер SetPoint) в x86/x64-версиях Vista с языковым пакетом, отличным от английского, могут привести к повреждению WMI/OEM-базы драйверов. Мы расскажем, как справиться с этой проблемой.
Результатом такого повреждения могут стать серьезные проблемы при установке новых устройств таких, как обычная USB-мышка, DVD-ROM, PS/2-клавиатура - в общем всего того, с чем, как правило, проблем не бывает, поскольку к этим устройствам подходят стандартные Windows-драйвера.
Проблема подробно описана Microsoft в статье из базы знаний под номером KB934637. Кроме того, есть хотфиксы и для x86 и для x64-редакций ОС, но на текущий момент они недоступны через Windows Update и будут включены в состав первого пакета сервисных обновлений к Vista. Если вы остро нуждаетесь в данных хотфиксах, то вы можете обратиться в службу технической помощи Microsoft (при условии, что вы являетесь обладателем коробочной версии Vista) или службу поддержки изготовителя компьютера (если вы приобрели предустановленную OEM-версию Vista).
Но есть один вариант, который позволит избежать обращения в службу технической поддержки. Он, как и все гениальное, прост: необходимо заставить Windows Vista воссоздать базу данных драйверов, поскольку это, скорее, не заранее скомпилированный файл, а генерируемый в ходе установки Windows Vista путем чтения всех INF- и PNF-файлов из папки \Windows\INF, расположенной на системном разделе жесткого диска. В конце установки база данных с драйверами блокируется для предотвращения несанкционированного доступа и после этого пользователь не может ни удалить, ни переименовать, ни переместить ее, но каждый раз при добавлении/удалении новых устройств и драйверов Vista разрешает доступ к базе, позволяя добавлять/удалять некоторые записи и поля.
Можно предположить, что раз файл "динамический", то его можно удалить, воссоздав с нуля? Верно! И вот, что нужно для этого сделать:
• Выбирайте язык, соответствующий используемой вами раскладке, и щелкайте "Next";
• Windows готова к установке, но вам следут выбрать вариант "REPAIR YOUR COMPUTER", расположенные в нижнем левом углу диалога;
• Функция System Recovery произведет поиск установленных ОС: как только увидите вашу версию Vista, щелкайте "Next";
• Начнется быстрое сканирование на наиболее распространенные проблемы: если в вашей системе что-то не так, ОС предложит вам автоматически восстановить предыдущее состояние, которое следует отменить, щелкнув по кнопке "Cancel".
• Далее должно появится окно "System Recovery Options": выбирайте "Command Prompt" и готовьтесь к работе в DOS...
• В консоли переходим на диск C: (то есть к системному диску);
• Далее переходим в системную INF-папку, вводя команду CD \Windows\INF
• Устанавливаем системную переменную для возможности сортировки отображаемых файлов по расширению (типу файла) и затем по имени. Папки будут расположены вверху листинга. Для этого введем команду SET DIRCMD=/p /a /ogen
• Посмотрим список файлов, для чего вводим команду DIR. Вы увидите огромное число INF и PNF-файлов, кучу вложенных папок и несколько файлов с другими расширениями и недавней датой создания: да, вы нашли их!
• Теперь самое нудное: каждый раз вводя команду, проверяйте правильность имени файла и еще раз удостоверьтесь, что находитесь в папке \Windows\INF:
DEL DRVINDEX.DAT DEL INFPUB.DAT DEL INFSTOR.DAT DEL INFSTRNG.DAT DEL INFCACHE.* DEL SETUPAPI.*
Ни один из вышеперечисленных файлов не должен быть ни защищенным, ни скрытым, поэтому при их удалении никаких ошибок возникать не должно. По завершении введите команду EXIT .
• Щелкните кнопку "RESTART" и извлеките установочный DVD-диск с Vista из оптического привода.
• Теперь, когда мы полностью удалили встроенную базу данных, Windows воссоздаст ее при первом же подключении Plug'n'Play-устройства или после запуска апплета "Add new hardware" из Control Panel.