Расположение файла Windows driver.sys, отличное от system32\drivers
Разрешено ли хранить sys-файл драйвера windows вне каталога system32\drivers? Похоже, что это возможно, если драйвер настроен вручную через CreateService с абсолютным путем к файлу driver.sys. Однако, когда INF-файл используется для установки драйвера с помощью InstallHinfSection, а расположение драйвера отличается от system32\drivers, InstallHinfSection завершится с ошибкой
!!! DVI: Путь к драйверу не в системном корне!!! inf: {Установить раздел Inf [DefaultInstall.NT.Services] exit(0xe0000217)}!!! inf: Ошибка 0xe0000217: раздел установки службы в этом INF недействителен. inf: {Установить раздел Inf [DefaultInstall.NT]}, когда ServiceBinary = %1%\MyDriverdrv.sys; текущий каталог и успешно выполняется, когда ServiceBinary = %12%\MyDriverdrv.sys; system32\ водители
INf файл:
;
; INF file to install MyDriver registry filter driver
;
[Version]
signature = "$Windows NT$"
Provider = %MyDriverInc%
CatalogFile =
; Distribution Media information
;
[SourceDisksNames]
1 = %MyDriverdrv.MediaDesc%
[SourceDisksFiles]
MyDriverdrv.sys = 1
[DestinationDirs]
DefaultDestDir = 12
MyDriver.DriverFiles = 12
[DefaultInstall.NT]
CopyFiles = MyDriver.DriverFiles
[DefaultUninstall.NT]
DelFiles = MyDriver.DriverFiles
[MyDriver.DriverFiles]
MyDriverdrv.sys
[DefaultInstall.NT.Services]
AddService = %ServiceName%, , MyDriverdrv_Service_Inst
[DefaultUninstall.NT.Services]
AddService = %ServiceName%, 0x200
[MyDriverdrv_Service_Inst]
DisplayName = %MyDriverdrv.SvcDesc%
ServiceType = 1; SERVICE_KERNEL_DRIVER
StartType = 3; SERVICE_DEMAND_START
ErrorControl = 1; SERVICE_ERROR_NORMAL
ServiceBinary = %1%\MyDriverdrv.sys
[Strings]
MyDriverInc = "MyDriver, Inc"
ServiceName = "MyDriverdrv"
MyDriverdrv.SvcDesc = "MyDriver Trace Kernel Mode Driver"
MyDriverdrv.MediaDesc = "MyDriver Trace Kernel Mode Driver"
Поскольку файлы INF - это официальный способ установки драйверов, я не вижу способа сохранить файл драйвера локально.
Спасибо!