Song1118
驱动牛犊
驱动牛犊
  • 注册日期2003-03-05
  • 最后登录2005-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2004-12-02 18:52
我的确注册了,在预安装时那个未数字签名的警告都已经不弹出来了。
只是我插入USB线时,还是会发现新硬件,要安装一遍。
tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2004-12-02 18:22
1,很高兴听到你成功的消息!
2,协作程序我大致看了一下,应该没什么问题。
3,你注册了协作安装程序吗?
省元坊
Song1118
驱动牛犊
驱动牛犊
  • 注册日期2003-03-05
  • 最后登录2005-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2004-12-02 17:23
另外还有,我是使用自建的setup class。
Song1118
驱动牛犊
驱动牛犊
  • 注册日期2003-03-05
  • 最后登录2005-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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;

}

tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
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
去掉。
省元坊
blackcourser
驱动牛犊
驱动牛犊
  • 注册日期2004-11-23
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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]
blackcourser
驱动牛犊
驱动牛犊
  • 注册日期2004-11-23
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2004-12-01 16:58
lejianz:
  谢谢你的建议,不过问题依旧 :(
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
27楼#
发布于:2004-12-01 16:00
用DEVCON自动安装USB设备可能行不通。我认为要自动安装的话,要做一个应用程序来修改注册表来实现。
一起交流,共同提高!
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
28楼#
发布于:2004-12-01 14:01
blackcourser, 你的devcon install "d:test.inf" USBVID_xxx 中应把HARDWARE ID做引号。
我也遇到出现惊叹号的问题,情况和你一样,手动可以,但DEVCON不可以。有一点我可以提示你,你找一下SYSTEM32下的SETUPAPI。LOG文件,可能有有用的东西。
一起交流,共同提高!
blackcourser
驱动牛犊
驱动牛犊
  • 注册日期2004-11-23
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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]
tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
30楼#
发布于:2004-11-30 22:17
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]



1,inf和drivers目录下没有test.inf和test.sys是对的。setupCopyOEMInf会在inf目录下生成一个oem*.inf。找找看有没有?
2,产生黄色惊叹号的原因很多,你在设备的属性页中察看一下“驱动程序详细信息”,看看驱动程序安装了没有?(我估计驱动程序没装上)
3,正常情况下,执行setupCopyOEMInf安装usb是不会要求重启的。
4,可能与你的inf文件有关,如果可能,请把你的inf贴出来。
省元坊
blackcourser
驱动牛犊
驱动牛犊
  • 注册日期2004-11-23
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
31楼#
发布于:2004-11-30 18:11
to :Song1118
   没有呢。试了很多方法都不行。
Song1118
驱动牛犊
驱动牛犊
  • 注册日期2003-03-05
  • 最后登录2005-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
32楼#
发布于:2004-11-30 15:40
请问您解决问题了吗?我也遇见了同样的问题,能告诉我怎么解决吗?
blackcourser
驱动牛犊
驱动牛犊
  • 注册日期2004-11-23
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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]
tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
34楼#
发布于:2004-11-29 21:47
to:tigerL 谢谢回复!
你说的情况试过,仍有问题:
注释掉inf中的SourceDisksFiles和SourceDisksNames后,调用setupCopyOEMInf系统要求指出*.sys的路径。



调用setupCopyOEMInf没问题吧,是插上设备后弹出窗口说某某路径下没有*.sys文件吗?
省元坊
blackcourser
驱动牛犊
驱动牛犊
  • 注册日期2004-11-23
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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]
tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
36楼#
发布于:2004-11-28 21:44
你的问题我没碰到过,但usb设备驱动的安装程序我却做过。很简单,把inf和sys放在同一目录下(注意注释掉inf中的SourceDisksFiles和SourceDisksNames两节),然后调用SetupCopyOEMInf即可。
省元坊
上一页 下一页
游客

返回顶部