乐哈哈旅游视频网:

INF语法规则

INF文件的语法解说--转
[ wfpb 发表于 2007-3-29 11:51:00 ]
INF文件的语法解说

INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。


INF的功能

1 复制文件、删除文件、或重新命名文件。
2 新增或删除注册表(Registry)中的项目。
3 修改重要的系统设置文件(如 Autoexec.bat、Config.sys、.INI 等)

INF的规则

INF是纯文本文件,它是分节的,这点和INI文件类似,每节以"[]"扩起来,每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都由=分开,如a="b"。如果每一个条目的等号后有多个值,则每一个值之间用","号分隔开。INF对大小写不敏感,行注释语句命令是";",类似VB里的'。如果一行写不下,使用""来换行。

INF的运行

.INF文件是由Windows的SetupAPI解释执行的脚本文件,它的运行过程很简单,是一种线性的执行,线性的意思就是.INF文件的运行过程不存在分支语句,也就是没有条件语句,一旦开始执行,就是沿着固定的路线运行。它的运行是按照节为单位来执行的,从某一个[Install]节开始执行,从上到下执行该节中的条目,如果该条目是一个节,那么就一条条执行子节中的条目,如此递归执行。在WINDOW上运行只要右击这个文件,点击安装即可。

INF的语法结构

;指定版本和签名节
[VERSION]
;系统根据Signuture看是不是适合当前版本,如果适合的话就执行,否则不执行,当然强制安装是可以的
;用于WIN9X
Signature="$CHICAGO$"
;WINNT+
;Signature="$Windows NT$"
;指定安装文件布局,该行是可选的,如果没有提供布局信息文件,则在INF文件内必须包含[SourceDisksNames]和[SourceDisksFiles]节
LayoutFile=filename.inf
[SourceDisksNames]节
[SourceDisksNames]节罗列源文件所在盘符序列码、盘描述符、盘卷标号和盘序列号。
[SourceDisksNames]节内语句的语法为:
disk-ordinal=“disk-description”,disk-label,disk-serial-number
其中disk-ordinal为必选项,是盘符序列码,标识一个源盘,具有惟一性,一般可设置为从1开始递增的整数,0不是一个有效的盘符序列码。当存在多个源盘时,盘符序列码之间不能重复。
disk-description为必选项,是盘描述符,用双引号括起的字符串或字符串宏描述盘的内容或目的。安装引擎将该字符串显示在对话框内以提示用户。
disk-label为源盘的卷标识。
disk-serial-number未使用,但必须被设置为0。
[SourceDisksFiles]节
[SourceDisksFiles]节指定安装时使用的源文件和盘符序列码、盘描述符。 [SourceDisksFiles]节内语句的语法为:
file-name=disk-number[,subdir] [,file-size]
其中file-name为必选项,是源盘上文件的名称。
disk-number是包含file-name指定文件所在源盘的盘符序列码,该盘符序列码需在[SourceDisksNames]节中列出,并大于或等于1。
Subdir为可选项,指定文件所在源盘的子目录,如省略则源盘为缺省安装路径。
file-size为可选项,表明文件的大小,以字节为单位。

[DestinationDirs]
;指定CopyFiles、RenFiles或DelFiles入口的缺省操作目录
;语法file-list-section=LDID,[Subdir]
;LDID列表如下:
;01 ;current directory
;04 ;backup directory
;10 ;windows directory
;11 ;system dir
;12 ;iosubsys
;13 ;command
;14 ;control panel directory
;15 ;printers directory
;16 ;workgrou dir
;17 ;inf dir
;18 ;help dir
;19 ;administration dir
;20 ;fonts
;21 ;viewers
;22 ;vmm32
;23 ;color dir
;25 ;shared dir
;26 ;winboot
;28 ;host winboot
;30 ;root of boot drive
;31 ;root of host drive of a virtual boot drive
;32 ;old windows dir if exists

;以下例子为安装到windowweb目录下
;DefaultDestDir=10,"web"
;[Install]节提供了一个INF文件安装过程的总览,它识别文件内其他包含安装信息节的详细动作,是Windows内建安装函数识别安装过程和内容的真正入口
[Install]
;[Install]节分[DefaultInstall]和[OtherInstall]两类
;[DefaultInstall]节节名DefaultInstall如前面表格内容所述被显式地在注册表中指定。
;该节也是系统获取INF文件中安装信息的首要入口,当用户右击INF文件选“安装”时该节内容被执行。
;[OtherInstall]与[DefaultInstall]节遵循相同的语法,但必须被显式地调用,常被用来定义反安装动作

;缺省安装节
[DefaultInstall]
;指明添加注册表的子节,等号后面的为自定义节名,例子见[add]节
ADDREG=add

;指明要删除的注册表子节,等号后面的为自定义节名
DELREG=del

;指明要要复制的文件子节,用于安装,Copyfiles命令可以替换系统正在访问的文件。这些功能通过普通的del和copy命令都无法实现
CopyFiles=cfile

;指明要要删除的文件子节,用于反安装,多个节以逗号隔开,该命令如果发现要删除的文件被锁定,就会把文件放到系统删除队列中排队
;等系统重启动的时候,该文件就自动被删除了
DelFiles=删除文件段
;[删除文件段]
;文件名列表
;例子:
;a.exe
;b.sys
;重命名文件段
;RenFiles=重命名文件段
;[重命名文件段]
;语法:
;[file-list-section]
;new-file-name,old-file-name
;file1,file2 ;修改文件名file1为file2

;更新INI文件段内容子节
UpdateInis = 更新INI文件段
;[更新INI文件段]
;ini-file, ini-section, [old-ini-entry], [new-ini-entry], [flags]
;ini-file 包含要更改条目的 .ini 文件名
;ini-section 包含要更改条目的节名
;old-ini-entry 可选,常用形式为 Key=Value
;new-ini-entry 可选,常用形式为
;Key=Value。flags 是可选操作标记
;例子
;%01%wincmd.ini, Configuration,,"InstallDir=%01%"
;%01%wincmd.ini, Configuration,,"Mainmenu=%01%LANGUAGETCExtMenu.mnu"
;更新ini文件值内容
updateinifield =
;ini文件更新注册表
ini2reg=aa.ini
;更新config.sys内容
updatecfgsys=更新autoexec.bat段
[更新autoexec.bat段]
;更新autoexec.bat内容
updateautobat=更新autoexec.bat段
[更新autoexec.bat段]

;定义资源节,像资源文件,调用时使用%REG_SZ%就代表了0x00000000
[Strings]
REG_SZ=0x00000000
REG_BINARY=0x00000001
REG_DWORD=0x00010001
;自定义添加注册表项的节
[add]
;注意格式:HKEY(根键缩写),Subkey(子键),Valuename(键值名),Type(键值类型),Value(键值)
;HKCU -> HKEY_CURRENT_USER
;HKCR -> HKEY_CLASSES_ROOT
;HKLM -> HKEY_LOCAL_MACHINE
;HKU -> HKEY_USERS
;HKU -> HKEY_USERS
;HKCC -> HKEY_CURRENT_CONFIG
;HKDD -> HKEY_DYN_DATA
;解禁注册表编辑器
HKCU,SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem,DisableRegistryTools,1,0
;解禁IE的Internet选项
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerRestrictions,NoBrowserOptions,1,0
;解禁IE的Internet选项里面的各个具体选项
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerRestrictions,NoBrowserOptions,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Settings,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,HomePage,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,GeneralTab,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Cache,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,History,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Colors,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Fonts,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Languages,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Accessibility,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,SecurityTab,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,SecChangeSettings,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,SecAddSites,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,ContentTab,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Ratings,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Certificates,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,CertifPers,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,CertifSite,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,CertifPub,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,FormSuggest,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,FormSuggest Passwords,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Wallet,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Profiles,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,ConnectionsTab,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Connection Wizard,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Connwiz Admin Lock,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Connection Settings,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Proxy,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,AutoConfig,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,ProgramsTab,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,ResetWebSettings,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Check_If_Default,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,AdvancedTab,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Advanced,1,0
;解禁下载(可单独使用)
HKCU,SoftwareMicrosoftWindowsCurrentVersionInternet SettingsZones3,1803,1,0
;自动修改IE标题栏文字、主页、搜索页等等
HKCU,SoftwareMicrosoftInternet ExplorerMain,Window Title,0,"Internet Explorer"
HKCU,SoftwareMicrosoftInternet ExplorerMain,Start Page,0,"http://www.20cn.net"
HKCU,SoftwareMicrosoftInternet ExplorerMain,Search Page,0,"http://www.20cn.net"
HKCU,SoftwareMicrosoftInternet ExplorerMain,Default_Page_URL,0,"http://www.20cn.net"
HKLM,SOFTWAREMicrosoftInternet ExplorerMain,Default_Search_URL,0,"http://www.20cn.net"
HKLM,SOFTWAREMicrosoftInternet ExplorerMain,Search Page,0,"http://www.20cn.net"
HKLM,SOFTWAREMicrosoftInternet ExplorerMain,Start Page,0,"http://www.20cn.net"
HKLM,SOFTWAREMicrosoftInternet ExplorerMain,Default_Page_URL,0,"http://www.20cn.net"
HKLM,SOFTWAREMicrosoftInternet ExplorerMain,Default_Page_URL,0,"http://www.20cn.net"

[dfile]
;该节定义了将要删除的文件列表,filename后面的1是一个标志,指明如果文件当前无法删除,就等到系统重启动后删除。
;格式:filename,,,1
;例子:
a.exe,,,1

  • 标签:inf
  • 揭开INF文件的神秘面纱
    [ wfpb 发表于 2007-3-29 12:19:00 ]
    INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。 安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。当我们通过“开始→控制面板→添加删除程序→Windows安装程序”来添加系统组件的时候,INF文件将会自动调用。而在其他场合下,则需要在INF文件上点击鼠标右键,然后选择“安装”,你才能顺利安装应用程序。  

      在C:/Windows/INF文件夹中存放有大量的INF文件。该文件夹一般处在隐含状态,如果你想查看该文件夹,可选择“查看→文件夹选项→查看”,然后在“文件和文件夹”选项下选择“显示所有文件”。

      解剖INF文件的结构

      INF文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。

      *规则一:INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。

      *规则二:在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="$CHICAGO$"”的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。

      *规则三:INF文件对大小写不敏感。

      *规则四:“;”号后面的内容为注释。

      *规则五:如果一个条目的内容过多,在一行无法书写完全,则用“\”将一行内容书写为多行。

      明白了INF文件的规则后,让我们一起来解剖INF文件的结构。

     1.Version节

      每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。

      另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer(打印设备)、Image(图像捕获设备,如摄像头)。

      2.Manufacturer节

      该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。如“%ATi%=ATi”指明设备的生产商为“ATi”,这个大家都不会陌生吧,是显卡的生产商。

      3.SourceDisksNames节

      该节主要指明安装文件所在的介质。如:“1="ATi Drivers Release CD"”表明所有驱动程序都在零售版的CD盘上。
    4.SourceDiskFiles节

      驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。如“atinbtxx.sys=1”,则你必须到[DestinationDirs]节去查看“1”具体代表那个位置。

      5.DestinationDirs节

      INF文件会指示安装程序在安装的过程中,将一些文件复制到硬盘上,或者将硬盘上的一些文件删除、重命名等。该节即指定了为实现上述目的的文件所在的目的路径。

      6.DefaultInstall节和Install节

      在这一节中描述了设备驱动程序与硬件设备的实际属性。默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。

      7.String节

      这一节中定义了字符串变量
    posted on 2008-02-11 12:57  riky  阅读(6198)  评论(0编辑  收藏  举报

    乐哈哈旅游视频网: