㈥、[DestinationDirs] 节:指定硬盘上复制、删除或重命名节文件的位置(例如 \Windows 或 Windows\System)。
.INF 文件通过 [DestinationDirs] 节来指定操作的目标路径,语法如下:
[DestinationDirs] file-list-section =ldid[, subdir ] DefaultDestDir=ldid[, subdir ] |
[DestinationDirs] 节定义了 [file-list-section] 节中指定的操作(可以是 CopyFiles、 RenFiles 或 DelFiles 节)的目标目录。 DefaultDestDir命令可以为 .INF 文件中的任何没有明确在 [DestinationDirs] 节中命名的 CopyFiles、 RenFiles或 DelFiles节指定默认目标文件夹。
在 .INF 文件中,使用逻辑磁盘标识符 (LDID) 来表示路径,如下表:
逻辑磁盘标识符 (LDID) -1 绝对路径 00 Null LDID - 可用于创建新的 LDID 25 共享目录 51 假脱机目录 52 假脱机驱动程序目录 53 用户配置文件目录 54 Windows 2000 引导目录 55 打印处理器目录 16406 All Users\Start\Menu 16407 All Users\Start\Menu\Program 16408 All Users\Start\Menu\Program\Startup 16409 All Users\Start\Desktop 16415 All Users\Start\Favorites 16419 All Users\Start\Application Data 16422 Program Files 16427 Program Files\Common 16429 All Users\Templates 16430 All Users\Documents |
如示例01中,这行语句“VM.XPTWAIN.CopyFiles = 10, twain_32\VM301b”表明VM.XPTWAIN.CopyFiles这个文件列表中文件的目标路径是%windir%\system32\twain_32\VM301b,其中 10 代表Windows所在的文件夹,也就是说VM.XPTWAIN.CopyFiles这个文件列表(请看示例03)中文件VM31bTXP.DS在安装驱动的时候将会被复制到%windir%\system32\twain_32\VM301b文件夹。而这行“VM.Config.CopyFiles = 10, inf”,意思是config.set这个文件将会被复制到 10 下的inf文件夹,也就是%windir%\inf文件夹中。当然,他也可以写成“VM.Config.CopyFiles = 17”,效果是一样的。
;示例03 寒夜孤星 usbvm31b.inf 【华尔特F18型摄像头驱动】 。。。。。。 [VM.XPTWAIN.CopyFiles] [VM.Config.CopyFiles] 。。。。。。 |
㈦、[Strings] 节:定义并列出上面所使用的可本地化字符串。
如果某个特定的字符串会在 .INF 文件中频繁地出现,那么在此节中为它们定义一个字符串变量将会是个好选择。
尽管 [Strings] 节一般被放置在 .INF 文件的末尾,字符串宏可在 .INF 文件任何地方使用,安装引擎解释、展开字符串宏为给定的长字符串并做进一步处理。字符串宏在使用时需用百分号(%)括起。
[Strings] 节内语句的语法为:
strings-key=value
其中strings-key为由字母或数字等可打印字符组成的宏名。
Value为被双引号括起的长字符串,字符串可由字母、数字或其他可打印字符(意思是可以使用汉字哦)组成。
例如示例01中,在 [Strings] 节中定义了 HwMfg="VM" 。而在 [Manufacturer] 节中便使用了%HwMfg%=VM,NT 。同时,HwMfg变量被用%括了起来。
㈦、[FileCopy/Delete/RenameSection(s)]
[CopyFiles]节,复制文件。
.INF 文件的[CopyFiles]节有一个唯一的名字,并从[DDInstall]节的CopyFiles指令引用它。该节中的每个项采用如下形式:
destination – filename[,source- filename,temp-filename,flag]
这里的destiantion-filename是最重要复制的目标文件名。如果源文件名不相同,必须规定source – filename。Temp-filename值不再适用(虽然 Windows 98仍然要求),它在系统再次引导之前规定新文件的临时文件名。对于Windows 2000等,忽略此值。
Falg 值规定对新目标文件的处理,其描述见下表 CopyFiles标志定义 。可以对falg值中的各个为进行“或”运算,以使多个操作起作用。几种操作是互斥的(例如,WARN_IF_SKIP和NOSKIP),有疑问时应当查阅有关文档。
因为[CopyFiles]节的项的语法没有包含一个可选项来规定源文件的磁盘或路径,必须使用其他 .INF 节[SourceDisksNames]和[SourceDisksFiles]。然而[CopyFiles]节中各项复制的文件由另一个.INF 节[DestiantionDirs]节指定。
CopyFiles标志定义
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
[DelFiles]节,删除文件。
[RenFiles]节,重命令文件。
㈧、[RegistryUpdateSection(s)] 节:指定在注册表中添加或删除的项目。节的名字是AddReg,DelReg。
[addreg]节,指定新的键和值。
一个INF文件的[AddReg]节被唯一命名,并从[DDInstall]节中的AddReg指令引用它。此节的目的是提供增加或者修改目标系统注册表中的项目。本节中每个项目采取如下形式:
这里的reg- root是注册表库(hive)之一的缩写。
| |
| |
| |
| |
| |
| |
值表示要被修改的注册表库。Subbkey值表示库底下的键名,在层次结构中子键用反斜线(\)字符隔开。例如,software\W2KdriverBook\Driver\Seting 是HKCU或者HKLM库的一个有效子键。
Value-name指定要增加或修改的注册表值。每个注册表键包含一个或多个值,保存不同类型的数据。注册表编辑器(Registy Editor)在右边面板中列出子键的值。值名和值数据同时在该面板中出现,左边面板只列出子键。
Flags指定数据保存的类型,flages可能的位置见下表所列:
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
[Delreg]节,删除的键和值。