[Version]
节
任何
INF
文件的第一个小节均是
[Version]
,又称为
INF
文件头。一般有如下语句:
[Version]
Signature=“$Chicago$” LayoutFile=filename.inf
其中,
Signature
的值应为
“$Chicago$”
、
“$Windows 95$”
或
“$Windows NT$”
中的一个
(
不区分大小写
)
,否则
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]
节内只能出现一次,第二次及以后出现的同名重复入口将被忽略。每类入口的等号右侧可罗列多个节名,节名之间以逗号分开,以便列举同一类动作的不同作用对象,如删除多个注册表键、拷贝文件到多个目录路径等。
下表是各类入口的动作含义,具体语法本文不做细述
:
在实际编写 INF 文件时,注册表根键通常采用缩写方式,如下表:
|
Re:编写INF文件进行文件安装(2) |
[DestinationDirs]节 [DestinationDirs]节指定拷贝、重命名或删除文件三类动作的目的目录路径,拷贝、重命名或删除操作对象即文件的列表在专门的节中列出,这些节名最初在“Install”的CopyFiles、RenFiles或DelFiles入口中明确。 [DestinationDirs]节内语句的语法为: file-list-section=LDID,[Subdir] [DefaultDestDir=LDID,[Subdir]] 其中file-list-section为必选项,是CopyFiles、RenFiles或DelFiles入口内列出的节名。 LDID(Logical disk identifier)为必选项,是逻辑盘标识码,代表各种系统或实时安装路径,逻辑盘标识码可看做一种宏字符串,随系统或实时安装路径的不同而相应改变。逻辑盘标识码机制确保了安装的灵活性和正确性,该标识码可为下表所述值之一: Subdir为可选项,指定LDID目录下的子目录名。 DefaultDestDir为可选项,指定CopyFiles、RenFiles或DelFiles入口的缺省操作目录。 [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为可选项,表明文件的大小,以字节为单位。 [Strings]节 [Strings]节定义一个或多个本地化字符串,或称字符串宏。尽管[Strings]节一般被放置在INF文件的末尾,字符串宏可在INF文件任何地方使用,安装引擎解释、展开字符串宏为给定的长字符串并做进一步处理。字符串宏在使用时需用百分号(%)括起。[Strings]节内语句的语法为: strings-key=value 其中strings-key为由字母或数字等可打印字符组成的宏名。 Value为被双引号括起的长字符串,字符串可由字母、数字或其他可打印字符组成。 |