INF UpdateIniFields 指令
UpdateIniFields 指令引用一个或多个已命名的部分,在这些部分中可以指定对 INI 文件行内的细化修改。
[DDInstall] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
UpdateIniFields=update-inifields-section[,update-inifields-section]...
UpdateIniFields 指令引用的每个命名部分的形式如下:
[update-inifields-section]
ini-file,ini-section,profile-name[,old-field][,new-field][,flags]
...
一个 update-inifields-section 可以有任意数量的 INF 编写器确定的条目,并且每个条目都在单独一行中。
条目
ini-file
指定源介质上提供的 INI 文件的名称,并隐式地指定目标计算机上要更新的 INI 文件的名称。 此值可以用 filename 表示,也可以用 %strkey% 标记表示,该标记在 INF 文件的 Strings 部分中定义。
ini-section
指定 INI 文件中包含要修改行的部分的名称。
profile-name
指定给定 INI 部分中要修改行的名称。 必须指定 old-field 和/或 new-field 条目中的至少一个,才能对该行进行修改。
old-field
指定给定行中的现有字段。 如果此节条目中省略了 new-field 字段,则会从给定行中删除该字段。 否则,给定的 new-field 值将取代此字段。
new-field
指定替换给定的 old-field 或(如果省略 old-field)添加到给定行。
flags
在第 0 位指定如何解释给定的 old-field 和/或 new-field(如果其中一个或两个字段都包含星号 (*)),和/或(在位 1)在给定行添加给定的 new-field 时使用哪个分隔符,如下所示:
Bit zero = 0
在 INI 文件指定行中搜索匹配项时,将指定的 old-field 和/或 new-field 条目中的星号 (*) 按字面解释,而不是作为通配符。 这是默认值。
Bit zero = 1
在 INI 文件指定行中搜索匹配项时,将指定的 old-field 和/或 new-field 条目中的星号 (*) 作为通配符解释。
Bit one = 0
在 INI 文件给定行中添加指定的 new-field 条目时,使用空格作为分隔符。 这是默认值。
Bit one = 1
在 INI 文件给定行中添加指定的 new-field 条目时,使用逗号 (,) 作为分隔符。
注解
在 Windows 上安装的 INF 文件中几乎从不指定 UpdateIniFields 指令,因为其分发介质上不需要 INI 文件。 但是,UpdateIniFields 指令在正式语法声明中显示的任何部分以及由 AddInterface 指令引用或在 InterfaceInstall32 部分中引用的 INF 编写器定义的部分中都有效。
每个 update-inifields-section 名称在 INF 文件中必须是唯一的。 每个 INF-writer-created 部分名称在 INF 文件中都必须唯一,并且必须遵循定义部分名称的一般规则。 有关这些规则的详细信息,请参阅 INF 文件的常规语法规则。
与 UpdateInis 指令引用的部分不同,UpdateIniFields 引用的部分是替换、添加或删除现有 INI 文件行中某一行的部分内容,而不是影响特定行的全部值。 每个部分条目中必须至少指定 old-field 和/或 new-field 值中的一个。
要修改的 INI 文件行中的任何注释都会被删除,因为根据本节进行修改后,这些注释可能不再适用。 在 INI 文件中查找行中的字段时,空格、制表符和逗号会被解释为字段分隔符。 但在一行中添加新字段时,默认分隔符是空格符。
INF 以下列方式之一提供给定 ini-file 在分发介质上的完整路径:
在 IHV/OEM 提供的 INF 文件中,使用该 INF 的 SourceDisksNames 和 SourceDisksFiles 部分,显式指定不在分发介质根目录(或多个目录)中的每个已命名源文件的完整路径。
在系统提供的 INF 文件中,提供一个或多个附加 INF 文件,这些文件在 INF 文件 Version 部分的 LayoutFile 条目中标识。