Написание пользовательского INF для установки пакета драйвера WinUSB для 64-битной ОС Windows8

У меня есть простой пользовательский режим USB-драйвер, который устанавливается и работает нормально в Windows XP 32-битной,Windows 7 32 & 64-битной и Windows 8 32-битной. но по какой-то причине не удается правильно установить в Windows 8 64 бит. Файл inf, который я использую, указан ниже:

Я получаю сообщение об ошибке типа "ошибка при установке пакета драйвера"

;-------------------------------------------------------------------------
; USB.INF 
;
; winusb device driver
; 
;-------------------------------------------------------------------------

[Version]
Signature       = "$Windows NT$"
Class           = Products
ClassGuid       = {78A1C341-4539-11d3-B88D-00C04FAD5171}
Provider        = %ProviderName%
DriverVer       = 25/07/2011,1.0.1
;DriverPackageType=PlugAndPlay
DriverPackageDisplayName=%DESC%
;CatalogFile=MyCatFile.cat

; ================== Class section ===================

[ClassInstall32]
AddReg      = ClassInstall_AddReg

[ClassInstall_AddReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1

; ========== Manufacturer/Models sections ===========

[Manufacturer]
%ProviderName%  = Products,NTx86,NTx64

[Products.NTx86]
%USB\MyDevice.DeviceDesc% = USB_Install, USB\VID_21A2&PID_0100

[Products.NTx64]
%USB\MyDevice.DeviceDesc% = USB_Install, USB\VID_21A2&PID_0100

; =================== Installation ===================

[USB_Install]
Include     = winusb.inf
Needs       = WINUSB.NT

[USB_Install.Services]
Include     = winusb.inf
AddService  = WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]
DisplayName     = %WinUSB_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

[USB_Install.Wdf]
KmdfService = WINUSB, WinUsb_Install

[WinUSB_Install]
KmdfLibraryVersion  = 1.11

[USB_Install.HW]
AddReg      = Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{70cd8e5b-1a46-4418-a1a5-4489f4b4aa79}"

[USB_Install.CoInstallers]
AddReg      = CoInstallers_AddReg
CopyFiles   = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01011.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01011.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

; ================= Source Media Section =====================

[SourceDisksNames]
1 = %DISK_NAME%,,,\x86
2 = %DISK_NAME%,,,\x64

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll=1
WdfCoInstaller01011.dll=1

[SourceDisksFiles.x64]
WinUSBCoInstaller2.dll=2
WdfCoInstaller01011.dll=2


; =================== Strings ===================

[Strings]
ProviderName    = "Products"
ClassName   = "Ss"
USB\MyDevice.DeviceDesc = "Ppp"
WinUSB_SvcDesc  = "WinUSB Driver Service"
;DISK_NAME  = "USBDriverPackage"
DESC            = "Ppp"

1 ответ

Пока файл.inf работает в Windows Vista/7 и т. Д., Я предполагаю, что все в порядке! К сожалению, в Windows 8 вам необходимо подписать INF-файл драйвера на стороне пользователя (winusb), если вы хотите получить доступ к устройству с помощью GUID интерфейса, как в Windows Vista/7.

У вас есть три варианта:

  1. Подписать его. Эта ссылка будет очень полезна: http://www.davidegrayson.com/signing/
  2. Отключите принудительное использование подписи драйверов, а затем установите драйвер. Вам нужно будет следовать этому процессу только для того, чтобы установить драйвер. Затем вы можете перезагрузить компьютер в обычном режиме, и драйвер будет работать нормально, потому что вы не устанавливаете какой-либо код со стороны ядра - иначе у вас были бы проблемы - http://www.howtogeek.com/167723/how-to-disable -driver-проверка подпись-на-64-разрядных Windows-8.1-так, что вас можно установить неподписанные-шофер /
  3. Если устройство предназначено только для личного (разработки), вы можете использовать установку без.inf http://msdn.microsoft.com/en-us/library/windows/hardware/ff540283(v=vs.85).aspx

Ура,

Christos

Другие вопросы по тегам