阅读:1959回复:16
小女子遇到困难,需要高手们帮忙!!
我用2000DDK编写了一个简单的ISA卡的驱动程序,在WINDOWS2000中安装成功。可在WINDOWS 98中安装时,进行到硬件的I/O配置步骤时,提示内容大致为“该硬件可用的配置为。。。按下一步,将安装驱动程序文件。(警告“没有硬件用于。。。配置)”,再按“下一步”,提示“由于设备安装程序被取消,无法复制驱动程序文件。”,安装就此被取消。我已经折腾了一天了,好郁闷啊!是不是我的INF文件有问题?请哪位高手指教一二!!!
|
|
|
沙发#
发布于:2004-04-10 09:00
如果方便的话,可以贴出你的inf文件? :)
|
|
板凳#
发布于:2004-04-10 11:09
我的INF文件内容如下:
[Version] Signature="$WINDOWS NT$" Class=UnKnown ClassGuid={4d36e97a-e325-11ce-bfc1-08002be10318} Provider=%YHZ% DriverVer=02/04/2004,1.00.0000 [DestinationDirs] DefaultDestDir = 12 [SourceDisksFiles] YHZ600.sys=1 [SourceDisksNames] 1=%DISK_NAME% ; ================= Class section ===================== [ClassInstall] Addreg=YHZ600ClassReg [ClassInstall32] Addreg=YHZ600ClassReg [YHZ600ClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-5 ; ================= Device Install section ===================== [Manufacturer] %YHZ%=YHZ [YHZ] ; DisplayName Section DeviceId ; ----------- ------- -------- %YHZ600.DRVDESC%=YHZ600_Inst,root\YHZ600 [YHZ600_Inst] CopyFiles=YHZ600.CopyFiles LogConfig=YHZ600.LC0,YHZ600.NT.FactDef [YHZ600_Inst.NT] DriverVer=04/08/2004,1.0.0.0 CopyFiles=YHZ600.CopyFiles LogConfig=YHZ600.LC0,YHZ600.NT.FactDef [YHZ600_Inst.NT.Services] AddService=YHZ600,0x00000002,YHZ600_Service [YHZ600.LC0] ConfigPriority=NORMAL IOConfig=300-307 [YHZ600_Service] DisplayName = %YHZ600.SVCDESC% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\YHZ600.sys [YHZ600.CopyFiles] YHZ600.sys [YHZ600.NT.FactDef] ConfigPriority=HARDRECONFIG IOConfig=300-307 [Strings] YHZ = "YHZ" ClassName = "YHZ600" YHZ600.SVCDESC = "YHZ600 Service" YHZ600.DRVDESC = "YHZ600 Driver" DISK_NAME = "YHZ600 Install Disk" 请高手们多指教! |
|
|
地板#
发布于:2004-04-10 20:48
安装驱动程序最简单的方法是编写*.reg文件安装,直接双击*.reg文件,可以修改注册表,实现驱动程序的安装,通过*.inf文件进行的安装在驱动程序卸载时通常会保留部分信息,没有*.reg文件方便,如PortTalk驱动程序安装文件格式为:
REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PortTalk] "Type"=dword:00000001 "ErrorControl"=dword:00000001 "Start"=dword:00000002 "DisplayName"="PortTalk" |
|
地下室#
发布于:2004-04-10 20:49
安装驱动程序最简单的方法是编写*.reg文件安装,直接双击*.reg文件,可以修改注册表,实现驱动程序的安装,通过*.inf文件进行的安装在驱动程序卸载时通常会保留部分信息,没有*.reg文件方便,如PortTalk驱动程序安装文件格式为:
REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PortTalk] "Type"=dword:00000001 "ErrorControl"=dword:00000001 "Start"=dword:00000002 "DisplayName"="PortTalk" :) |
|
5楼#
发布于:2004-04-11 22:00
楼上兄台说的不失为一种好方法,可是我现在必须用INF文件方式,不知哪位高手能指点一二??
|
|
|
6楼#
发布于:2004-04-12 11:22
[Version]
Signature=\"$WINDOWS NT$\" 你这是NT/2k的inf吧,在98下不能用吧! |
|
7楼#
发布于:2004-04-12 16:05
我试了改为Chicago和win95都没有成功:(
|
|
|
8楼#
发布于:2004-04-12 17:04
因为你的是一个ISA卡,所以Win2k下面是一个NT模式驱动,Win9x下面应该写一个VxD。你用同一个驱动是不行的。
|
|
|
9楼#
发布于:2004-04-12 19:47
楼上说的对,你在Windows2000下开发的驱动是WDM的,Win2000不支持Vxd,而98下的驱动是Vxd,虽然也支持WDM,但是WDM驱动程序的版本不一样,你最好重新写一个98的驱动
|
|
10楼#
发布于:2004-04-12 22:40
我今天刚刚看见的资料,WDM在98下必须手工安装。我就试着手工装了一个,我同意用REG安装的方法,这好象也是我的书上讲到的方法。
|
|
|
11楼#
发布于:2004-04-12 23:05
把你的源程序拿到98DDK下重新编译,生成98下的WDM驱动,再在98下安装。WDM在源码级兼容98和2k(但不全兼容),可执行级不兼容。
|
|
12楼#
发布于:2004-04-13 16:50
你可以看看系统目录下有一个setupapi.log 在winnt下 里面有安装驱动程序时的日志信息,你可以通过日志分析系统到底时那一块错误退出安装的。 相信我 没错的。
|
|
|
13楼#
发布于:2004-04-17 17:59
多谢各位了,我又折腾好几下,原来安装被取消是因为sourcedisk不存在的原因,我把这行注销就能安装上去了。但是重启后,在设备管理器中虽然有这个设备,而且状态正常,但却显示没有相应的驱动程序。我于是又修改了注册表的HLM\\SYSTEM\\CurrentControlset\\SERVICEs\\class相应项的DevLoader,结果驱动程序有显示了,但还是不能正常工作。我不知道这个DevLoader怎么设置?或是我这种方法根本就不可行?请高手们指教!!
|
|
|
14楼#
发布于:2004-04-22 11:41
请问用98DDK重新编译我的驱动程序,是不是一定要用VC5。0呢?我直接在VC6。0下编译提示错误?那位大侠有VC5。0?
|
|
|
15楼#
发布于:2004-04-22 12:53
一个女子,一群野兽
又不见我的问题这么多人抢答 kao |
|
|
16楼#
发布于:2004-04-23 15:57
谢谢指教!!
|
|