20楼#
发布于:2004-12-02 18:52
我的确注册了,在预安装时那个未数字签名的警告都已经不弹出来了。
只是我插入USB线时,还是会发现新硬件,要安装一遍。 |
|
21楼#
发布于:2004-12-02 18:22
1,很高兴听到你成功的消息!
2,协作程序我大致看了一下,应该没什么问题。 3,你注册了协作安装程序吗? |
|
|
22楼#
发布于:2004-12-02 17:23
另外还有,我是使用自建的setup class。
|
|
23楼#
发布于:2004-12-02 17:21
Hi,tigerL!
我参照了您的两个帖子里的方法,目前windows2000上已经没有问题了。可是在xp下还是会弹出“发现新硬件”的问题。 是不是我的Co-Installer有问题呢? 我的代码如下,恳请您的指导。谢谢! __stdcall CoModifyRank ( IN DI_FUNCTION InstallFunction, IN HDEVINFO DeviceInfoSet, IN PSP_DEVINFO_DATA DeviceInfoData, IN OUT PCOINSTALLER_CONTEXT_DATA Context ) { DWORD Status = NO_ERROR; switch (InstallFunction) { case DIF_SELECTBESTCOMPATDRV: { DWORD dwMemIndex = 0; do { SP_DRVINFO_DATA DriverInfoData; if(!SetupDiEnumDriverInfo(DeviceInfoSet, DeviceInfoData, SPDIT_COMPATDRIVER , dwMemIndex, &DriverInfoData)) { break; } SP_DRVINSTALL_PARAMS DriverInstallParams; if(SetupDiGetDriverInstallParams(DeviceInfoSet, DeviceInfoData, &DriverInfoData, &DriverInstallParams)) { DriverInstallParams.Rank = 0; SetupDiSetDriverInstallParams(DeviceInfoSet, DeviceInfoData, &DriverInfoData, &DriverInstallParams); } dwMemIndex ++; }while(1); } break; default: break; } return Status; } |
|
24楼#
发布于:2004-12-02 14:08
blackcourser :
建议你: 1,注释掉如下两节: [SourceDisksNames] 1="usbkey Installation Disk",,, [SourceDisksFiles] usbkey.sys = 1 usbkey.inf = 1 2,把CopyFiles指令中的usbkey.Files.Inf 去掉。 |
|
|
25楼#
发布于:2004-12-01 16:59
tigerL: 按你所说: 1.在干净的系统下,手工安装USB驱动程序能够成功。 2.恢复干净的系统,调用SetupCopyOEMInf却要求指定*.sys的目录(此时INF目录下已生成和*.inf内容一样的oem3.inf)。我将*.inf和*.sys两文件均拷贝到了同一指定目录下。如drvInstDir。 3.按系统要求将*.sys指定到drvInstDir下则安装成功。 能否帮分析一下原因,如何不需用户指定*.sys的路径。 [编辑 - 12/1/04 by blackcourser] |
|
26楼#
发布于:2004-12-01 16:58
lejianz:
谢谢你的建议,不过问题依旧 :( |
|
27楼#
发布于:2004-12-01 16:00
用DEVCON自动安装USB设备可能行不通。我认为要自动安装的话,要做一个应用程序来修改注册表来实现。
|
|
|
28楼#
发布于:2004-12-01 14:01
blackcourser, 你的devcon install "d:test.inf" USBVID_xxx 中应把HARDWARE ID做引号。
我也遇到出现惊叹号的问题,情况和你一样,手动可以,但DEVCON不可以。有一点我可以提示你,你找一下SYSTEM32下的SETUPAPI。LOG文件,可能有有用的东西。 |
|
|
29楼#
发布于:2004-12-01 10:30
to:tigerL
[Version] Signature="$CHICAGO$" Class=SmartCardReader ClassGuid={50DD5230-BA8A-11D1-BF5D-0000F805F530} provider=%PR% DriverVer=11/11/2003,1.0.1106.0 [SourceDisksNames] 1="usbkey Installation Disk",,, [SourceDisksFiles] usbkey.sys = 1 usbkey.inf = 1 ; ================= Class section ===================== [ClassInstall32] Addreg=SmartCardReaderClassReg [SmartCardReaderClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-25 HKLM,"SoftwareMicrosoftCryptographyCalaisReaders",,, [Manufacturer] %MfgName%=zhehui [zhehui] %USBVID_1463&PID_05CB.DeviceDesc%=usbkey.Dev, USBVID_1463&PID_05CB [DestinationDirs] usbkey.Files.Ext = 10,System32Drivers usbkey.Files.Inf = 10,INF [usbkey.Dev] CopyFiles=usbkey.Files.Ext, usbkey.Files.Inf AddReg=usbkey.AddReg [usbkey.Dev.NT] CopyFiles=usbkey.Files.Ext, usbkey.Files.Inf AddReg=usbkey.AddReg [usbkey.Dev.NT.Services] Addservice = usbkey, 0x00000002, usbkey.AddService, usbkey.EventLog [usbkey.AddService] DisplayName = %usbkey.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 2 ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%System32Driversusbkey.sys [usbkey.EventLog] AddReg = usbkey.AddEventLog.reg [usbkey.AddEventLog.reg] HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%System32driversusbkey.sys" HKR,, TypesSupported, 0x00010001, 7 [usbkey.AddReg] ;HKR,,DevLoader,,*ntkern ;HKR,,NTMPDriver,,usbkey.sys ;HKR,, AdapterType, 0, "0100" ;HKLM,"SystemCurrentcontrolsetServicesBulkUsbParameters","MaximumTransferSize",0x10001,4096 HKLM,"SystemCurrentcontrolsetServicesBulkUsbParameters","DebugLevel",0x10001,5 [usbkey.Files.Ext] usbkey.sys [usbkey.Files.Inf] usbkey.Inf ;---------------------------------------------------------------; [Strings] PR="zh" MfgName="zhehui" ClassName="SmartCardReader" USBVID_1463&PID_05CB.DeviceDesc="zh Key" usbkey.SvcDesc="usbkey PCSC driver" [编辑 - 12/1/04 by blackcourser] [编辑 - 12/1/04 by blackcourser] |
|
30楼#
发布于:2004-11-30 22:17
to:tigerL 1,inf和drivers目录下没有test.inf和test.sys是对的。setupCopyOEMInf会在inf目录下生成一个oem*.inf。找找看有没有? 2,产生黄色惊叹号的原因很多,你在设备的属性页中察看一下“驱动程序详细信息”,看看驱动程序安装了没有?(我估计驱动程序没装上) 3,正常情况下,执行setupCopyOEMInf安装usb是不会要求重启的。 4,可能与你的inf文件有关,如果可能,请把你的inf贴出来。 |
|
|
31楼#
发布于:2004-11-30 18:11
to :Song1118
没有呢。试了很多方法都不行。 |
|
32楼#
发布于:2004-11-30 15:40
请问您解决问题了吗?我也遇见了同样的问题,能告诉我怎么解决吗?
|
|
33楼#
发布于:2004-11-30 11:53
to:tigerL
我在几台没有装过该USB驱动的电脑上试验,调用setupCopyOEMInf没有问题,安装显示成功,并要求重启,但重启后设备中有黄色惊叹号。查看INF和system32drivers下均没有相应的test.inf和test.sys文件,请分析是何原因。 MSDN中对setupCopyOEMInf函数的解释为“拷贝INF文件到系统%windir%/Inf目录下”。手工拷贝后亦不能执行。 但如果完全通过手工安装即“插卡,系统识别USB设备,要求指定*.inf和*.sys文件路径”则一切正常。请问你是否了解手工安装时系统都做了那些操作? 有QQ吗?我的是58369915,如果可以请加我。 [编辑 - 11/30/04 by blackcourser] |
|
34楼#
发布于:2004-11-29 21:47
to:tigerL 谢谢回复! 调用setupCopyOEMInf没问题吧,是插上设备后弹出窗口说某某路径下没有*.sys文件吗? |
|
|
35楼#
发布于:2004-11-29 15:57
to:tigerL 谢谢回复!
你说的情况试过,仍有问题: 注释掉inf中的SourceDisksFiles和SourceDisksNames后,调用setupCopyOEMInf系统要求指出*.sys的路径。 按某网友所说将[USBKEY.Dev]和[USBKEY.Dev.NT]中都指定为绝对路径还是不行。 [USBKEY.Dev] CopyFiles=%10%\System32\Drivers\test.Files.Ext, %10%\inf\test.Files.Inf AddReg=USBKEY.AddReg [USBKEY.Dev.NT] CopyFiles=%10%\System32\Drivers\test.Files.Ext, %10%\inf\test.Files.Inf AddReg=USBKEY.AddReg 不知是何原因。 [编辑 - 11/29/04 by blackcourser] [编辑 - 11/29/04 by blackcourser] |
|
36楼#
发布于:2004-11-28 21:44
你的问题我没碰到过,但usb设备驱动的安装程序我却做过。很简单,把inf和sys放在同一目录下(注意注释掉inf中的SourceDisksFiles和SourceDisksNames两节),然后调用SetupCopyOEMInf即可。
|
|
|
上一页
下一页