Поделиться через


Директива INF UpdateInis

Внимание

Начиная с Windows 11 версии 22H2 пакет драйвера, использующий эту директиву, больше не подходит для подписи из Центра разработчиков оборудования.

Пакеты универсальных драйверов и драйверы Windows не могут использовать эту директиву.

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

[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)

UpdateInis=update-ini-section[,update-ini-section]...

Эта директива почти никогда не указана в INF-файлах для установки в Windows из-за отсутствия необходимости в файлах INI. Однако директива UpdateInis действительна в любом из разделов, показанных в формальной инструкции синтаксиса, а также в разделах, определенных inf-writer, на которые ссылается директива AddInterface или на которые ссылается раздел InterfaceInstall32.

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

[update-ini-section]
 
ini-file,ini-section[,old-ini-entry][,new-ini-entry][,flags]
...

В разделе update-ini может быть любое количество записей, определяемых inf-writer, каждый из которых содержит отдельную строку.

Операции

ini-file
Указывает имя ФАЙЛА INI, предоставленного на исходном носителе, и, неявно, что файла INI, который необходимо обновить на целевом компьютере. Это значение может быть выражено как имя файла или как маркер %strkey% , определенный в разделе Strings в INF-файле.

ini-section
Указывает имя раздела в указанном файле INI. Если указаны следующие два значения, этот раздел содержит запись для изменения. Если старая запись ini не указана, но указана новая запись ini, будет добавлена новая запись, так как этот раздел считывается.

old-ini-entry
Это необязательное значение указывает имя записи в указанном ini-section, обычно выраженное в следующей форме:

"key=value"

Ключ и значение могут быть выражены как маркеры %strkey% , определенные в разделе Strings в INF-файле. Звездочка (*) может быть указана как подстановочная карточка для ключа или значения.

new-ini-entry
Это необязательное значение указывает изменение заданной старой записи или добавление новой записи. Это значение можно выразить так же, как и old-ini-entry.

flags
Это необязательное значение определяет интерпретацию заданной старой записи ini и /или new-ini-entry. Запись флагов может быть одним из следующих числовых значений:

Значение Значение
0 Это значение по умолчанию для записи флагов , если она опущена.

Если указанный старый ключ ini-entry присутствует в файлах INI, замените этот ключ=значение заданным new-ini-entry. Должны совпадать только ключи в файлах INI. Соответствующее значение каждого такого ключа игнорируется.

Чтобы добавить новую запись ini в целевой INI-файл безусловно, опустите старое значение ini-entry из записи в разделе update-ini в разделе INF.

Чтобы удалить старую запись ini из целевого INI-файла безоговорочно, опустите значение new-ini-entry .
1 Если заданная старая запись ini (key=value) существует в файлах INI, замените его в целевом файле INI, который имеет заданную запись new-ini. Ключ и значение указанной старой записи ini должны соответствовать значениям, указанным в файлах INI для такой замены, а не только их ключей, как для предыдущего значения флагов.
2 Если ключ, указанный для старой записи ini-entry, не найден в целевом INI-файле, не выполняйте никаких действий. В противном случае внесенные изменения зависят от совпадений, найденных в файлах INI для заданных ключей old-ini-entry и new-ini-entry, как показано ниже.

(1) Если ключ старой записи ini существует в файлах INI, но это делает ключ новой ini-entry, замените старый ini-entry на new-ini-entry на new-ini-entry в целевом INI-файле, а затем удалите лишний новый-ini-entry из этого INI-файла.

(2) Если ключ старой записи ini существует в файлах INI, но ключ новой ini-записи не делается, замените старый ключ ini-entry новым элементом ini-entry в целевом файле INI, но оставьте значение старой записи ini без изменений.
3 Если ключ и значение, указанные для старой записи ini-entry, не удается найти в файлах INI, не выполняйте никаких действий. В противном случае внесенные изменения зависят от совпадений, найденных в файлах INI для заданных ключей и значений old-ini-entry и new-ini-entry, как показано ниже.

(1) Если ключ=значение старой записи ini существует в файлах INI, но это делает ключ=значение новой ini-записи, замените старый ini-entry новым ini-entry на new-ini-entry в целевом inI-файле, а затем удалите из этого INI-запись из этого inI-файла.

(2) Если ключ=значение старой записи ini существует в файлах INI, но запись new-ini не делает, замените старую запись ini-entry на new-ini-entry в целевом файле INI, но оставьте значение старой записи ini без изменений.

Замечания

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

INF предоставляет полный путь к указанному ini-file на носителе распространения одним из следующих способов:

  • В IHV/OEM-файлах INF с помощью разделов SourceDisksNames и SourceDisksFiles этого INF явно укажите полный путь к каждому именованному исходному файлу, который не находится в корневом каталоге (или каталогах) на носителе распространения.

  • В системных INF-файлах, указав один или несколько дополнительных INF-файлов, указанных в записи LayoutFile в разделе "Версия " INF-файла.

Любое имя файла, указанное в старой записи ini-entry или new-ini-entry, должно указать целевой каталог, содержащий этот файл. Такой путь к каталогу назначения имени файла в записи update-ini-section должен быть указан в качестве переопределения. Список возможных значений диридов см. в разделе "Использование dirids".

См. также

AddInterface

ClassInstall32

DDInstall

DestinationDirs

Ini2Reg

InterfaceInstall32

ProfileItems

SourceDisksFiles

SourceDisksNames

Строки

UpdateIniFields

Версия