用我的安装程序打包驱动文件

时间:2009-08-01 01:32:09

标签: driver

我已将设备驱动程序文件.inf,.sys和.cat打包到我的安装程序中,它们安装在windows \ system32文件夹和windows \ system32 \ drivers文件夹中,但是,当我插入设备并让windows搜索时对于司机,没有找到司机。 驱动程序文件有效。任何想法如何自动安装Windows的设备驱动程序? 这是inf文件:

;/*++
;
;Abstract:
;    Installation inf for the Android USB Bulk device
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=USB
ClassGuid={F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}
Provider=%GOOG%
DriverVer=date,1.0.0009.00000
CatalogFile=androidusb.cat

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

[ClassInstall32]
Addreg=AndroidUsbClassReg

[AndroidUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-5

[DestinationDirs]
DefaultDestDir = 12

; ================= Device section =====================

[Manufacturer]
%MfgName%=Google,NTx86

; For Win2K
[Google]
; For loopback testing
%USB\VID_18D1&PID_DDDD.DeviceDescTest%=androidusb.Dev, USB\VID_18D1&PID_DDDD
; Android Sooner
%USB\VID_18D1&PID_D00D.DeviceDescRelease%=androidusb.Dev, USB\VID_18D1&PID_D00D
%USB\VID_18D1&PID_DEED&MI_01.DeviceDescRelease%=androidusb.Dev, USB\VID_18D1&PID_DEED&MI_01
%USB\VID_18D1&PID_DEED&MI_02.DeviceDescRelease%=androidusb.Dev, USB\VID_18D1&PID_DEED&MI_02
; HTC Dream
%USB\VID_0BB4&PID_0C01.DeviceDescRelease%=androidusb.Dev, USB\VID_0BB4&PID_0C01
%USB\VID_0BB4&PID_0C02&MI_01.DeviceDescRelease%=androidusb.Dev, USB\VID_0BB4&PID_0C02&MI_01

; For XP and later
[Google.NTx86]
; For loopback testing
%USB\VID_18D1&PID_DDDD.DeviceDescTest%=androidusb.Dev, USB\VID_18D1&PID_DDDD
; Android Sooner
%USB\VID_18D1&PID_D00D.DeviceDescRelease%=androidusb.Dev, USB\VID_18D1&PID_D00D
%USB\VID_18D1&PID_DEED&MI_01.DeviceDescRelease%=androidusb.Dev, USB\VID_18D1&PID_DEED&MI_01
%USB\VID_18D1&PID_DEED&MI_02.DeviceDescRelease%=androidusb.Dev, USB\VID_18D1&PID_DEED&MI_02
; HTC Dream
%USB\VID_0BB4&PID_0C01.DeviceDescRelease%=androidusb.Dev, USB\VID_0BB4&PID_0C01
%USB\VID_0BB4&PID_0C02&MI_01.DeviceDescRelease%=androidusb.Dev, USB\VID_0BB4&PID_0C02&MI_01

[androidusb.Dev.NT]
CopyFiles=androidusb.Files.Ext

[androidusb.Dev.NT.Services]
Addservice = androidusb, 0x00000002, androidusb.AddService

[androidusb.AddService]
DisplayName    = %androidusb.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\androidusb.sys
AddReg         = androidusb.AddReg
LoadOrderGroup = Base

[androidusb.AddReg]
HKR,"Parameters","MaximumTransferSize",0x10001,4096
HKR,"Parameters","DebugLevel",0x10001,2
HKR, Parameters\Wdf, VerboseOn,       0x00010001, 1
HKR, Parameters\Wdf, VerifierOn,      0x00010001, 1
HKR, Parameters\Wdf, DbgBreakOnError, 0x00010001, 1

[androidusb.Files.Ext]
androidusb.sys

[SourceDisksNames]
1=%Disk_Description%,,,

[SourceDisksFiles]
androidusb.sys = 1

;-------------- WDF Coinstaller installation
[DestinationDirs]
CoInstaller_CopyFiles = 11

[androidusb.Dev.NT.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles

[CoInstaller_CopyFiles]
wdfcoinstaller01005.dll

[SourceDisksFiles]
wdfcoinstaller01005.dll=1 ; make sure the number matches with SourceDisksNames

[CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "wdfcoinstaller01005.dll,WdfCoInstaller"

[androidusb.Dev.NT.Wdf]
KmdfService = androidusb, androidusb_wdfsect

[androidusb_wdfsect]
KmdfLibraryVersion = 1.5

;---------------------------------------------------------------;

[Strings]
GOOG            = "Google, Inc"
MfgName         = "Google, Inc"
Disk_Description= "ADB Interface Installation Disk"
androidusb.SvcDesc = "ADB Interface Driver"
ClassName       = "ADB Interface"
USB\VID_18D1&PID_DDDD.DeviceDescTest="Android Sooner ADB Testing Interface"
USB\VID_18D1&PID_D00D.DeviceDescRelease="Android Sooner Single ADB Interface"
USB\VID_18D1&PID_DEED&MI_01.DeviceDescRelease="Android Sooner Composite ADB Interface"
USB\VID_18D1&PID_DEED&MI_02.DeviceDescRelease="Android Sooner Kernel Debug Interface"
USB\VID_0BB4&PID_0C01.DeviceDescRelease="HTC Dream"
USB\VID_0BB4&PID_0C02&MI_01.DeviceDescRelease="HTC Dream Composite ADB Interface"

1 个答案:

答案 0 :(得分:3)

您必须使用SetupAPI函数

安装驱动程序

要首先安装驱动程序,您必须使用SetupCopyOEMInf( ... )

以这种方式安装时,可能无法始终选择您的驱动程序,因为内置驱动程序可能更匹配。

更好的匹配始终是WHQL签名的驱动程序,然后是已签名的驱动程序,然后是未命名的驱动程序。