Директива INF DelReg

Внимание!

Если вы создаете универсальный пакет или пакет драйвера Windows, эта директива недопустима. См. статью Использование универсального INF-файла и начало работы с драйверами Windows.

Директива DelReg ссылается на один или несколько разделов, определенных inf-writer, описывающих ключи и (или) записи значений, которые необходимо удалить из реестра.

[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)
 
DelReg=del-registry-section[,del-registry-section]...

Каждый раздел del-registry, на который ссылается директива DelReg , имеет следующую форму:

[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...

Раздел del-registry может содержать любое количество записей, каждая из которых размещена в отдельной строке.

Записи

reg-root-string
Определяет корень дерева реестра для других значений, указанных в этой записи. Он может иметь одно из следующих значений:

HKCR
Сокращение HKEY_CLASSES_ROOT.

HKCU
Сокращение для HKEY_CURRENT_USER.

HKLM
Сокращение для HKEY_LOCAL_MACHINE.

HKU
Сокращение для HKEY_USERS.

HKR
Относительный корень, в котором ключи, указанные с помощью этой аббревиатуры, относятся к разделу реестра, связанному с разделом INF, в котором указана эта директива DelReg , как показано в следующей таблице.

Раздел INF, содержащий директиву AddReg Раздел реестра, на который ссылается HKR
Раздел INF DDInstall Программный ключ устройства
Inf DDInstall. Раздел HW Аппаратный ключ устройства
Inf DDInstall. Раздел "Службы" Ключ служб

Примечание

HKR нельзя использовать в разделе del-registry, на который ссылается раздел DefaultInstall INF.

Дополнительные сведения о драйвере, которые хранятся в корневом каталоге HKEY_LOCAL_MACHINE , см. в разделе Деревья и ключи реестра для устройств и драйверов.

Подраздел
Это необязательное значение, сформированное в виде токена %strkey%, определенного в разделе Strings inf или в виде пути реестра в заданном корневом каталоге реестра (key1\key2\key3...), указывает одно из следующих значений:

  • Подраздел, удаляемого из реестра в конце заданного пути реестра

  • Существующий подраздел, из которого необходимо удалить заданное значение-entry-name.

value-entry-name
Это значение определяет запись именованного значения, удаляемую из заданного подраздела. Это значение и предыдущая запятая должны быть опущены, если сам подраздел удаляется из реестра.

флаги (Windows XP и более поздние версии Windows).
Это необязательное шестнадцатеричное значение, выраженное в виде битовой маски ORed, определяемой системой значений низких слов и флагов высоких слов, определяет тип данных для записи значения или управляет операцией удаления реестра. Если флаги не указаны, параметр value-entry-name (если он указан) или подраздел будут удалены.

Ниже приведены значения битовой маски для каждого из этих флагов.

0x00002000 (FLG_DELREG_KEYONLY_COMMON)
Удалите весь подраздел.

0x00004000 (FLG_DELREG_32BITKEY)
Внесите указанные изменения в 32-разрядный реестр. Если этот параметр не указан, изменения вносятся в собственный реестр.

0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
В записи реестра с несколькими строками удалите все строки, соответствующие строковом значению, указанному значением. Регистр не учитывается.

value (Windows XP и более поздние версии Windows).)
Указывает значение реестра, если флаги указывают, что значение реестра является обязательным.

Комментарии

Директиву DelReg можно указать в любом из разделов, показанных в инструкции формального синтаксиса выше. Эту директиву также можно указать в любом из следующих разделов, определенных inf-writer:

Как правило, inf никогда не должен пытаться удалить подразделы или записи значений в существующих подразделах, которые были настроены системными компонентами или INF-файлами для других устройств. Цель del-registry-section — очистка устаревших сведений о реестре из предыдущей установки с помощью нового INF-файла, предоставленного тем же поставщиком.

Имя каждого раздела del-registry должно быть уникальным для INF-файла , но на него могут ссылаться директивы DelReg в других разделах того же INF. Имя каждого раздела должно соответствовать общим правилам для определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для ФАЙЛОВ INF.

В версиях операционной системы, предшествующих Windows XP, единственный способ удалить ключ — указать следующее:

reg-root-string, subkey

Для Windows XP и более поздних версий Windows также разрешено следующее (для указания 32-разрядного реестра):

reg-root-string, subkey,,0x4000

Примеры

В этом примере показано, как предоставленный системой установщика класса портов COM/LPT INF удаляет из реестра устаревшие сведения о портах COM, относящиеся к NT.

[ComPort.NT]
AddReg=ComPort.NT.AddReg
 ... ; more directives omitted here

[ComPort.NT.HW]
DelReg=ComPort.NT.HW.DelReg

[Comport.NT.AddReg]
HKR,,EnumPropPages32,,"MSPorts.dll,SerialPortPropPageProvider"

[ComPort.NT.HW.DelReg]
HKR,,UpperFilters

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

AddReg

AddInterface

AddService

ClassInstall32

Установка DDInstall

DDInstall. HW

DDInstall. Услуги

InterfaceInstall32

Строки