Compartir a través de


Directiva INF UpdateInis

Precaución

A partir de Windows 11 versión 22H2, un paquete de controladores que usa esta directiva ya no es apto para una firma del Centro para desarrolladores de hardware.

Los paquetes de controladores universales y los controladores de Windows no pueden usar esta directiva.

Una directiva UpdateInis hace referencia a una o varias secciones con nombre, especificando un archivo INI desde el que se leerá una sección o línea determinada y se aplicará a un archivo INI existente con el mismo nombre en el equipo de destino. Opcionalmente, las modificaciones de línea a línea de y a dichos archivos INI se pueden especificar en la sección update-ini-section.

[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]...

Esta directiva casi nunca se especifica en archivos INF para la instalación en Windows, debido a la falta de necesidad de archivos INI. Sin embargo, la directiva UpdateInis es válida en cualquiera de las secciones que se muestran en la instrucción de sintaxis formal, así como en las secciones definidas por INF-writer a las que hace referencia una directiva AddInterface o se hace referencia en una sección InterfaceInstall32 .

Cada sección con nombre a la que hace referencia una directiva UpdateInis tiene el siguiente formato:

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

Una sección update-ini puede tener cualquier número determinado por INF-writer de entradas, cada una en una línea independiente.

Entries

ini-file
Especifica el nombre de un archivo INI proporcionado en el medio de origen y, implícitamente, el del archivo INI que se va a actualizar en el equipo de destino. Este valor se puede expresar como un nombre de archivo o como un token %strkey% que se define en una sección Strings del archivo INF.

ini-section
Especifica el nombre de la sección dentro del archivo INI especificado. Si se especifican los dos valores siguientes, esta sección contiene una entrada que se va a cambiar. Si se omite una entrada anterior, pero se proporciona una entrada new-ini , la nueva entrada se agregará a medida que se lea esta sección.

old-ini-entry
Este valor opcional especifica el nombre de una entrada en la sección ini especificada, normalmente expresada en el siguiente formato:

"key=value"

Tanto la clave como el valor se pueden expresar como tokens %strkey% definidos en una sección Strings del archivo INF. El asterisco (*) se puede especificar como comodín para la clave o el valor.

new-ini-entry
Este valor opcional especifica un cambio en una entrada anterior determinada o la adición de una nueva entrada. Este valor se puede expresar de la misma manera que old-ini-entry.

flags
Este valor opcional controla la interpretación de la entrada anterior o new-ini-entry dada. La entrada flags puede ser uno de los siguientes valores numéricos :

Valor Significado
0 Este es el valor predeterminado de la entrada flags si se omite.

Si la clave antigua de entrada anterior está presente en los archivos INI, reemplace esa clave=valor por la entrada new-ini dada. Solo las claves de los archivos INI deben coincidir. Se omite el valor correspondiente de cada clave de este tipo.

Para agregar una entrada new-ini al archivo INI de destino incondicionalmente, omita el valor old-ini-entry de la entrada de la sección update-ini de la INF.

Para eliminar una entrada anterior del archivo INI de destino incondicionalmente, omita el valor new-ini-entry .
1 Si la entrada anterior anterior (key=value) existe en los archivos INI, reemplácela en el archivo INI de destino que tiene la entrada new-ini dada. Tanto la clave como el valor de la entrada antigua especificada deben coincidir con las de los archivos INI para que se realice este reemplazo, no solo sus claves como para el valor de marcas anterior.
2 Si no se encuentra la clave especificada para la entrada anterior en el archivo INI de destino, no haga nada. De lo contrario, los cambios realizados dependen de las coincidencias que se encuentran en los archivos INI para las claves especificadas de la entrada antigua y de la entrada new-ini, como se indica a continuación:

(1) Si la clave de la entrada anterior existe en los archivos INI, pero así lo hace la clave de la entrada new-ini, reemplace el old-ini-entry por la entrada new-ini en el archivo INI de destino y, a continuación, quite la entrada new-ini superfluous de ese archivo INI.

(2) Si la clave de la entrada ini antigua existe en los archivos INI, pero la clave de la entrada new-ini no lo hace, reemplace la clave old-ini-entry por la de la entrada new-ini en el archivo INI de destino, pero deje el valor de old-ini-entry sin cambios.
3 Si no se encuentra la clave y el valor especificados para la entrada ini antigua en los archivos INI, no haga nada. De lo contrario, los cambios realizados dependen de las coincidencias que se encuentran en los archivos INI para las claves y valores especificados de la entrada anterior y new-ini-entry, como se indica a continuación:

(1) Si el valor key=value de la entrada ini antigua existe en los archivos INI, pero así lo hace el valor key=value de la new-ini-entry, reemplace el old-ini-entry por el new-ini-entry en el archivo INI de destino y, a continuación, quite la entrada new-ini-entry superfluosa de ese archivo INI.

(2) Si el valor key=value de la entrada ini antigua existe en los archivos INI, pero la entrada new-ini no lo hace, reemplace la entrada old-ini por la new-ini-entry en el archivo INI de destino, pero deje el valor de old-ini-entry sin cambios.

Comentarios

Un nombre de sección update-ini determinado debe ser único dentro del archivo INF y debe seguir las reglas generales para definir los nombres de sección. Para obtener más información sobre estas reglas, consulte Reglas generales de sintaxis para archivos INF.

El INF proporciona la ruta de acceso completa del archivo ini especificado en el medio de distribución de una de las maneras siguientes:

  • En los archivos INF proporcionados por IHV/OEM, mediante las secciones SourceDisksNames y SourceDisksFiles de este INF para especificar explícitamente la ruta de acceso completa de cada archivo de origen con nombre que no está en el directorio raíz (o directorios) en el medio de distribución.

  • En los archivos INF proporcionados por el sistema, proporcionando uno o varios archivos INF adicionales, identificados en la entrada LayoutFile en la sección Versión del archivo INF.

Cualquier nombre de archivo especificado dentro de una entrada anterior o new-ini-entry debe designar el directorio de destino que contiene ese archivo. Dicha ruta de acceso de directorio de destino de un nombre de archivo en una entrada update-ini-section debe especificarse como dirid. Para obtener listas de posibles valores dirid , consulte Uso de Dirids.

Consulte también

AddInterface

ClassInstall32

DDInstall

DestinationDirs

Ini2Reg

InterfaceInstall32

ProfileItems

SourceDisksFiles

SourceDisksNames

Cadenas

UpdateIniFields

Versión