关于 inf 文件Word文件下载.docx
《关于 inf 文件Word文件下载.docx》由会员分享,可在线阅读,更多相关《关于 inf 文件Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。
*规则一:
INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括起来。
这些节名有些是系统定义好的,有一些是用户自定义的。
每一个节名最长为255个字符(Windows2000/XP/2003操作系统中)或28个字符(Windows98操作系统中)。
节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。
*规则二:
在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="
$CHICAGO$"
”的形式组成的。
如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。
*规则三:
INF文件对大小写不敏感。
*规则四:
“;
”号后面的内容为注释。
*规则五:
如果一个条目的内容过多,在一行无法书写完全,则用“/”将一行内容书写为多行。
明白了INF文件的规则后,让我们一起来解剖INF文件的结构。
1.Version节 每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。
在该节中如果出现“signature="
”这样的条目则表示该INF文件适用于Windows98之后的所有操作系统,如果包含“signature="
$WindowsNT$"
”这样的条目则表示该INF文件适用于Windows2000/XP/2003操作系统,而且两者必具其一。
另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:
Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer(打印设备)、Image(图像捕获设备,如摄像头)。
2.Manufacturer节 该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。
如“%ATi%=ATi”指明设备的生产商为“ATi”,这个大家都不会陌生吧,是显卡的生产商。
3.SourceDisksNames节 该节主要指明安装文件所在的介质。
如:
“1="
ATiDriversReleaseCD"
”表明所有驱动程序都在零售版的CD盘上。
4.SourceDiskFiles节 驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。
如“atinbtxx.sys=1”,则你必须到[DestinationDirs]节去查看“1”具体代表那个位置。
5.DestinationDirs节 INF文件会指示安装程序在安装的过程中,将一些文件复制到硬盘上,或者将硬盘上的一些文件删除、重命名等。
该节即指定了为实现上述目的的文件所在的目的路径。
6.DefaultInstall节和Install节 在这一节中描述了设备驱动程序与硬件设备的实际属性。
默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。
7.String节 这一节中定义了字符串变量,当某些字符串频繁地出现在INF文件中,为简化输入,可以在该节中定义一个字符串变量,代表该字符串出现在INF文件中。
读懂INF文件 下面让我们以ATi显卡的用于WindowsXP的WDM驱动程序为例来说明一下INF文件的具体含义,由于INF文件往往很长,为了说明方便,我们删除了一些大部分的信息,仅保留一个INF文件的结构,如图1所示。
INF文件精彩实例 光说不练不行,下面让我们来看几个INF文件的典型应用。
1.打开“锁”定的注册表 第一步:
打开记事本程序,输入以下内容:
程序代码
[version] signature=”$chicago$” [defaultinstall] delReg=DeleteMe [DeleteMe] HKCU,“Software/Microsoft/Windows/CurrentVersion/Policies/System”,DisableregstryTools” HKLM,“Software/Microsoft/Windows/CurrentVersion/Policies/System”,DisableregstryTools”
输入完毕,另存为UNLOCK.INF,名字任取,扩展名必须是INF。
第二步:
在“UNLOCK.INF”文件上右键单击,在弹出的右键菜单中点选“安装”,如图2所示,被锁的注册表即会应声而开。
2.巧妙利用INF文件自动备份重要的文件 大家都知道,注册表是Windows操作系统的命根子,因此,系统启动时会自动运行注册表检查程序,自动更新备份注册表文件。
在系统盘的Windows目录中有一个“Scanreg.ini”,Scanregw.exe每天所执行的默认操作都是在它的控制下运行的,我们可以利用这一原理实现对我们重要文件的备份。
第一步:
打开资源管理器,找到该文件,用记事本程序打开它。
我们可以清楚地看到共有五个参数,如图所示。
(1)Backup这个参数值可为0或1,默认为1。
值为1表示在每天首次启动时扫描注册表,值为0表示不进行任何注册表操作。
(2)Optimize这个参数值可为0或1,默认为1。
值为1表示每次扫描注册表时删除注册表中的多余数据,从而优化注册表数据,值为0表示不进行删除操作。
(3)ScanregVersion=0.0001程序版本说明。
(4)MaxBackupCopies这个参数用来设置建立的备份文件的个数,值为5至99中的任一个数,默认值为5,即最大可建立五个备份文件,为更好的保护系统,一般来说设置10个左右为宜。
(5)BackupDirectory这个参数用来设置备份文件存放的目录,默认存放目录为Windows/Sysbckup,注意这里填写的必须是完整路径。
(6)Files在“Scanreg.ini”的最后有如下注释内容“;
Files=[dircode,]file1,file2,file3”,将其前面的注释符号“;
”去掉,你就可以自己DIY需要注册表检查程序备份的重要文件了。
默认情况下,注册表检查程序创建注册表备份文件时,会将“system.dat”、“system.ini”、“user.dat”和“win.ini”四个文件保存在“cab”压缩文件中,如果你需要将其他重要的系统配置文件添加到此压缩文件中,可在“Files=”后面输入“[目录代码],文件名1,文件名2,文件名3”,文件名之间以逗号相隔,目录代码含义如下:
10代表C:
/Windows目录 11代表C:
/Windows/System目录 30代表C盘根目录 31代表Windows系统所在盘的根目录 例如要把Autoexec.bat和Config.sys两个文件放到备份文件中,可设置参数为“File=30,config.sys,autoexec.bat”。
3.硬盘(U盘)也需个性化 第一:
给硬盘(U盘)DIY一个可爱的图标 我们首先将硬盘的生硬图标替换为我们喜欢的图标,给硬盘披上美丽的彩衣。
首先准备一图标文件,你可以用图标制作程序制作自己的图标文件,也可以使用现成的图标文件,最好是保存到硬盘某一个分区的根目录下。
接着打开记事本程序,录入以下内容:
[autorun] ICON=******.ICO 其中“******”是图标文件的路径及图标文件名,请自行修改为具体的图标文件的路径及图标文件名。
录入完毕,另存为“Autorun.inf”,并将其剪切到某一个你欲扮酷的分区的根目录下。
第二:
让硬盘能歌善舞 想不想当你双击了硬盘分区或是点右键选择右键菜单中的“自动播放”之后,如图3所示,就自动打开音乐播放程序,开始播放音乐文件,让动听的音乐时刻环绕在你的左右。
心动了吧,其实十分简单,ComeOn。
接着在“Autorun.inf”文件中录入以下内容:
OPEN=D:
/ProgramFiles/foobar2000/ foobar2000.exed:
/qs.fpl 其中“D:
/ProgramFiles/foobar2000/ foobar2000.exe”是笔者喜爱的播放器Foobar2000的具体位置,如果你用的是Winamp或其它的播放器,请替换为具体的播放器所在的位置,“d:
/qs.fpl”是Foobar2000播放器的播放列表文件,你也可以替换为某一个具体的音乐文件所在的路径。
如果你用的是Winamp则播放列表文件应是“*.m3u”。
利用此方法也可以设置当双击硬盘分区时自动播放影视文件。
4.无人值守安装Windows98 在Windows98安装光盘中有一个Batch工具,可以制作用于无人值守安装的脚本,即生成一个包含安装Windows98时需要和安装向导进行交互的各种信息的INF文件——Msbatch.inf。
首先找到位于Windows98安装光盘“/tools/reskit/batch”目录中的“setup”程序图标安装Batch98工具。
接着,运行Batch工具,按照向导提示生成“msbatch.inf”文件,并将该文件保存到软盘中。
具体的生成方法请参考有关资料,这里不再赘述。
当需要重新安装Windows98时,用启动盘进入到DOS提示符下,将保存有“msbatch.inf”文件的软盘插入软驱,将Windows98安装光盘插入光驱,在DOS提示符后键入如下命令:
“x:
/win98/setupa:
msbatch.inf”,回车后即可。
其中“X”为光驱和盘符。
5.将屏保请进右键菜单 当我们有事暂时离开一会儿,利用设有密码的屏幕保护程序可以保护我们当前的操作不被他人偷看。
但是,在默认的设置中,屏幕保护程序最快也要在1分钟以后才能够启动,那么怎样才能快速激活屏幕保护程序呢?
最常见的方法是在桌面上建立一个启动屏保的快捷方式,在需要时双击即可启动。
另外,我们还可以将屏保请进右键菜单!
打开记事本程序,录入以下内容:
[version] signature=”$chicago$” [defaultinstall] AddReg=AddMe [AddMe] HKCR,"
CLSID/{20D04FE0-3AEA-1069-A2D8-08002B30309D}/shell/pingbao"
,,"
屏幕保护"
HKCR,"
CLSID/{20D04FE0-3AEA-1069-A2D8-08002B30309D}/shell/pingbao/COMMAND"
ssstars.scr/S/"
%1/"
"
录入完毕,经检查无误后,另存为“PingBao.inf”,文件名可任取,扩展名必须是INF。
第二步:
在“PingBao.inf”文件上右键单击,在弹出的右键菜单中点选“安装”。
第三步:
当需要运行屏幕保护的时候,回到桌面上,在“我的电脑”图标上点击右键选择“屏幕保护”选项,如图4所示。
点击一下试试,是不是立即启动屏幕保护程序了。
注意:
其中的“ssstars.scr”为欲启动的屏幕保护程序的文件名,请用你喜欢的屏幕保护程序文件来替换;
如果你点选右键菜单中的“屏幕保护”选项后,没有反应即没有启动屏幕保护程序,请将文中的“/S/"
”修改为“/"
/S”即可。
6.将磁盘管理程序请进右键菜单 对磁盘进行定期的整理是我们经常要做的一项工作,每次都是按部就班地点击“开始→程序→附件→系统工具→磁盘碎片整理程序”,然后在弹出的选择驱动器窗口中选择要整理的分区,再点击“碎片整理”按钮开始整理。
这样比较麻烦,我们可以试一试将磁盘管理程序添加到右键菜单。
[version] signature=”$chicago$” [defaultinstall] AddReg=addMe [AddMe] HKCR,"
/Drive/shell/磁盘整理/command"
defrag.exe%1"
输入完毕,另存为AddDefrag.INF,名字任取,扩展名必须是INF。
在“AddDefrag.INF”文件上右键单击,在弹出的右键菜单中点选“安装”。
以后要进行磁盘整理,只需打开资源管理器,在相应的盘符上点右键,在弹出的右键菜单中选择“磁盘整理”即可(如图5)。
7.解决ATi显卡无法安装公版驱动的问题 有些第三方的ATi显卡无法安装公版的驱动程序,造成该问题的原因是多方面的,如有些第三方厂商在硬件上做了改动,采用了非公版的PCB设计和BIOS等,这都可能会导致无法安装公版驱动程序的情况发生。
当你的显卡遇到这个问题该怎么办呢?
首先将你下载的ATi显卡驱动程序解压缩到硬盘任一目录下,在“ATiDrive”子目录中找到会列出所有的inf文件,ATiixpxx.inf——适用于WindowsXP,ATii9xxx.inf——适用于Windows9x,ATii2kxx.inf适用于Windows2000。
接着打开操作系统对应的INF文件,通过菜单栏的编辑——查找功能,查找“ati.mfg”字符串,随后会看到“RADEON7000、RADEON7200、RADEON7500、RADEON8500”等条目信息,将其删除。
接着查找与你的显卡匹配的字符串,如笔者的RADEON7500显卡,就查找“RADEON7500”,找到如下信息:
“RADEON7500=ati2mtag_RV200,PCI/VEN_1002&
&
DEV_5157&
SUBSYS_013A1002”,将“&
SUBSYS_013A1002”删除,保存文件。
现在再试试,看问题是不是解决了。
8.在命令行下安装INF文件 通常情况下,我们都是在Windows环境下安装INF文件的,但是假如有一天,你需要在命令行运行INF文件该怎么办呢?
在命令行提示符后输入“rundll32syssetup,SetupInfObjectInstallActionDefaultInstall128INF文件所在的路径及文件名.inf”,回车后即可安装相应的INF文件。
返回目录
安装信息(SetupInformation)文件是Windows系统支持的一种安装信息存放文件,一般以INF作为扩展名,因此也叫INF文件。
安装信息INF文件与Windows内建的安装服务引擎(API函数库)紧密协同工作,基于其严格的编写语法制作而成的INF文件在拷贝、删除文件,增、删注册表键,更改系统设置等方面都有优秀的表现,完全可以用来实现应用程序文件安装的目标,而且价格免费,透明度高,安装程序小,可完全定制。
INF文件是文本文件,可在任何文本编辑器内查看、创建、修改,普通用户使用Windows系统本身提供的记事本、写字板即可进行文件安装脚本的编写。
INF文件安装动作的触发机制
在文件目录中用鼠标右击INF文件,会显示不同于其他扩展名文件的“安装”菜单。
Windows平台在计算机中完成初始安装后,就注册了INF文件的“安装”动作,此“安装”动作关联命令行程序基本形式为:
RunDllsetupx.dll,InstallHinfSectionsectionreboot-modeinf-name
如笔者目前正在使用的Windows98系统注册表中,HKEY_CLASSES_ROOT\inffile\install\
command键的默认值为(install即为安装):
C:
\WINDOWS\rundll.exesetupx.dll,InstallHinfSectionDefaultInstall132%1
其中,rundll程序以命令行的形式调用Windows的动态链接库,其命令格式为:
rundll.exe<
DLL文件名>
<
入口点>
调用参数>
setupx.dll是安装API(SetupAPI)函数库,包含了InstallHinfSection、SetupGetInfSections、SetupInstallFromInfSection、SetupPromptForDisk、SetupDiCreateDevRegKey等INF文件内部语法检查、节名搜索、注册键创建等功能函数。
setupx.dll与其后的入口点用逗号(,)分开,入口点是大小写敏感的。
Section是INF文件内初始执行节名,首先执行该节内容,默认情况下名称为“DefaultInstall”,系统用户一般不宜对此做任何改动,如被改动,则在后续INF文件的Install节使用相应修改后的名称。
reboot-mode是重启动参数,指示在INF文件执行后对系统的设置进行了改变,操作系统是否重新启动。
该参数一般设为132或4,即由安装程序决定是否必须重启动,因为某些设置的改变必须在重启动后才能生效。
inf-name是INF文件的名称,“%1”即为所选中文件本身。
INF文件内部节(Section)的定义
INF文件用特殊的文本文件格式编辑、保存,Windows内建的安装函数遵循既定的语法从INF文件内获取安装信息。
INF文件和初始化(或称私有化,PrivateFile)文件相似,采用节(Section)和入口(Entries)的索引机制,节和入口定义了所有操作类型及操作对象。
一个INF文件由不同类型的节组成,每类节都有其特殊的目的和不同的实现语法,每节的内容均服务于该节的目的。
除了基本的识别INF格式的“Version”节外,INF文件中节的数目和类型没有限制,主要取决于具体安装任务。
一个基本的INF文件,一般包含如下几节:
表中黑体节名是保留关键字,名称固定,大小写不敏感,斜体节名名称任意,由INF文件编写者确定。
每节的标题字符均用括号([])括起。
限于篇幅本文只对黑体节名做进一步的解释。
[Version]节
任何INF文件的第一个小节均是[Version],又称为INF文件头。
一般有如下语句:
[Version]
Signature=“$Chicago$”
LayoutFile=filename.inf
其中,Signature的值应为“$Chicago$”、“$Windows95$”或“$WindowsNT$”中的一个(不区分大小写),否则Windows不接受该文件为INF文件,内建的动作也就不会起作用。
filename.inf文件包含安装组件必需的安装布局信息(源盘和源文件),该行是可选的,如果没有提供布局信息文件,则在INF文件内必须包含[SourceDisksNames]和[SourceDisksFiles]节。
[Install]节
[Install]节提供了一个INF文件安装过程的总览,它识别文件内其他包含安装信息节的详细动作,是Windows内建安装函数识别安装过程和内容的真正入口,用户所有的安装目的在这里表现。
那些与[Install]节内容不存在关联的节的动作将被忽略。
[Install]节分[DefaultInstall]和[OtherInstall]两类,它们使用相同的格式。
[DefaultInstall]节节名“DefaultInstall”如前面表格内容所述被显式地在注册表中指定,大小写不敏感。
该节也是系统获取INF文件中安装信息的首要入口,当用户右击INF文件选“安装”时该节内容被执行。
[OtherInstall]与[DefaultInstall]节遵循相同的语法,但必须被显式地调用,常被用来定义反安装动作。
它们均可包括以下种类的可选入口:
CopyFiles=[CopyFiles-section-name]file-list-section[,file-list-section]
RenFiles=file-list-section[,file-list-section]
DelFiles=file-list-section[,file-list-section]
UpdateInis=update-ini-section[,update-ini-section]
UpdateIniFields=update-inifields-section[,update-inifields-section]
AddReg=add-registry-section[,add-registry-section]
DelReg=del-registry-section[,del-registry-section]
Ini2Reg=ini-to-registry-section[,ini-to-registry-section]
UpdateCfgSys=update-config-section
UpdateAutoBat=update-autoexec-section
上面的入口并非都必需,如果需要一个入口,则应该在等号右侧指出存在于该INF文件内的索引节名(不用指出节名的一个特例是CopyFiles入口,可使用“@”字符后跟文件名的形式,效果是直接将文件拷贝到DestinationDirs节所罗列的硬盘目录)。
节名需由可打印字符组成,在中文系统平台中,可使用中文字符作为节名,这也是体现INF格式安装本地化的地方,非常直观。
每类入口在一个[Install]节内只能出现一次,第二次及以后出现的同名重复入口将被忽略。
每类入口的等号右侧可罗列多个节名,节名之间以逗号分开,以便列举同一类动作的不