Директива 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, на который ссылается раздел INF DefaultInstall.
Дополнительные сведения об драйверах, хранящихся в корневом каталоге HKEY_LOCAL_MACHINE , см. в разделах "Деревья реестра" и "Ключи" для устройств и драйверов.
вложенный ключ
Это необязательное значение, сформированное как маркер %strkey% , определенный в разделе Strings INF или в качестве пути реестра в заданном корневом каталоге reg-root (key1\key2\key3...), указывает одно из следующих элементов:
Вложенный ключ, который необходимо удалить из реестра в конце заданного пути реестра
Существующий подраздел, из которого необходимо удалить заданное имя-значение-запись
value-entry-name
Это значение определяет запись именованного значения, которая будет удалена из заданного подраздела. Это значение и его предыдущая запятая должны быть опущены, если сам подраздел удаляется из реестра.
флаги (Windows XP и более поздние версии Windows.)
Это необязательное шестнадцатеричное значение, выраженное в виде битовой маски ORed для системных значений низких слов и высоких значений флагов слов, определяет тип данных для записи значения или управляет операцией удаления реестра. Если флаги не указаны, будет удалено имя-значение -entry-name (если указано) или вложенный ключ .
Значения битовой маски для каждого из этих флагов приведены следующим образом:
0x00002000 (FLG_DELREG_KEYONLY_COMMON)
Удалите весь подраздел.
0x00004000 (FLG_DELREG_32BITKEY)
Внесите указанные изменения в 32-разрядный реестр. Если это не указано, изменения вносятся в собственный реестр.
0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
В записи реестра с несколькими строками удалите все строки, соответствующие строке, заданному значением. Регистр игнорируется.
значение (Windows XP и более поздние версии Windows.)
Указывает значение реестра, если флаги указывают, что требуется значение реестра.
Замечания
Директива DelReg может быть указана в любом из разделов, показанных в формальной инструкции синтаксиса выше. Эта директива также может быть указана в любом из следующих разделов INF-writer:
Раздел service-install-section или event-log-install , на который ссылается директива AddService в INF DDInstall. Раздел служб.
Раздел надстройки, на который ссылается директива AddInterface в INF DDInstall. Раздел интерфейсов.
Раздел install-interface- , на который ссылается INF InterfaceInstall32.
Как правило, INF-файл никогда не должен пытаться удалить вложенные ключи или записи значений в существующих подключах, которые были настроены системными компонентами или INF-файлами для других устройств. Цель раздела del-registry — очистить устаревшие сведения о реестре из предыдущей установки с помощью нового INF-файла, предоставленного тем же поставщиком.
Каждое имя раздела del-registry должно быть уникальным для INF-файла, но на него можно ссылаться директивами DelReg в других разделах того же INF. Каждое имя раздела должно соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.
В версиях операционной системы до Windows XP единственным способом удаления ключа является указание следующего:
reg-root-string, subkey
Для Windows XP и более поздних версий Windows также разрешено (указать 32-разрядный реестр):
reg-root-string, subkey,,0x4000
Примеры
В этом примере показано, как установщик класса ПОРТОВ COM/LPT, предоставленный системой, удаляет устаревшие сведения о портах COM из реестра.
[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