阅读:1822回复:17
一个关于INF文件的问题!
请问大侠,我碰到的如下问题改怎么解决:
我编写了一个WDM驱动,成功的生成了.sys文件 我对.inf文件进行了修改 可是在安装的时候老是出现如下的提示: 让我插入标签为“Install Disk”的磁盘。 请问到底是什么问题?我的INF文件是不是再那个地方改错了? 小弟是个初学者,先去按照例子编了一个WDM程序,对INF也改了,但是成功了!在我编写第二个的时候,就出现这个问题了。请各位大侠多多指点! |
|
沙发#
发布于:2002-06-26 16:15
我对于问题还要补充几句:
再添加新硬件中,最后安装给出的信息是这样的:在Install Disk上找不到.sys文件。 在详细错误中是这样提示的:产生下列错误:没有其他文件(错误#12) 安装文件无法完成 正在打开源盘上的文件。 |
|
板凳#
发布于:2002-06-26 16:21
把你的INF文件贴上来呀,这样才便于给你解决问题,总不能总是让别人去猜吧。
|
|
地板#
发布于:2002-06-26 16:46
1、将INF和SYS放在一个目录下。
2、SYS文件必须符合8.3规则。 |
|
|
地下室#
发布于:2002-06-26 16:51
多谢大侠指点:我的INF文件如下:
;; New_Intwdm.inf ;; ********* PLEASE READ *********** ;; The wizard cannot create exact INF files for all buses and device types. ;; You may have to make changes to this file in order to get your device to ;; install. In particular, hardware IDs and logical configurations require ;; intervention. ;; ;; The Win2K DDK documentation contains an excellent INF reference. ;--------- Version Section --------------------------------------------------- [Version] Signature=\"$Windows 95$\" Provider=%ProviderName% ; If device fits one of the standard classes, use the name and GUID here, ; otherwise create your own device class and GUID as this example shows. ;Class=NewDeviceClass Class=Unknown ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b} ;--------- SourceDiskNames and SourceDiskFiles Section ----------------------- ; These sections identify source disks and files for installation. They are ; shown here as an example, but commented out. ;[SourceDisksNames] ;1 = \"Install Disk\",Disk1,, [SourceDisksNames] 1 = \"Install Disk\",, ;[SourceDisksFiles] ;New_Intwdm.sys = 1,, [SourceDisksFiles] New_Intwdm.sys = 1,, ;--------- ClassInstall/ClassInstall32 Section ------------------------------- ; Not necessary if using a standard class ; 9X Style [ClassInstall] Addreg=Class_AddReg ; NT Style [ClassInstall32] Addreg=Class_AddReg [Class_AddReg] HKR,,,,%DeviceClassName% HKR,,Icon,,\"-18\" ;--------- DestinationDirs Section ------------------------------------------- [DestinationDirs] New_Intwdm_Files_Driver = 10,System32\\Drivers ;--------- Manufacturer and Models Sections ---------------------------------- [Manufacturer] %MfgName%=Mfg0 [Mfg0] %DeviceDesc%=New_Intwdm_DDI, !YOUR HARDWARE ID HERE! ;---------- DDInstall Sections ----------------------------------------------- ; --------- Windows 9X ----------------- ; Experimentation has shown that DDInstall root names greater than 19 characters ; cause problems in Windows 98 [New_Intwdm_DDI] CopyFiles=New_Intwdm_Files_Driver AddReg=New_Intwdm_9X_AddReg LogConfig=New_Intwdm_Config [New_Intwdm_9X_AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,New_Intwdm.sys ; --------- Windows NT ----------------- [New_Intwdm_DDI.NT] CopyFiles=New_Intwdm_Files_Driver LogConfig=New_Intwdm_Config [New_Intwdm_DDI.NT.Services] Addservice = New_Intwdm, 0x00000002, New_Intwdm_AddService [New_Intwdm_AddService] DisplayName = %SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\\System32\\Drivers\\New_Intwdm.sys ; ------ Logical Config (common) ------- [New_Intwdm_Config] ; This is the logical configuration for the device. If the device has no ; hardware resources, you can remove this section, and remove the reference ; to it in section [New_Intwdm_Device] ; ;ConfigPriority=HARDRECONFIG ConfigPriority=NORMAL ; The allowed values for ConfigPriority are: ; HARDWIRED Cannot be reset in any way ; DESIRED Soft Configurable most optimal ; NORMAL Soft Configured medium optimal ; SUBOPTIMAL Soft Configured least optimal ; DISABLED Hardware disabled ; RESTART Requires Windows restart to affect ; REBOOT Requires system reboot to affect ; POWEROFF Requires power cycle to affect ; HARDRECONFIG Requires Jumper setting ; ;IRQConfig=IRQNUM IRQConfig=4,5,9,10,11 ;; TODO: You must replace IRQNUM in the line above with the correct IRQ for your device ; --------- Files (common) ------------- [New_Intwdm_Files_Driver] New_Intwdm.sys ;--------- Strings Section --------------------------------------------------- [Strings] ProviderName=\"Your Company Name here\" MfgName=\"Name of HW Manufacturer here\" DeviceDesc=\"WDM new int wdm 演示 \" DeviceClassName=\"其他设备\" SvcDesc=\"Description of NT service here\" |
|
5楼#
发布于:2002-06-26 16:56
将你的第一个驱动完全删干净,包括注册表里的ff646f80-8def-11d2-9449-00105a075f6b及其相关选项,再装第二个,就可以啦 :D
|
|
6楼#
发布于:2002-06-26 17:00
我已经把.sys文件和.inf文件放在了同一目录下了
什么是8.3规则? 上面我贴出了我的INF文件,它是DriverWorks生成的,应该满足你说的规则吧!我就是在这个INF文件基础上进行改动的。 我还有一个问题,我发觉我用DriverWorks生成的Wdm驱动程序,再INF中发现怎么不同的WDM程序会有相同的Class GUID呢?我印象里应该是不同的WDM被分配不同的Class GUID啊! 请大侠指导! |
|
7楼#
发布于:2002-06-26 17:29
你用driverworks一路向导下来,当然Class GUID一样子的啦,所以如果你还用这个,没有将前面的删掉,注册表就会重复固定的寻找你以前的*.sys,但你又不想装.所以就不让你装,但你有想装,.... :D :D
|
|
8楼#
发布于:2002-06-26 17:56
我已经把.sys文件和.inf文件放在了同一目录下了 \"什么是8.3规则?\" 哎。。。。。。。。。。。。。。 是指文件名及后缀的字符数 :( |
|
|
9楼#
发布于:2002-06-26 18:26
New_Intwdm 数数几个字母了?!
|
|
|
10楼#
发布于:2002-06-27 09:32
我跟YCW00遇到过同样的问题,我的*。SYS和INF文件名绝对符合8。3规则,可是还是有同样的问题,错误。我觉得LAKE说的好象很有道理,回去试一下看。谢谢哦
|
|
11楼#
发布于:2002-06-27 10:12
1、将INF和SYS放在一个目录下。 这两条都不是必要的,首先,INF和SYS可以不在一个目录下,只需这样: [SourceDisksNames] 1 = \"Install Disk\",,SYS 就表示*.sys文件在*.inf文件所在目录的\\sys子目录中; 其次,*.sys文件如是只在Windows2000/XP中,是不需要8.3格式的;但若要兼容win98/Me,才需要尊守8.3格式。DDK文档:Note The Windows Me DDK cannot be installed in a directory that does not follow the 8.3 naming convention. DDK2000中对8.3就没有此要求。而且我的一个WDM驱动就是9.3了,在2000下正常使用。 |
|
12楼#
发布于:2002-06-27 10:32
恩,还是BLUE厉害哦。确实可以。
|
|
13楼#
发布于:2002-06-27 11:39
请问大侠:
我用DriverWorks的Driver Wizard编写了不同的WDM程序,可是得到的Class GUID是相同的,这好象不对吧!这是为什么呢? 我在Win98下的WDM程序安装这样编程的两个WDM程序,安装不上,是不是与Class GUID有关,前面一个朋友告诉我删除注册表里的前一个WDM程序的内容,我想如果编写不同的WDM程序有不同的Class GUID号是不是可以不要删除前一个WDM程序了吗? 如果我要使不同的WDM有不同GUID号,我应该在什么地方改动呢? 我还有一个问题: 我删除了前一WDM的程序注册表中的东西,我对注册表不熟悉,现在我想恢复眼来删除之前的注册表内容,我该怎么办呢? |
|
14楼#
发布于:2002-06-27 12:57
class guid 在向导中会有一项显示guid的数据,你可以在那里面改,
至于注册表,win98可以从起后直接进入dos模式下,键入scanreg/restore,选中你认为没有被破坏的注册表,就可以的啦,如果guid相同,你也可以在资源管理器中直接选中设备,在属性中重新安装驱动程序即可,win2k我忘了怎么恢复了,不过印象中也可以,好像更简单,winme中直接有这样的工具. |
|
15楼#
发布于:2005-03-23 16:31
又长见识了。
|
|
|
16楼#
发布于:2005-03-26 14:36
我在往上拷贝到一个叫HelloWDM的雏形程序,对于里面的makefile文件和INF文件应该怎么用啊,是直接拷贝到.cpp文件下吗?还有调试的环境怎么设置啊。是不是在VC下编译再到DDK的调试环境下去测试啊,谢谢指点!
|
|
17楼#
发布于:2005-03-28 17:18
我在往上拷贝到一个叫HelloWDM的雏形程序,对于里面的makefile文件和INF文件应该怎么用啊,是直接拷贝到.cpp文件下吗?还有调试的环境怎么设置啊。是不是在VC下编译再到DDK的调试环境下去测试啊,谢谢指点! 我也想请教一下这个makefile 的问题! |
|