安装信息文件 (.inf) 定义 - Windows精简与定制技术 - 电脑技术交流 - 天空竞技场 - lucky8k.com
发新话题
打印

[推荐] 安装信息文件 (.inf) 定义

安装信息文件 (.inf) 定义

基本 [url=file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/Rar$EX00.969/HELP=popups.hlp%20TOPIC=_inf_files].inf 文件[/url]包含以下节(更加复杂的 .inf 文件可能有其他的节)。粗体表示的节名是保留关键字。斜体表示的节名是 .inf 作者创建的任意名称:

Version 节
Install 节
Copy File 节 (CopyFiles)
Rename Files 节 (RenFiles)
Delete Files 节 (DelFiles)
Update .ini File 节 (UpdateInis)
Update .ini Fields 节 (UpdateIniFields)
Add Registry 节 (AddReg)
Delete Registry 节 (DelReg)
Add Ini File to Registry 节 (Ini2Reg)
Update Config.sys 节 (UpdateCfgSys)
Update Autoexec.bat 节 (UpdateAutoBat)
DestinationDirs 节
SourceDisksNames 节
SourceDisksFiles 节
Strings 节
Optional Components 节

[Version] 用于确认 .inf 文件的基本版本信息。

[DefaultInstall] 默认情况下,会执行 Installation 节。包含指向其他节的指针,该节可用于指定要复制和删除的文件、[url=file:///C:/Documents%20and% 20Settings/Administrator/Local%20Settings/Temp/Rar$EX00.969/HELP=popups.hlp%20TOPIC=gls_registry]注册表[/url]的更新、.inf 文件的更新等。

[OtherInstall] 使用与 [DefaultInstall] 节相同的格式,但是必须明确地调用。有助于定义组件卸载方式。

[DestinationDirs] 指定在硬盘上复制、删除或重命名节文件的位置(例如 \Windows 或 Windows\System)

[FileCopy/Delete/RenameSection(s)] 列出要复制、删除或重命名的文件。

[RegistryUpdateSection(s)] 指定在注册表中添加或删除的项目。

[IniFileUpdateSection(s)] 指定 .ini 文件的更新。链接将在该节中创建。

[SourceDisksNames] 列出包含文件的磁盘。

[SourceDisksFiles] 列出每个文件所在的特定磁盘。

[Strings] 列出上面所使用的可本地化字符串。

TOP

Version 节
Signature="$Chicago$"
LayoutFile=filename.inf
定义所有 Windows .inf 文件的标准头信息。注意如果签名不是 $Chicago$,Windows 不会把 .inf 文件当作 Windows 识别的任何设备类型的 .inf 文件接受。
注意签名字符串的识别不会区分大小写。例如,既可以用$Chicago$,也可以用$CHICAGO$。
filename.inf
对包含安装该组件所需布局信息(源盘和文件)的 .inf 文件加以命名。该行是可选的。如果未在别处给出,SourceDisksNames 和 SourceDisksFiles 节必须在该 .inf 文件中给出。
下面显示的是一个典型的 Version 节示例:
[Version]
Signature="$CHICAGO$" Install 节[install-section-name] Copyfiles = 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 文件中的其他节。
在 Install 节中,以上语法中所显示的项目类型并不全是必需的。如果已经使用某一项目类型,则必须在 .inf 文件中指定该节的名称。(CopyFiles 条目是例外,它可以使用文件名搭配 "@" 字符来复制单个文件,而不用指定节名。)节名必须由可打印字符组成。
在任何一个 Install 节中,只能使用一种类型的项目。一个项目中可以列出多个节名,但是在每个附加名称前必须有逗号。
install-section-name
如果命名 Install 节 [DefaultInstall],当右键单击 .inf 文件,然后单击“安装”时,它将运行。这也是选择 .inf 文件作为使用 Cabpack 向导的安装选项时会执行的节。
下面显示的是一个典型的 Install节示例。它包含 Copyfiles和 AddReg项目,这两个项目可以识别包含要安装哪些文件的信息的节。
[MyApplication]
Copyfiles=MyAppWinFiles, MyAppSysFiles, @SRSutil.exe
AddReg=MyAppRegEntries 请注意,在该示例中,通过将 [MyApplication] 节重命名为 [DefaultInstall],右键单击 .inf 文件并单击“安装”命令时,将执行 Install 节。
CopyFiles 项目提供了一个特殊符号,允许直接从复制行复制单个文件。可以通过在文件名前加上 @ 符号作为前缀来复制单个文件。使用该符号的复制文件的目标目录为 DefaultDestDir,该目录在 DestinationDirs节中定义。下面显示的是如何复制单个文件的示例:
CopyFiles=FileSection1,@myfile.txt,@anotherfile.txt,LastSectionName

file42、file52 和 file62),必须在 SourceDisksNames 节中定义 SourceDisksFiles 节中显示的逻辑盘号。

TOP

发新话题