Раздел INF DDInstall

Каждый раздел DDInstall для моделей содержит необязательную директиву DriverVer и одну или несколько директив, ссылающихся на дополнительные именованные разделы в INF-файле, как показано здесь с наиболее часто заданными директивами INF, CopyFiles и AddReg, перечисленными первым.

В разделах, на которые ссылаются эти директивы, содержатся инструкции по установке файлов драйверов и написанию всех сведений, относящихся к устройству и (или) драйверам, в реестр.

[install-section-name] | 
[install-section-name.nt] | 
[install-section-name.ntx86] | 
[install-section-name.ntia64] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64] | (Windows XP and later versions of Windows)
[install-section-name.ntarm] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64] (Windows 10 version 1709 and later versions of Windows)

[DriverVer=mm/dd/yyyy[,x.y.v.z]]
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...] (Windows XP and later versions of Windows)
[AddReg=add-registry-section[,add-registry-section]...]
[AddProperty=add-property-section[,add-property-section]...] (Windows Vista and later versions of Windows)
[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]...]
[DelProperty=del-property-section[,del-property-section]...] (Windows Vista and later versions of Windows)
[FeatureScore=featurescore]... (Windows Vista and later versions of Windows)
[BitReg=bit-registry-section[,bit-registry-section]...]
[LogConfig=log-config-section[,log-config-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...] (Windows 2000 and later versions of Windows)
[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]...]
[ExcludeID=device-identification-string[,device-identification-string]...]... ((Windows XP and later versions of Windows)
[Reboot]

Записи

Не все допустимые записи поддерживаются в универсальном inf. В следующих списках перечислены, какие директивы допустимы в универсальном INF и которые не являются.

Поддерживается в универсальном inf

DriverVer=mm/dd/yyyy[,x.y.v.z]
Эта необязательная запись указывает сведения о версии пакета драйверов.

Сведения об указании этой записи см. в директиве INF DriverVer.

CopyFiles=@filename | file-list-section[,file-list-section] ...
Эта директива указывает один именованный файл, копируемый из исходного носителя в место назначения, или ссылается на один или несколько разделов, определенных inf-writer, в которых файлы, относящиеся к устройству, на исходном носителе указываются для передачи в место назначения. Директива CopyFiles является необязательной, но присутствует в большинстве разделов DDInstall .

Запись DefaultDestDir в разделе DestinationDirs INF указывает назначение для копирования любого отдельного файла. Разделы SourceDisksNames и SourceDisksFiles или дополнительный INF-файл, указанный в записи LayoutFile раздела version этого INF,укажите расположение на носителе дистрибутива файлов драйверов.

Дополнительные сведения см. в директиве INF CopyFiles.

CopyINF=filename1.inf[,filename2.inf]...
(Windows XP и более поздние версии) Эта директива приводит к копированию указанных INF-файлов в целевую систему.

Дополнительные сведения см. в директиве INF CopyINF.

AddReg=add-registry-section[,add-registry-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в которых новые подразделы, возможно, с начальными записями значений, записываются в реестр или в которых изменяются записи значений существующих ключей.

Спецификация HKR в таком разделе надстройки указывает путь реестра "раздел программного обеспечения" для устанавливаемого устройства.

Дополнительные сведения см. в директиве INF AddReg.

AddProperty=add-property-section[,add-property-section]...
(Windows Vista и более поздние версии) Ссылается на один или несколько разделов INF-файла, которые изменяют свойства устройства , заданные для экземпляра устройства. Следует использовать директиву INF AddProperty только для задания свойства экземпляра устройства, которое является новым для Windows Vista или более поздних версий операционных систем Windows.

Для свойств экземпляра устройства, появившихся ранее в Windows Server 2003, Windows XP или Windows 2000 и имеющих соответствующие значения записи реестра, следует продолжать использовать директивы INF AddReg , чтобы задать свойства экземпляра устройства. Эти рекомендации применяются к системным свойствам и настраиваемым свойствам. Дополнительные сведения об использовании директивы AddProperty см. в разделе "Использование директивы INF AddProperty" и директивы INF DelProperty.

Include=filename1.inf[,filename2.inf]...
Эта необязательная запись указывает один или несколько дополнительных системных INF-файлов, содержащих разделы, необходимые для установки этого устройства и (или) драйвера. Если указана запись, обычно это запись "Требуется ".

Например, INF-файлы для драйверов устройств, которые зависят от поддержки потоковой передачи ядра системы, могут указать эту запись следующим образом:

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

Needs=inf-section-name[,inf-section-name]...
Эта необязательная запись указывает разделы в предоставленных системой INF-файлах, которые должны обрабатываться во время установки этого устройства. Как правило, такой именованный раздел — это DDInstall (или DDInstall).xxx) раздел в одном из INF-файлов, перечисленных в записи Include. Однако это может быть любой раздел, на который ссылается такой DDInstall или DDInstall.Xxx раздел включенного INF.

Например, INF-файлы для драйверов устройств с предыдущей записью Include могут указать следующую запись:

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

FeatureScore=featurescore

Предупреждение

Директива FeatureScore обрабатывается только при указании непосредственно в разделе [DDInstall] .

(Windows Vista и более поздние версии) Эта директива предоставляет дополнительный критерий ранжирования для драйверов, основанных на функциях, поддерживаемых драйвером. Например, оценки функций могут быть определены для класса установки устройства , который различает драйверы на основе критериев, относящихся к классу.

Дополнительные сведения о ранжированных драйверах см. в разделе "Ранжированные драйверы Windows" (Windows Vista и более поздние версии).

Дополнительные сведения об этой директиве см. в директиве INF FeatureScore.

Примечание

Хотя раздел DDInstall может содержать несколько записей FeatureScore , для раздела обрабатывается только первая запись.

ExcludeID=device-identity-string[,device-identity-string]...

Предупреждение

Директива ExcludeID обрабатывается только при указании непосредственно в разделе [DDInstall] .

(Windows XP и более поздние версии) Эта директива задает одну или несколько строк идентификации устройств ( идентификаторы оборудования или совместимые идентификаторы). Раздел DDInstall не устанавливает устройства с идентификаторами устройств , которые соответствуют любому из указанных идентификаторов оборудования или совместимых идентификаторов.

Перезагрузка
Эта директива указывает, что вызывающий объект должен быть предложено перезагрузить систему после завершения установки.

Дополнительные сведения см. в директиве INF Reboot.

Не поддерживается в универсальном INF

Delfiles=file-list-section[,file-list-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в списке файлов в целевом объекте для удаления.

Дополнительные сведения см. в директиве INF DelFiles.

Renfiles=file-list-section[,file-list-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в которых перечисляются файлы, которые будут переименованы в назначение, прежде чем исходные файлы, относящиеся к устройству, будут скопированы на целевой компьютер.

Дополнительные сведения см. в директиве INF RenFiles.

DelReg=del-registry-section[,del-registry-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в которых ключи и/или записи значений указываются для удаления из реестра во время установки устройств.

Как правило, эта директива используется для обработки обновлений, когда INF-файл должен очистить старые записи реестра из предыдущей установки этого устройства.

Спецификация HKR в таком разделе удаления реестра обозначает путь реестра "раздел программного обеспечения" для устанавливаемого устройства.

Дополнительные сведения см. в директиве INF DelReg.

DelProperty=del-property-section[,del-property-section]...
(Windows Vista и более поздние версии) Ссылается на один или несколько разделов INF-файла, которые удаляют свойства устройства , заданные для экземпляра устройства. Директива INF DelProperty следует использовать только для удаления свойства экземпляра устройства, которое является новым для Windows Vista или более поздних версий Windows.

Для свойств экземпляра устройства, появившихся ранее в Windows Server 2003, Windows XP или Windows 2000 и имеющих соответствующие значения записей реестра, следует продолжать использовать директивы INF DelReg для удаления свойств экземпляра устройства. Эти рекомендации применяются к системным свойствам и настраиваемым свойствам. Дополнительные сведения об использовании директивы DelProperty см. в разделе "Использование директивы INF AddProperty" и директивы INF DelProperty.

BitReg=bit-registry-section[,bit-registry-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в которых изменяются существующие записи значений реестра типа REG_BINARY .

Спецификация HKR в таком разделе bit-registry указывает путь реестра "раздел программного обеспечения" для устанавливаемого устройства.

Дополнительные сведения см. в директиве INF BitReg.

LogConfig=log-config-section[,log-config-section]...
Эта директива ссылается на один или несколько разделов inf-writer в INF для устройства с корневым перечислением или для установленного вручную устройства. В этих именованных разделах INF для такого "обнаруженного" или вручную установленного устройства указывает одну или несколько логических конфигураций аппаратных ресурсов относительно шины, которые устройство должно работать. Inf для такого устройства, установленного вручную, которое не настраивается программным обеспечением, также должно иметь DDInstall. Раздел FactDef .

Директива LogConfig никогда не используется для установки устройств Plug and Play (PnP). Однако можно использовать раздел INF DDInstall.LogConfigOverride для предоставления конфигурации переопределения для устройств PnP.

Эта директива не имеет значения для всех драйверов и компонентов более высокого уровня (nondevice).

Дополнительные сведения см. в директиве INF LogConfig.

ProfileItems=profile-items-section[,profile-items-section]...
(Microsoft Windows 2000 и более поздних версий Windows) Эта редко используемая директива ссылается на один или несколько разделов, определенных inf-writer, которые описывают элементы для добавления или удаления из меню "Пуск".

Дополнительные сведения см. в директиве INF ProfileItems.

UpdateInis=update-ini-section[,update-ini-section]...
Эта редко используемая директива ссылается на один или несколько разделов, определенных inf-writer, указывая исходный INI-файл, из которого определенный раздел или строка в таком разделе должны быть считываются в целевой INI-файл с тем же именем во время установки. При необходимости в разделе update-ini можно указать изменения существующего INI-файла в назначении из заданного исходного файла INI с тем же именем.

Дополнительные сведения см. в директиве INF UpdateInis.

UpdateIniFields=update-inifields-section[,update-inifields-section]...
Эта редко используемая директива ссылается на один или несколько разделов, определенных inf-writer, в которых указываются изменения в строках файла INI для конкретного устройства.

Дополнительные сведения см. в директиве INF UpdateIniFields.

Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
Эта редко используемая директива ссылается на один или несколько разделов, определенных inf-writer, в которых разделы или строки из файла 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.

Комментарии

В документации по комплекту драйверов Windows (WDK) термин DDInstall используется для ссылки на имя раздела установки с расширениями платформы или без нее. Таким образом, "раздел DDInstall" означает "именованный раздел в INF, имеющий формат [install-section-name] или [install-section-name.nt]". При создании имен для разделов DDInstall необходимо включить префикс для конкретного устройства, например [WDMPNPB003_Device] или [GPR400. Install.NT].

Каждый раздел DDInstall должен быть указан в записи устройства или модели в разделе INF-моделей для каждого производителя INF-файла.

За исключением устройств, у которых нет связанных файлов для передачи с исходного носителя, INF-файл, устанавливающий драйвер WDM на разных платформах операционной системы, должен содержать по крайней мере один из следующих разделов DDInstall :

  • Раздел install-section-name.ntx86, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе x86.
  • Раздел install-section-name.ntia64, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе Itanium.
  • Раздел install-section-name.ntamd64, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе x64.
  • Раздел install-section-name.ntarm, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе Arm.
  • Раздел install-section-name.ntarm64, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе Arm64.
  • Раздел install-section-name или install-section-name.nt, указывающий записи для установок устройств или драйверов, которые не относятся к определенной аппаратной платформе.

Дополнительные сведения об использовании системных расширений .nt, NTX86, .ntia64, NTAMD64, NTARM И NTARM64 см. в разделе "Создание INF-файлов для нескольких платформ и операционных систем".

Начиная с Windows 2000, INF-файл, устанавливающий драйверы, должен содержать разделы DDInstall.Services для указания сведений о службе драйверов.

Каждая директива в разделе DDInstall может ссылаться на несколько имен разделов. Однако каждый дополнительный именованный раздел должен быть отделен от следующего с запятой (,).

Имя каждого раздела должно быть уникальным в INF-файле и должно соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе "Общие правила синтаксиса" для INF-файлов.

Предполагается, что любая директива AddReg , указанная в разделе DDInstall , ссылается на раздел реестра надстроек, который не может использоваться для хранения сведений о драйверах верхнего или нижнего фильтров, о многофункционных устройствах или о параметрах, зависящих от драйвера, но для конкретного устройства. Если INF-файл устройства или драйвера должен хранить эти сведения в реестре, он должен использовать директиву AddReg в нерасцененной и украшенной DDInstall. Разделы HW , если таковые имеются, для ссылки на другой раздел add-registry-defined INF-writer.

В зависимости от класса установки устройства , указанного в разделе INF Version, в разделе DDInstall можно указать дополнительные директивы для конкретного класса. Дополнительные сведения о директивах, относящихся к классам, см. в следующих разделах:

Примеры

В этом примере показано расширение разделов DDInstall , Ser_Inst и Inp_Inst. Эти разделы приведены в примере раздела INF Models.

[Ser_Inst]
CopyFiles=Ser_CopyFiles, mouclass_CopyFiles

[Ser_CopyFiles]
sermouse.sys

[mouclass_CopyFiles] ; section name referenced by > 1 CopyFiles
mouclass.sys

[Inp_Inst]
CopyFiles=Inp_CopyFiles, mouclass_CopyFiles

[Inp_CopyFiles]
inport.sys

В следующем примере показан раздел DDInstall INF-файла, который устанавливает предоставленный системой драйвер WDM для звукового устройства на различных платформах операционной системы:

[WDMPNPB003_Device.NT]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration.NT
CopyFiles=MSSB16.CopyList
AddReg=WDM_SB16.AddReg

В следующем примере показаны разделы, на которые ссылается предыдущая запись "Потребности" в файлах ks.inf и wdmaudio.inf . В предыдущем примере эти файлы указаны в записи Includes . Когда установщик устройств операционной системы обрабатывает имя install-section-name этого устройства. Также обрабатываются следующие два раздела.

[KS.Registration]
; following AddReg= is actually a single line in the ks.inf file
AddReg=ProxyRegistration,CategoryRegistration,\
    TopologyNodeRegistration,PlugInRegistration,PinNameRegistration,\
    DeviceRegistration 
CopyFiles=KSProxy.Files,KSDriver.Files

[WDMAUDIO.Registration.NT]
AddReg=WDM.AddReg
CopyFiles=WDM.CopyFiles.Sys, WDM.CopyFiles.Drv
;
; INF-writer-defined add-registry and file-list sections
; referenced by preceding directives are omitted here for brevity
;

См. также раздел

AddProperty

DDInstall. CoInstallers

DDInstall. FactDef

DDInstall. HW

DDInstall. Интерфейсы

DDInstall. LogConfigOverride

DDInstall. Услуги

DefaultInstall

DefaultInstall.Services

DelProperty

FeatureScore