INF DefaultInstall 部分

注意

如果要生成 通用驱动程序包,则仅当具有体系结构修饰(例如 [DefaultInstall.NTAMD64])时,此部分才有效。

注意

INF 中使用 DefaultInstallManufacturer 部分将导致通用 INF 验证失败,并可能导致安装行为不一致。 请参阅 使用通用 INF 文件

如果用户在选择并按住 INF 文件名后选择“安装”菜单项,或者右键单击 (INF 文件名) ,则会访问 INF 文件的 DefaultInstall 部分。 在Windows 10版本 1903 及更高版本的 Windows 上,如果具有 DefaultInstall 的 INF 满足基元驱动程序的要求,则可以在许多驱动程序包 API 中使用。

[DefaultInstall] | 
[DefaultInstall.nt] | 
[DefaultInstall.ntx86] | 
[DefaultInstall.ntia64] | (Windows XP and later versions of Windows)
[DefaultInstall.ntamd64] | (Windows XP and later versions of Windows)
[DefaultInstall.ntarm] | (Windows 8 and later versions of Windows)
[DefaultInstall.ntarm64] (Windows 10 version 1709 and later versions of Windows)
 
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...]
[AddReg=add-registry-section[,add-registry-section]...]
[Include=filename1.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[Delfiles=file-list-section[,file-list-section]...]
[Renfiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...]
[BitReg=bit-registry-section[,bit-registry-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...]
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
[RegisterDlls=register-dll-section[,register-dll-section]...]
[UnregisterDlls=unregister-dll-section[,unregister-dll-section]...] ...

并非所有有效的条目在 通用 INF 中都受支持。 下面列出了哪些指令在通用 INF 中有效,哪些指令无效。

在通用 INF 中受支持

CopyFiles=@filename | file-list-section[file-list-section] ...
此可选指令指定要从源介质复制到目标的一个命名文件,或者引用一个或多个 INF 编写器定义的部分,这些节指定要从源媒体传输到目标的文件。

INF 的 DestinationDirs 节中的 DefaultDestDir 条目指定要复制的任何单个文件的目标。 SourceDisksNamesSourceDisksFiles 部分,或在此 INF 版本部分的 LayoutFile 条目中指定的其他 INF,提供驱动程序文件的分发媒体上的位置。

有关详细信息,请参阅 INF CopyFiles 指令

CopyINF=filename1.inf[filename2.inf]...
(Windows XP 和更高版本的 Windows.) 此指令会导致将指定的 INF 文件复制到目标系统。

有关详细信息,请参阅 INF CopyINF 指令

AddReg=add-registry-section[add-registry-section]...
此指令引用一个或多个 INF 编写器定义的部分,这些节中的新子项(可能具有初始值条目)被指定写入注册表或在其中修改现有键的值条目。

有关详细信息,请参阅 INF AddReg 指令

Include=filename1.inf[filename2.inf]...
此可选条目指定一个或多个系统提供的附加 INF 文件,其中包含安装此设备和/或驱动程序所需的部分。 如果指定了此项,则通常为 “需要 ”条目。

例如,依赖于系统内核流式处理支持的设备驱动程序的系统 INF 文件指定此项,如下所示:

Include= ks.inf,kscaptur.inf,ksfilter.inf

Needs=inf-section-name[inf-section-name]...
此可选条目指定系统提供的 INF 文件中在安装此设备期间必须处理的部分。 通常,此类命名节是 DDInstall (或 DDInstallxxx) 包含 条目中列出的某个 INF 文件中的节。 但是,它可以是此类 DDInstall 或 DDInstall 中引用的任何部分包含的 INF 的 xxx 节。

例如,具有上述 Include 条目的设备驱动程序的 INF 文件指定此项,如下所示:

Needs= KS.Registration,KSCAPTUR.Registration.NT,MSPCLOCK.Installation

在通用 INF 中不受支持

Delfiles=file-list-section[file-list-section]...
此指令引用一个或多个 INF 编写器定义的节,其中列出了要删除的目标上的文件。

有关详细信息,请参阅 INF DelFiles 指令

Renfiles=file-list-section[file-list-section]...
此指令引用一个或多个 INF 编写器定义的部分,其中列出了在目标上重命名的文件,然后将与设备相关的源文件复制到目标计算机。

有关详细信息,请参阅 INF RenFiles 指令

DelReg=del-registry-section[del-registry-section]...
此指令引用一个或多个 INF 编写器定义的部分,在这些节中指定了要在设备安装期间从注册表中删除的键和/或值项。

有关详细信息,请参阅 INF DelReg 指令

BitReg=bit-registry-section[bit-registry-section]...
此指令引用一个或多个 INF 编写器定义的部分,其中修改 了REG_BINARY 类型的现有注册表值条目。 有关详细信息,请参阅 INF AddReg 指令

有关详细信息,请参阅 INF BitReg 指令

ProfileItems=profile-items-section[profile-items-section]...
此指令引用一个或多个 INF 编写器定义的部分,这些节描述要添加到“开始”菜单或从“开始”菜单中删除的项。

有关详细信息,请参阅 INF ProfileItems 指令

UpdateInis=update-ini-section[update-ini-section]...
此很少使用的指令引用一个或多个 INF 编写器定义的节,指定源 INI 文件,在安装过程中,此类节中的特定节或行将读取到同名的目标 INI 文件中。 (可选)可以从同名的指定源 INI 文件对目标上的现有 INI 文件进行逐行修改,可以在 update-ini 节中指定。

有关详细信息,请参阅 INF UpdateInis 指令

UpdateIniFields=update-inifields-section[update-inifields-section]...
此很少使用的指令引用一个或多个 INF 编写器定义的部分,其中指定了特定于设备的 INI 文件的行中的修改。

有关详细信息,请参阅 INF UpdateIniFields 指令

Ini2Reg=ini-to-registry-section[ini-to-registry-section]...
此很少使用的指令引用一个或多个 INF 编写器定义的部分,其中,源媒体上提供的特定于设备的 INI 文件中的节或行将移动到注册表中。

有关详细信息,请参阅 INF Ini2Reg 指令

RegisterDlls=register-dll-section[register-dll-section]...
此指令引用一个或多个 INF 部分,用于指定属于 OLE 控件且需要自注册的文件。

有关详细信息,请参阅 INF RegisterDlls 指令

UnregisterDlls=unregister-dll-section[unregister-dll-section]...
此指令引用一个或多个 INF 部分,用于指定属于 OLE 控件且需要自注销 (自删除) 的文件。

有关详细信息,请参阅 INF UnregisterDlls 指令

注解

DefaultInstall 节不得用于设备安装。 仅将 DefaultInstall 节用于安装类筛选器驱动程序、文件系统筛选器和内核驱动程序服务,这些驱动程序与设备节点 (devnode) 。

如果在 Windows 10 版本 1903 及更高版本的 Windows 上使用 DefaultInstall,建议 INF 文件满足基元驱动程序的要求。

注意

如果要对 驱动程序包 进行数字签名,则具有 “制造商 ”部分的驱动程序包的 INF 文件不得包含 INF DefaultInstall 节。 有关对驱动程序包进行签名的详细信息,请参阅 驱动程序签名

注意

DDInstall 节不同, DefaultInstall 节不能包含 DriverVerLogConfig 指令。

若要从设备安装应用程序安装DefaultInstall 部分,请使用对 InstallHinfSection 的以下调用:

InstallHinfSection(NULL,NULL,TEXT("DefaultInstall 132 path-to-inf\infname.inf"),0); 

有关如何使用系统定义的 .nt.ntx86.ntia64.ntamd64.ntarm.ntarm64 扩展的详细信息,请参阅 为多个平台和操作系统创建 INF 文件

示例

以下示例演示典型的 DefaultInstall 部分:

[DefaultInstall]
CopyFiles=MyAppWinFiles, MyAppSysFiles, @SRSutil.exe
AddReg=MyAppRegEntries

另请参阅

DDInstall

DriverVer

LogConfig