Цитата Makaan:
вот просьба к вам как знатоку внутренностей виндовс, как можно заставить его это сделать? Сделать так чтоб не создавалась папка SYSTEM32\DRVSTORE, ну или может есть какой то другой способ установки драйверов, возможно какая-то системная процедура или т.п. »
|
DPInst.exe выполняет действия по предварительной установке драйвера, описанные в WDK:
Цитата:
Preinstalling Driver Packages
To preinstall driver files, your device installation application should follow these steps:
1). On the target system, create a directory for the driver files. If your device installation application installs an application, the driver files should be stored in a subdirectory of the application directory.
2). Copy all files in the driver package from the distribution media to the directory created in step (1). The driver package includes the driver or drivers, the INF file, the catalog file, and other installation files.
3). Call SetupCopyOEMInf (described in the Microsoft Windows SDK documentation), specifying the INF file in the directory created in step (1). Specify SPOST_PATH for the OEMSourceMediaType parameter and specify NULL for the OEMSourceMediaLocation parameter. SetupCopyOEMInf copies the INF file for the driver package into the %windir%\Inf directory on the target system and directs Windows to store the source location of the INF file in its list of preprocessed INF files. SetupCopyOEMInf also processes the catalog file, so the PnP manager will install the driver the next time it recognizes a device listed in the INF file.
Note: When the user plugs in the device, the PnP manager recognizes the device, finds the INF file copied by SetupCopyOEMInf, and installs the drivers copied in step (2). (For more information about copying INF files, see Copying INFs.)
|
Таким образом, если драйвера у вас и так уже распакованы на HDD, то вместо использования DPInst.exe, чтоб еще раз не копировать те же драйвера еще и в SYSTEM32\DRVSTORE, можно установку драйверов выполнить в два этапа:
1). Использовать утилиту makePNF.exe из башратовкого пакета для поиска INF-ов в дереве папок, и генерации для них PNF-файлов. То есть то же самое, что и в пункте №3 из цитаты выше;
2). Запустить "devcon rescan" для повторного сканирования и установки драйверов на новое оборудование... Или как-то так...
Если кто-то из разработчиков проекта из шапки программирует на С++, то вы можете за основу взять исходник утилиты devcon, выкинуть оттуда лишнее, и сделать маленькую утилитку-установщик драйверов специально заточенную под ваш проект.