Let me first make clear that I am neither a driver nor a Windows 7 specialist, but was directed here by the Windows support, so any hint is welcome.
I followed instructions at http://msdn.microsoft.com/en-us/library/ff540196.aspx to install a WinUSB based driver for our OEM PIC (Microchip) - base device, without success.
I wrote the .inf file with the necessary adaptations and checked it with chkinf: 0 errors.
I tried to install the device (after several similar attempts) via the device manager - update driver and got the Code 10 error.
I tried to install with the devcon command and got the response
Device node created. Install is complete when drivers are installed…
Updating drivers for USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C
from C:\Users\Photonita\GPB01\WinUSB\gpb01.inf.
devcon failed.
Details follow. Any light?
gpb01.inf
; This file is the USB driver for the GPB01 board.
; Copyright (C): Photonita Ltda, 2011
[Version]
Signature = “$Windows NT$”
Class = CustomUSBDevice
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}
Provider = %ProviderName%
CatalogFile=MyCatFile.cat
DriverVer=01/26/2011,1.0
; ================== Class section ==================
[ClassInstall32]
Addreg=MyDeviceClassReg
[MyDeviceClassReg]
HKR,0,%ClassName%
HKR,Icon,-1
; ========== Manufacturer/Models sections ===========
[Manufacturer]
%ProviderName% = MyDevice_WinUSB,NTx86,NTamd64,NTia64
[MyDevice_WinUSB.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C
[MyDevice_WinUSB.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C
[MyDevice_WinUSB.NTia64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C
; =================== Installation ===================
;[1]
[USB_Install]
Include=winusb.inf
Needs=WINUSB.NT
;[2]
[USB_Install.Services]
Include=winusb.inf
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall
;[3]
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\winusb.sys
;[4]
[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install
[WinUSB_Install]
KmdfLibraryVersion=1.9
;[5]
[USB_Install.HW]
AddReg=Dev_AddReg
[Dev_AddReg]
; HKR,DeviceInterfaceGUIDs,0x10000,“{D696BFEB-1734-417d-8A04-86D01071C512}”
HKR,DeviceInterfaceGUIDs,0x10000,“{00000001-0001-0001-0001-000000000001}”
;[6]
[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,CoInstallers32,0x00010000,“WdfCoInstaller01009.dll,WdfCoInstaller”,“WinUSBCoInstaller2.dll”
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
; ================= Source Media Section =====================
;[7]
[SourceDisksNames]
1 = %DISK_NAME%,\i386
2 = %DISK_NAME%,\amd64
3 = %DISK_NAME%,\ia64
[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll=1
WdfCoInstaller01009.dll=1
[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll=2
WdfCoInstaller01009.dll=2
[SourceDisksFiles.ia64]
WinUSBCoInstaller2.dll=3
WdfCoInstaller01009.dll=3
; =================== Strings ===================
[Strings]
ProviderName=“Photonita Ltda”
USB\MyDevice.DeviceDesc=“GPB01 - General Purpose Board V.01”
WinUSB_SvcDesc=“WinUSB Test”
DISK_NAME=“USB_Install_Disk”
ClassName=“Custom USB Device”
setupapi.dev.log after first attempt (update driver)
>> [Device Install (Hardware initiated) - STORAGE\VolumeSnapshot\HarddiskVolumeSnapshot20]
>> Section start 2011/01/27 20:46:16.051
ump: Creating Install Process: DrvInst.exe 20:46:16.051
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Doing WU search last due to CM_DEVCAP_SILENTINSTALL flag.
ndv: Searching Driver Store and Device Path…
dvi: {Build Driver List} 20:46:16.066
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
cpy: Policy is set to make all digital signatures equal.
dvi: Enumerating INFs from path list ‘C:\Windows\inf’
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Created Driver Node:
dvi: HardwareID - STORAGE\VolumeSnapshot
dvi: InfName - C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
dvi: DevDesc - C?pia de sombra de volume gen?rica
dvi: DrvDesc - C?pia de sombra de volume gen?rica
dvi: Provider - Microsoft
dvi: Mfg - Microsoft
dvi: ModelsSec - MSFT.NTx86
dvi: InstallSec - volume_snapshot_install
dvi: ActualSec - volume_snapshot_install.NTx86
dvi: Rank - 0x00ff0000
dvi: Signer - Microsoft Windows
dvi: Signer Score - INBOX
dvi: DrvDate - 06/21/2006
dvi: Version - 6.1.7600.16385
inf: Searched 1 potential matches in published INF directory
inf: Searched 40 INFs in directory: ‘C:\Windows\inf’
dvi: {Build Driver List - exit(0x00000000)} 20:46:16.175
ndv: Selecting best match from Driver Store (including Device Path)…
dvi: {DIF_SELECTBESTCOMPATDRV} 20:46:16.175
dvi: No class installer for ‘C?pias de volume em mem?ria de armazenamento’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:46:16.175
dvi: {Select Best Driver}
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
dvi: Selected:
dvi: Description - [C?pia de sombra de volume gen?rica]
dvi: InfFile - [c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf]
dvi: Section - [volume_snapshot_install]
dvi: Signer - [Microsoft Windows]
dvi: Rank - [0x00ff0000]
dvi: {Select Best Driver - exit(0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 20:46:16.175
inf: {SetupCopyOEMInf: C:\Windows\INF\volsnap.inf} 20:46:16.191
inf: Driver Store location: C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf
inf: Published Inf Path: C:\Windows\INF\volsnap.inf
inf: {SetupCopyOEMInf exit (0x00000050)} 20:46:16.191
dvi: Searching for hardware ID(s):
dvi: storage\volumesnapshot
inf: Opened PNF: ‘C:\Windows\System32\DriverStore\FileRepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Selected driver installs from section [volume_snapshot_install] in ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’.
dvi: Class GUID of device changed to: {533c5b84-ec70-11d2-9505-00c04f79deaf}.
dvi: Set selected driver complete.
ndv: Driver selected, now performing install…
ndv: {Core Device Install} 20:46:16.191
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
sig: {_VERIFY_FILE_SIGNATURE} 20:46:16.207
sig: Key = volsnap.inf
sig: FilePath = C:\Windows\INF\volsnap.inf
sig: Success: A valid signature was found in an installed catalog
sig: Cat: ‘C:\Windows\system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-Package~31bf3856ad364e35~x86~~6.1.7600.16385.cat’
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 20:46:16.222
inf: Opened PNF: ‘C:\Windows\INF\volsnap.inf’ ([strings.0416])
dvi: {DIF_ALLOW_INSTALL} 20:46:16.222
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:46:16.222
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 20:46:16.222
ndv: Installing files…
dvi: {DIF_INSTALLDEVICEFILES} 20:46:16.238
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.238
dvi: {Install FILES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
dvi: Processing co-installer registration section [volume_snapshot_install.NTx86.CoInstallers].
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: {Install INTERFACES}
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: {Install FILES exit (0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 20:46:16.238
ndv: Pruning file queue…
dvi: {_SCAN_FILE_QUEUE}
flq: ScanQ flags=620
flq: SPQ_SCAN_PRUNE_COPY_QUEUE
flq: SPQ_SCAN_FILE_COMPARISON
flq: SPQ_SCAN_ACTIVATE_DRP
flq: ScanQ number of copy nodes=0
flq: ScanQ action=200 DoPruning=32
flq: ScanQ end Validity flags=620 CopyNodes=0
dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
ndv: Committing file queue…
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=0
flq: CommitQ early exit: No nodes are queued
flq: {_commit_file_queue exit OK}
ndv: Registering CoInstallers…
dvi: {DIF_REGISTER_COINSTALLERS} 20:46:16.238
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.238
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers]}
inf: {Install Inf Section [volume_snapshot_install.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 20:46:16.253
ndv: Installing interfaces…
dvi: {DIF_INSTALLINTERFACES} 20:46:16.253
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: No CoInstallers found
dvi: Default installer: Enter 20:46:16.253
dvi: {Install INTERFACES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Installing section [volume_snapshot_install.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 20:46:16.253
ndv: Installing device…
dvi: {DIF_INSTALLDEVICE} 20:46:16.253
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.253
dvi: {Install DEVICE}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\volsnap.inf_x86_neutral_42f862e05fcb0306\volsnap.inf’ ([strings.0416])
dvi: Processing Registry/Property directives…
inf: {Install Inf Section [volume_snapshot_install.NTx86]}
inf: {Install Inf Section [volume_snapshot_install.NTx86] exit (0x00000000)}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw]}
inf: Empty section
inf: {Install Inf Section [volume_snapshot_install.NTx86.Hw] exit (0x00000000)}
dvi: {Writing Device Properties}
dvi: Provider name=Microsoft
dvi: DriverDate 06/21/2006
dvi: DriverVersion=6.1.7600.16385
dvi: Class name=VolumeSnapshot
dvi: Manufacturer=Microsoft
dvi: Matching DeviceID=storage\volumesnapshot
dvi: Strong Name=volsnap.inf:MSFT.NTx86:volume_snapshot_install:6.1.7600.16385:storage\volumesnapshot
dvi: {Writing Device Properties - Complete}
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services]}
inf: AddService=,2, (volsnap.inf line 31)
! dvi: Add Service: NULL Controlling service.
inf: {Install Inf Section [volume_snapshot_install.NTx86.Services] exit(0x00000000)}
dvi: Updated reflected section names for: volsnap.inf
dvi: {Install DEVICE exit (0x00000000)}
dvi: Writing common driver property settings.
dvi: DriverDescription=C?pia de sombra de volume gen?rica
dvi: DeviceDisplayName=C?pia de sombra de volume gen?rica
dvi: Install Device: Removing device sub-tree. 20:46:16.269
dvi: Install Device: Removing device sub-tree completed. 20:46:16.285
dvi: Install Device: Restarting device. 20:46:16.285
dvi: Install Device: Restarting device completed. 20:46:16.363
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 20:46:16.363
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 20:46:16.363
dvi: No class installer for ‘C?pia de sombra de volume gen?rica’
dvi: Default installer: Enter 20:46:16.363
dvi: Default installer: Exit
dvi: {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 20:46:16.363
ndv: Device install status=0x00000000
ndv: Performing device install final cleanup…
ndv: {Core Device Install - exit(0x00000000)} 20:46:16.363
ump: Server install process exited with code 0x00000000 20:46:16.378
<<< Section end 2011/01/27 20:46:16.378
<<< [Exit status: SUCCESS]
setupapi.dev.log after second attempt (devcon)
>> [Device Install (UpdateDriverForPlugAndPlayDevices) - USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C]
>> Section start 2011/01/28 13:58:37.545
cmd: devcon install gpb01.inf “USB\VID_04D8&PID_FFF1, USB\VID_04D8&PID_000C”
dvi: Set selected driver complete.
dvi: {Build Driver List} 13:58:37.608
dvi: Searching for hardware ID(s):
dvi: usb\vid_04d8&pid_fff1, usb\vid_04d8&pid_000c
cpy: Policy is set to make all digital signatures equal.
dvi: Processing a single INF: ‘c:\users\photonita\gpb01\winusb\gpb01.inf’
inf: Opened INF: ‘c:\users\photonita\gpb01\winusb\gpb01.inf’ ([strings])
dvi: {Build Driver List - exit(0x00000000)} 13:58:37.623
dvi: {DIF_SELECTBESTCOMPATDRV} 13:58:37.623
dvi: No class installer for ‘Custom USB Device’
dvi: No CoInstallers found
dvi: Default installer: Enter 13:58:37.623
dvi: {Select Best Driver}
! dvi: Selecting driver failed(0xe0000228)
dvi: {Select Best Driver - exit(0xe0000228)}
! dvi: Default installer: failed!
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 13:58:37.623
<<< Section end 2011/01/28 13:58:37.623
<<< [Exit status: SUCCESS]