Update .ini Fields 节 (UpdateIniFields)
[ update-inifields-section-name ]
ini-file, ini-section, profile-name, [old-field], [new-field],[flags]
.
.
在给定 .ini 项的值中,替换、添加和删除字段。与 Update .ini File 节类型不同,此节的类型将替换、添加或删除 .inf 文件条目中的部分值,而不是全部值。节名 update-inifields-section-name 必须出现在 .inf 文件 Install 节的 UpdateIniFields 项目中。关于指定 .ini 文件名的详细信息,请参阅说明 Update .ini File 节类型的主题。
ini-section
包含要更改条目的 .ini 文件节名。
profile-name
要更改条目的名称。
old-field
要删除的“字段”值。
new-field
要添加原来没有的字段值。
flags
指定是否处理 old-field 和 new-field 参数,例如是否能有通配符或在 .inf 文件末尾添加新字段时使用何种分隔符。可以是以下这些值中的任意值:
值 意义
0 (默认值)字段匹配时,逐字处理 "*" 字符,而不将它当作通配符。将新字段添加到条目中时,使用空格 (" ") 作为分隔符。
1 字段匹配时,将 "*" 字符当作通配符处理。将新字段添加到条目中时,使用空格 (" ") 作为分隔符。
2 字段匹配时,逐字处理 "*" 字符,而不将它当作通配符。将新字段添加到条目中时,使用逗号 (",") 作为分隔符。
3 字段匹配时,将 "*" 字符当作通配符处理。将新字段添加到条目中时,使用逗号 (",") 作为分隔符。
删除 .ini 文件行中的任何注释,因为在更改后这些字段可能不再适用。处理 .inf 文件行的字段时,使用空格、制表符和逗号作为字段分隔符。但是在新字段添加到这一行时,将使用空格作为分隔符。
返回到文件开始处
Add Registry 节 (AddReg)
[ add-registry-section]
reg-root-string, [subkey], [value-name], [flag], [value]
[reg-root-string, [subkey], [value-name], [flag], [value]]
.
.
将子项或值名添加到注册表,可以有选择地设置它的值。add-registry-section 名必须显示在 Install 节的 AddReg 类项目中。
reg-root-string
注册表根名。可以是以下值之一:
HKCR 与 HKEY_CLASSES_ROOT 相同
HKCU 与 HKEY_CURRENT_USER 相同
HKLM 与 HKEY_LOCAL_MACHINE 相同
HKU 与 HKEY_USERS 相同。
HKR 意味着与传递到 GenInstallEx 的关键值有关。
subkey
是可选的。标识要设置的子项。形式为 key1可以将该参数表示为可替代字符串。例如可以使用%Subkey1%,在 .inf 文件的 Strings 节中定义要替代 %Subkey1% 的字符串。
value-name
可选。标识 subkey 的值名。对于字符串类型,如果 value-name 参数为空,那么在 subkey 参数中指定的子项值将设置为 NULL 字符串。请注意,可以将 value-name 参数表示为可替代字符串。例如,可以使用 %Valname1%,在 .inf 文件的 Strings 节定义替换 %Valname1% 的字符串。
flag
可选。确定值的类型,以及如果注册表项已经存在,是否需要替换注册表项。
值 意义
0 (默认) 值为 ANSI 字符串。如果存在,则替换注册表项。
1 值为十六进制数。如果存在,则替换注册表项。
2 值为 ANSI 字符串。如果存在,不替换注册表主项。
3 值为十六进制数。如果存在,不替换注册表主项。
value-name
可选。设置值。它可以是 ANSI 字符串、十六进制符号或 Intel 格式的数字。包含二进制值的任何项目都可以用反斜线 (\) 符号扩展。也可以给出 %strkey% 形式的字符串主项。必须在 .inf 文件的 Strings 节中定义 strkey。要在该行中使用字符 %,请使用 %%。
至少需要两个字段;但是一个可以是空的。因此使用该形式时至少需要一个逗号。
在 AddReg-type 节的以下示例中,有两个项目将两个值名添加到注册表中。注意 %25% 将扩展到计算机的 Windows 文件夹中。
[MyAppRegEntries]
HKLM,Software\MyApp,ProgramName,,"My Application"
HKLM,Software\MyApp,"rogram Location",,"%25%\MyApp.exe"
返回到文件开始处
Delete Registry 节 (DelReg)
[ del-registry-section]
reg-root-string, subkey, [value-name]
[reg-root-string, subkey, [value-name]]
.
.
从注册表删除子项或值名。del-registry-section 名必须出现在 Install 节的 DelReg 项目中。
reg-root-string
注册表根名。可以是以下值之一:
HKCR 与 HKEY_CLASSES_ROOT 相同
HKCU 与 HKEY_CURRENT_USER 相同
HKLM 与 HKEY_LOCAL_MACHINE 相同
HKU 与 HKEY_USERS相同。
HKR 意味着与传递到 GenInstallEx 的关键值有关。
subkey
标识要删除的子项。形式为 key1\key2\key3...。可以将该参数表示为可替代字符串。例如可以使用 %Subkey1%,在 .inf 文件的 Strings 节中定义要替代 %Subkey1% 的字符串。
value-name
可选。标识 subkey 的值名。请注意,可以将 value-name 参数表示为可替代字符串。例如,可以使用 %Valname1%,在 .inf 文件的 Strings 节定义替换 %Valname1% 的字符串。
该节的类型可以包含任何数量的项目。每个项目都从注册表中删除一个子项或值名。
Ini File to Registry 节 (Ini2Reg)
[ ini-to-registry-section]
ini-file, ini-section, [ini-key], reg-root-string, subkey[,flags]
.
.
将行和节从.ini 文件移动到注册表,在注册表中给定的主项下创建或代替注册表项。节名 ini-to-registry-section 必须出现在 .inf 文件 Install 节的 Ini2Reg 项目中。
ini-file
包含要复制注册表项的 .ini 文件名。关于指定 .ini 文件名的详细信息,请参阅关于 Update .ini File 节的参考主题。
ini-section
包含要复制注册表项 .inf 文件中的节名。
ini-key
要复制到注册表的 .inf 文件中的注册表项名。如果 ini-key 为空,则将整节转换为指定的注册表项。
reg-root-string
注册表根名。可以是以下值之一:
HKCR 与 HKEY_CLASSES_ROOT 相同
HKCU 与 HKEY_CURRENT_USER 相同
HKLM 与 HKEY_LOCAL_MACHINE 相同
HKU 与 HKEY_USERS相同。
HKR 意味着与传递到 GenInstallEx 的关键值有关。
subkey
标识要接收该值的子项。形式为 key1\key2\key3...。
flags
指示转换为注册表后是否删除 .ini 主项,以及如果注册表主项已存在,是否覆盖注册表中的值。可以是以下值之一:
值 意义
0 (默认值)将条目中的信息移到注册表后不从 .ini 文件中删除 .ini 条目。如果注册表子项已存在,则不替换当前值。
1 将条目中的信息移到注册表后从 .ini 文件中删除 .ini 条目。如果注册表子项已存在,则不替换当前值。
2 将条目中的信息移到注册表中后不从 .ini 文件中删除 .ini 条目。如果注册表子项已存在,则用 .ini 文件条目的值替换当前值。
3 将条目中的信息移到注册表后从 .ini 文件中删除 .ini 条目。如果注册表子项已存在,则用 .ini 文件条目的值替换当前值。
例如,假设在 Win.ini 文件中存在以下条目: [Windows]
CursorBlinkRate=15
如果在 Control Panel\Desktop 下不存在 CursorBlinkRate 子项,那么 Ini File to Registry 节中的下列项目将创建子项,并把它的值设置为 15,而且不更改 WIN..ini 中原有的行:
win.ini,Windows,CursorBlinkRate,HKCU,"Control Panel\Desktop"
如果注册表子项已存在,则 .inf 文件项目将注册表子项的值设置为 15,并且不更改 WIN..ini 中原有的行。
Update Config.sys 节 (UpdateCfgSys)
[update-config-section]
Buffers=legal-dos-buffer-value
DelKey=key
DevAddDev=driver-name,configkeyword[,flag][,param-string]
DevDelete=device-driver-name
DevRename=current-dev-name,new-dev-name
Files=legal-dos-files-value
PrefixPath=ldid[,ldid]
RemKey=key
Stacks=dos-stacks-values
提供命令,添加、删除或重命名 Config.sys 文件中的命令。节名 update-config-section-name 必须出现在 .inf 文件 Install 节的 UpdateConfigSys 项目中。
并不是前面所列语法中的所有项目类型都是必需的。Update Config.sys 节可以根据需要包含 DevRename、DevDelete、DevAddDev、DelKey 和 RemKey,但是在一节中只能使用项目 Buffers、Files 和 Stacks 一次。处理 Update Config.sys 节时,安装程序将先处理所有的 DevRenames 项目,然后处理所有的 DevDelete 项目,最后处理所有的 DevAddDev 项目。可在 Update Config.sys 节中使用的每种项目的语法和意义将在显示在后面的主题中。
Buffers 项目
Buffers=legal-dos-buffer-value
设置文件缓冲区的数目。与 Stacks 项目一样,安装程序比较现有值与建议值,然后将文件缓冲区设置为两者中的较大者。
legal-dos-buffers-value
合法的 MS-DOS 缓冲区值。
DelKey 项目
DelKey=key
在 Config.sys 文件中对带有指定主项的 Config.sys 命令加以注释。例如,下列 .inf 文件项目中:
DelKey=Break
在 Config.sys 文件中对 Break=on 命令加以注释。
DelKey 项目和 RemKey 项目有相同的效果。在 .inf 文件的节中可以有多个 DelKey 和/或 RemKey 项目。
key
对 Config.sys 命令的主项加以注释。
DevAddDev 项目
DevAddDev=driver-name,configkeyword[,flag][,param-string]
将 device 或 install 命令添加到 CONFIG.SYS 文件中。
driver-name
要添加驱动器或可执行文件的名称。 安装程序将核实文件扩展名,确保扩展名是 .sys 或 .exe。
configkeyword
命令名。可以是设备或安装程序。
flag
可选的位置标志。如果是 0,将命令放在文件末尾。如果是 1,则放在顶端。如果没有给定标志,则默认为 0。
param-string
可选的命令参数。对给定的设备驱动程序或可执行文件必须有效。
DevDelete 项目
DevDelete=device-driver-name
从 Config.sys 文件中删除包含指定文件名的任何行。
device-driver-name
文件名或设备驱动程序名。安装程序在 Config.sys 文件中搜索此名称,并删除包含该名称的任何命令行。因为 MS-DOS 不允许在 Config.sys 文件中省略文件扩展名,所以每个 device-driver-name 都必须明确指定文件扩展名。
下例中,Update Config.sys 节的以下DevDelete 项目将删除命令的第 1 行和第 3 行,但不删除 Config.sys 示例文件的第 2 行:
DevDelete=filename.sys
;; lines in Config.sys
Device=Filename.sys ;; line #1
Install=Filename.exe ;; line #2
Device=Filename.sys /d:b800 /I:3 ;; line #3
DevRename 项目
DevRename=current-dev-name,new-dev-name
重命名 Config.sys 文件中的设备驱动程序。
current-dev-name
要更改的设备驱动程序或可执行文件的名称。安装程序将在 Config.sys 文件中查找 device 或 install 命令右边的名称。
new-dev-name
驱动程序或可执行文件的新名称。
Files 项目
Files=legal-dos-files-value
在 Config.sys 文件中设置可打开文件的最大数目。与 Stacks 项目一样,安装程序比较现有值和建议值,然后将可打开的最多文件数设置为两者中的较大者。
legal-dos-files-value
合法的 MS-DOS 文件值。
PrefixPath 项目
PrefixPath=ldid[,ldid]
将与给定的 LDID 相关的路径附加到路径命令中。
ldid
可以是任何预定义 LDID 值或在 .inf 文件中定义的新值。关于所有预定义 LDID 值的定义,请参阅 DestinationDirs 节的“参考”主题。
RemKey 项目
RemKey=key
可在 Config.sys 文件中使用指定主项对 Config.sys 命令加以注释。例如,下列 .inf 文件项目中:
RemKey=Break
在 Config.sys 文件中对 Break=on 命令加以注释。
RemKey 项目和 DelKey 项目具有相同的效果。在 .inf 文件的节中可以有多个 RemKey 和/或 DelKey 项目。
key
对 Config.sys 命令的主项加以注释。
Stacks 项目
Stacks=dos-stacks-values
在 Config.sys 文件中设置堆栈的数量和大小。安装程序会比较现有值与建议值,然后把堆栈设置为两者中的较大者。例如,如果 Config.sys 文件包含 stacks=9,218,并且 .inf 文件包含 stacks=5,256,那么安装程序会把新值设置为 stacks=9,256。
legal-dos-stacks-value
合法的 MS-DOS 堆栈值。