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