簡體   English   中英

為什么 Devcon 正確安裝驅動程序而右鍵單擊安裝不起作用

[英]Why does Devcon install a driver correctly while right-click install does not work

我為虛擬 HID 設備創建了一個驅動程序(.inf、.cat 和 .sys 文件),我可以使用它在命令行上成功安裝它

    devcon.exe /r install .\VirtualU2FToken.inf root\VirtualU2FToken

之后虛擬設備出現在設備管理器中。 但是,當我右鍵單擊 inf 文件並選擇“安裝”時,Windows 聲稱已成功安裝驅動程序,但設備沒有出現。

所以我的問題是:右鍵單擊(似乎調用DefaultInfInstall.exe )和devcon.exe安裝驅動程序的方式有什么區別? 我需要做什么才能使右鍵單擊起作用?

我的inf文件如下:

;
; VirtualU2FToken.inf
;

[Version]
Signature="$WINDOWS NT$"
Class=HIDClass ; TODO: edit Class
ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da} ; TODO: edit ClassGuid
Provider=%ManufacturerName%
DriverPackageType=ClassFilter
CatalogFile=VirtualU2FToken.cat
DriverVer= ; TODO: set DriverVer in stampinf property pages

[DestinationDirs]
DefaultDestDir = 12
VirtualU2FToken_Device_CoInstaller_CopyFiles = 11

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

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]
VirtualU2FToken.sys  = 1,,
WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll=1 ; make sure the number matches with SourceDisksNames

;*****************************************
; Install Section
;*****************************************

[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$

[Standard.NT$ARCH$]
%VirtualU2FToken.DeviceDesc%=VirtualU2FToken_Device, Root\VirtualU2FToken ; TODO: edit hw-id

[VirtualU2FToken_Device.NT]
CopyFiles=Drivers_Dir

[VirtualU2FToken_Device.NT.HW]
AddReg = VirtualU2FToken_Device.NT.AddReg

[VirtualU2FToken_Device.NT.AddReg]
HKR,,"LowerFilters",0x00010000,"vhf"

[Drivers_Dir]
VirtualU2FToken.sys

;-------------- Service installation
[VirtualU2FToken_Device.NT.Services]
AddService = VirtualU2FToken,%SPSVCINST_ASSOCSERVICE%, VirtualU2FToken_Service_Inst

; -------------- VirtualU2FToken driver install sections
[VirtualU2FToken_Service_Inst]
DisplayName    = %VirtualU2FToken.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\VirtualU2FToken.sys

;
;--- VirtualU2FToken_Device Coinstaller installation ------
;

[VirtualU2FToken_Device.NT.CoInstallers]
AddReg=VirtualU2FToken_Device_CoInstaller_AddReg
CopyFiles=VirtualU2FToken_Device_CoInstaller_CopyFiles

[VirtualU2FToken_Device_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller"

[VirtualU2FToken_Device_CoInstaller_CopyFiles]
WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll

[VirtualU2FToken_Device.NT.Wdf]
KmdfService =  VirtualU2FToken, VirtualU2FToken_wdfsect

[VirtualU2FToken_wdfsect]
KmdfLibraryVersion = $KMDFVERSION$

[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
ManufacturerName="Nexus Group A.B." ;TODO: Replace with your manufacturer name
ClassName="HIDClass" ; TODO: edit ClassName
DiskName = "VirtualU2FToken Installation Disk"
VirtualU2FToken.DeviceDesc = "VirtualU2FToken Device"
VirtualU2FToken.SVCDESC = "VirtualU2FToken Service"

這是因為您在使用 Devcon 安裝時使用的是 Root 枚舉器 (Root\VirtualU2FToken),它會創建名為 Root\VirtualU2FToken 的設備節點

當您使用設備管理器安裝(或 pnputil)時,它不會創建新的設備節點,它只是將驅動程序安裝到驅動程序商店

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM