Imagen de título
Referencia

Definición del archivo de información para la instalación (.INF)

Un archivo básico .INF contiene las secciones siguientes; los archivos .INF más complejos pueden tener secciones adicionales. Los nombres de sección en negrita son palabras clave reservadas. Los nombres de sección en cursiva son nombres arbitrarios creados por el autor del archivo .INF:

[Version] Información elemental acerca de la versión para validar el archivo .INF.
[DefaultInstall] Sección relativa a la instalación que se ejecuta de forma predeterminada. Contiene punteros a otras secciones que especifican archivos para copiar y eliminar, actualizaciones del Registro, actualizaciones de archivos .INI, etc.
[OtraInstall] Usa el mismo formato que la sección [DefaultInstall], pero se debe llamar explícitamente. Resulta de utilidad para definir cómo se debe instalar un componente.
[DestinationDirs] Especifica el lugar en el disco duro donde los archivos de una sección se van a copiar, eliminar o cambiar de nombre; por ejemplo, \Windows o Windows\System.
[Secciones FileCopy, Delete o Rename] Enumera archivos que se van a copiar, eliminar o cambiar de nombre.
[Secciones RegistryUpdate] Especifica eliminaciones o adiciones al Registro.
[Secciones IniFileUpdate] Especifica actualizaciones de los archivos .INI. Los vínculos se crean en esta sección.
[SourceDisksNames] Enumera los discos que contienen los archivos.
[SourceDisksFiles] Enumera el disco determinado en el que se encuentra cada archivo.
[Strings] Enumera las cadenas convertibles a otros idiomas usadas anteriormente.
Volver al principio del archivo

Sección Version

[Version]
Signature="$Chicago$"
LayoutFile=nombre archivo.inf
Define el encabezado estándar para los archivos .INF de Windows. Tenga en cuenta que, si la firma (Signature) no es $Chicago$, Windows no aceptará el archivo como un archivo .INF para ninguna de las clases de dispositivo que Windows reconoce.

Observe que al reconocerse la cadena de la firma no se distinguen mayúsculas y minúsculas. Por ello puede usar tanto $Chicago$ como $CHICAGO$, por ejemplo.

nombre archivo.INF
Nombre del archivo .INF que contiene la información de distribución (archivos y discos de origen) necesaria para instalar este componente. Esta línea es opcional. Si no se proporciona en ningún otro lugar, las secciones SourceDisksNames y SourceDisksFiles se deben especificar en este archivo .INF.

En el ejemplo siguiente se muestra una sección Version común:

[Version]
Signature="$CHICAGO$"

Volver al principio del archivo

Sección Install

[nombre-sección-install]

Copyfiles = sección-lista-archivo[,<sección-lista-archivo>]...
Renfiles = sección-lista-archivo[,sección-lista-archivo]...
Delfiles = sección-lista-archivo[,sección-lista-archivo]...
UpdateInis = sección-update-ini[,sección-update-ini]...
UpdateIniFields = sección-update-inifields[,sección-update-inifields]...
AddReg = sección-add-registry[,sección-add-registry]...
DelReg = sección-del-registry[,sección-del-registry]...
Ini2Reg = sección-ini-to-registry[,sección-ini-to-registry]...
UpdateCfgSys = sección-update-config
UpdateAutoBat =sección-update-autoexec

Identifica las secciones adicionales del archivo .INF que contienen información acerca de la instalación del componente.

No todos los tipos de elemento mostrados en la sintaxis anterior son necesarios u obligatorios en una sección Install. Si se usa un tipo de elemento, debe especificar el nombre de una sección en el archivo .INF. (Una excepción es el elemento CopyFiles, que puede usar el carácter "@" junto con un nombre de archivo para copiar un único archivo sin especificar un nombre de sección.) El nombre de sección debe estar formado por caracteres imprimibles.

En una sección Install, sólo se puede usar un elemento de cada tipo. En un elemento puede enumerarse más de un nombre de sección pero cada nombre adicional debe ir precedido por una coma.

nombre-sección-install Si asigna el nombre [DefaultInstall] a la sección install, se ejecutará al hacer clic con el botón secundario del mouse (ratón) en el archivo .INF y seleccionar Install. Ésta también es la sección que se ejecuta al seleccionar un archivo .INF como la opción de instalación mediante el Asistente Cabpack.

En el ejemplo siguiente se muestra una sección Install típica. Contiene elementos Copyfiles y AddReg que identifican las secciones que contienen la información acerca de los archivos que se instalarán.

[MiAplicación]
Copyfiles=MiApliArchivosWin, MiApliArchivosSys, @SRSutil.exe
AddReg=MiAplicEntradasReg

En este ejemplo, observe que al cambiar el nombre de la sección [MiAplicación] a [DefaultInstall], la sección Install se ejecutará al hacer clic con el botón secundario del mouse en el archivo .INF y seleccionar Install.

El elemento CopyFiles proporciona una notación especial que permite que un único archivo se copie directamente desde la línea copy. Puede copiar un archivo individual si antepone al nombre de archivo el símbolo @. El destino de los archivos copiados con esta notación es el directorio DefaultDestDir, como se define en la sección DestinationDirs. En el ejemplo siguiente se muestra cómo copiar archivos individuales:

CopyFiles=SeccionArchivo1,@miarchivo.txt,@otroarchivo.txt,NombreUltimaSeccion

Volver al principio del archivo

Secciones Copy Files (CopyFiles)

[nombre-sección-CopyFiles]
nombre-archivo-destino[, nombre-archivo-origen][,nombre-archivo-temporal][,indicador][nombre-archivo-destino[,nombre-archivo-origen][, nombre-archivo-temporal]][,indicador]

Enumera los nombres de los archivos que se copiarán de un disco de origen a un directorio de destino. El disco de origen y el directorio de destino asociados con cada archivo se especifican en otras secciones del archivo .INF. El nombre sección-lista-archivo debe aparecer en el elemento CopyFiles de una sección Install.

Tenga en cuenta que puede especificar la copia de un único archivo en el elemento CopyFiles de la propia sección Install, sin tener que generar una sección CopyFiles. Para ello, use el carácter especial "@" para forzar la copia de un único archivo. Hay un ejemplo de utilización del carácter "@" en un elemento del tipo CopyFiles en el tema "Referencia" de la sección Install. La copia de un único archivo realizada de esta forma está algo limitada porque los nombres de archivos de origen y de destino deben ser el mismo en este caso y no se puede usar un archivo temporal.

nombre-archivo-destino
Nombre del archivo de destino. Éste será también el nombre del archivo de origen, si no se proporciona ninguno.

nombre-archivo-origen
Nombre del archivo de origen. Si los nombres de los archivos de origen y de destino para la operación de copia son los mismos, este elemento no es necesario.

nombre-archivo-temporal
Nombre de un archivo temporal para la operación de copia de archivos. El instalador copia el archivo de origen pero le da el nombre del archivo temporal. La próxima vez que se inicie el sistema operativo, cambiará el nombre del archivo temporal al del archivo de destino. Esto resulta de utilidad para copiar archivos a un destino que está abierto o que está usando Windows.

indicador
Parámetro opcional que se utiliza para realizar acciones especiales durante el proceso de instalación. Se pueden usar varios indicadores si se suman sus valores para crear un indicador combinado. Se pueden usar los siguientes indicadores válidos:

1 En CopyFiles: advertir si el usuario intenta omitir el archivo.
1 En DelFiles: si el archivo se está usando, incluir en una cola la eliminación para que se realice después en Wininit.ini. En otro caso, si un archivo se está usando actualmente no se eliminará.
2 Instalación crítica: no permitir al usuario que omita el archivo.
4 Pasar por alto la comprobación de la versión y copiar siempre el archivo. Esta operación sobrescribirá un archivo más reciente.
8 Forzar cambio de nombre. El programa de instalación trata este archivo como si se estuviera utilizando. Esto sólo sucede si el archivo ya existe en el equipo del usuario.
16 No copiar el archivo si ya existe en el destino.
32 Suprimir el cuadro de diálogo de conflicto de versión y no sobrescribir los archivos más recientes.

En el ejemplo siguiente se copian tres archivos:

[SeccCopiarEstosArchivos]
archivo11 ; se copia el archivo archivo11
archivo21, archivo22, archivo23 ; se copia el archivo22, se nombra temporalmente archivo23
archivo31, archivo32 ; se copia el archivo32 en el archivo31

Todos los nombres de archivo de origen de este ejemplo deben haberse definido en una sección SourceDisksFiles y los números de disco lógico que aparecen en la sección SourceDisksFiles deben haberse definido en una sección SourceDisksNames. También puede usar un archivo Layout.inf para proporcionar esta información.

Volver al principio del archivo

Secciones Rename Files (RenFiles)

[nombre-sección-rename-files]
nombre-archivo-nuevo, nombre-archivo-antiguo
.
.
Enumera los nombres de los archivos que se van a cambiar de nombre. El nombre de la sección debe aparecer en un elemento Renfiles de una sección Install del archivo .INF.

nombre-archivo-nuevo Nombre nuevo del archivo.

nombre-archivo-antiguo Nombre antiguo del archivo.

En el ejemplo siguiente se cambia el nombre de archivo42 a archivo41, archivo52 a archivo51 y archivo62 a archivo61:

[RenameOldFilesSec]
archivo41, archivo42
archivo51, archivo52
archivo61, archivo62

Todos los nombres de archivo que se utilizan en este ejemplo (archivo42, archivo52 y archivo62) deben definirse en una sección SourceDisksFiles y los números de disco lógico que aparecen en la sección SourceDisksFiles deben haberse definido en una sección SourceDisksNames.

Volver al principio del archivo

Secciones Delete Files (DelFiles)

[ sección-lista-archivo]
nombre-archivo[,,,indicador]
.
.
Una sección DelFiles enumera los nombres de los archivos que se van a eliminar. El nombre sección-lista-archivo debe aparecer en el elemento Delfiles de una sección Install.

nombre-archivo Identifica el archivo que se va a eliminar.

indicador
Parámetro opcional que se usa para forzar que Windows elimine el archivo especificado en el elemento si se está utilizando durante el proceso de instalación. Para indicar a Windows que introduzca en una cola la operación de eliminación de archivo hasta que se haya reiniciado el equipo, establezca el valor del parámetro indicador a 1. Si un archivo marcado con un parámetro indicador igual a 1 no se puede eliminar porque se está utilizando, se reiniciará el sistema una vez que se haya completado la instalación del dispositivo.

Si no usa el parámetro indicador con su valor establecido a 1 junto con un parámetro nombre-archivo, el archivo no se eliminará del equipo si se está utilizando cuando se ejecute la sección DelFiles.

En el ejemplo siguiente se eliminan tres archivos:

[SeccEliminarArchivosAntiguos]
archivo1
archivo2
archivo3

Volver al principio del archivo

Secciones Update .ini File (UpdateInis)

[ nombre-sección-update-ini]
archivo-ini, sección-ini, [entrada-ini-antigua], [entrada-ini-nueva], [indicadores]
.
.
Reemplaza, elimina o agrega entradas completas en el archivo .INI especificado. El nombre de la sección, nombre-sección-update-ini, debe aparecer en el elemento UpdateInis de una sección Install en el archivo .INF.

archivo-ini
Nombre del archivo .INI que contiene la entrada que se va a cambiar. Para obtener más información acerca de cómo especificar el nombre de archivo .INI, consulte los comentarios debajo.

sección-ini
Nombre de la sección que contiene la entrada que se va a cambiar.

entrada-ini-antigua
Opcional. Normalmente tiene el formato Clave=Valor.

entrada-ini-nueva
Opcional. Normalmente tiene el formato Clave=Valor. Tanto la clave como el valor pueden especificar cadenas reemplazables. Por ejemplo, la clave y el valor especificado en el parámetro entrada-ini-nuevapodría ser %Cadena1%, donde la cadena que sustituye a %Cadena1% se define en la sección Strings del archivo .INF.

indicadores
Indicadores de acción opcionales. Pueden ser uno de los valores siguientes:

0 Predeterminado. Si la clave entrada-ini-antigua está presente en una entrada de un archivo .INI, dicha entrada se reemplaza con la entrada-ini-nueva. Tenga en cuenta que sólo las claves del parámetro entrada-ini-antigua y la entrada del archivo .INF deben coincidir; el valor de cada entrada se pasa por alto.

Para agregar entrada-ini-nueva al archivo .INI incondicionalmente, establezca la entrada-ini-antigua a NULL. Para eliminar entrada-ini-antigua del archivo .INI incondicionalmente, establezca entrada-ini-nueva a NULL.

1 Si la clave y el valor de entrada-ini-antigua existen en una entrada del archivo .INI, dicha entrada se reemplaza con entrada-ini-nueva. Tenga en cuenta que el parámetro entrada-ini-antigua y la entrada del archivo .INF deben coincidir tanto en la clave como en el valor para que se realice la sustitución, a diferencia de lo que sucede si se utiliza un indicador de acción con el valor 0: en este caso sólo deben coincidir las claves para que se lleve a cabo la sustitución.
2 Si la clave del parámetro entrada-ini-antigua no existe en el archivo .INI, no se realiza ninguna operación en el archivo .INI.

Si la clave del parámetro entrada-ini-antigua existe en una entrada del archivo .INI y la clave del parámetro entrada-ini-nueva existe en una entrada del archivo .INI, la entrada del archivo .INI que coincida con la clave del parámetro entrada-ini-nueva se elimina y la entrada del archivo .INI que coincida con el parámetro entrada-ini-antigua se utiliza de la manera siguiente: la clave de la entrada del archivo .INI se reemplaza con la clave del parámetro entrada-ini-nueva.

Si la clave del parámetro entrada-ini-antigua existe en una entrada del archivo .INI y la clave del parámetro entrada-ini-nueva no existe en una entrada del archivo .INI, se agrega una entrada al archivo .INI compuesta por la clave del parámetro entrada-ini-nueva y el valor antiguo.

Tenga en cuenta que la coincidencia del parámetro entrada-ini-antigua y una entrada del archivo .INI se basa sólo en la clave, no en la clave y su valor.

3 Igual que lo que sucede con el valor 2 del parámetro indicador descrito anteriormente, excepto en que la coincidencia del parámetro entrada-ini-antigua y una entrada del archivo .INF se basa tanto en la clave como en el valor, no sólo en la clave.
Puede usar el carácter comodín asterisco (*) cuando especifique la clave y el valor, y se interpretará de forma correcta.

El nombre archivo-ini puede ser una cadena o una clave de cadena. Una clave de cadena tiene la forma %claveCad%, donde claveCad se define en la sección Strings del archivo .INF. En cualquier caso, el nombre debe ser un nombre de archivo válido.

Debe incluir el nombre de la carpeta que contiene el archivo, pero debe proporcionarse como un identificador de directorio lógico (LDID) en lugar de como un nombre real. El instalador reemplaza un LDID con un nombre real durante la instalación.

Un LDID tiene la forma %ldid%, donde ldid es uno de los identificadores predefinidos o un identificador definido en la sección DestinationDirs. Tenga en cuenta que, cuando se sustituyen las constantes LDID_BOOT y LDID_BOOTHOST, la barra diagonal inversa se incluye en la ruta de acceso. Por ejemplo, LDID_BOOT podría sustituirse por C:\. No obstante, en el archivo .INF puede usar el carácter barra inversa o no usarlo. Por ejemplo, tanto "%30%boot.ini" como "%30%\boot.ini" se pueden usar para hacer referencia a BOOT.ini en la raíz de la unidad de inicio.

Los ejemplos siguientes ilustran la utilización de elementos individuales de una sección Update .ini File en un archivo .INF:

%11%\ejemplo.ini, Seccion1,, Valor1=2 ; agrega una entrada nueva
%11%\ejemplo.ini, Seccion2, Valor3=*, ; elimina una entrada antigua
%11%\ejemplo.ini, Seccion4, Valor5=1, Valor5=4 ; reemplaza una entrada antigua

El conjunto de elementos siguiente de una sección del tipo Update .ini File de un archivo .INF funcionan juntos para operar en la sección Boot de SYSTEM..ini. La capacidad de establecer condiciones integrada en el parámetro indicadores de los elementos del archivo .INF se usa para agregar la entrada "comm.drv=comm.drv" a la sección Boot a menos que la entrada "comm.drv=*vcoscomm.drv" o "comm.drv=*r0dmdcom.drv" exista en la sección Boot, en cuyo caso la entrada existente se mantiene y la entrada "comm.drv=comm.drv" no se agrega al archivo .INI. En otras palabras, tras ejecutar las cuatro entradas del archivo .INF que se muestran debajo, habrá una entrada "comm.drv=" en la sección Boot del archivo .INI: "comm.drv=*vcoscomm.drv", "comm.drv=*r0dmdcom.drv" o "comm.drv=comm.drv."

system.ini, boot, "comm.drv=*vcoscomm.drv",""~CommDrvTemp~=*", 3
system.ini, boot, "comm.drv=*r0dmdcom.drv",""~CommDrvTemp~=*", 3
system.ini, boot,,"comm.drv=comm.drv"
system.ini, boot, "~CommDrvTemp~=*","comm.drv=*", 3

Volver al principio del archivo

Secciones Update .ini Fields (UpdateIniFields)

[ nombre-sección-update-inifields]
archivo-ini, sección-ini, nombre-perfil, [campo-antiguo], [campo-nuevo],[indicadores]
.
.
Reemplaza, agrega y elimina campos en el valor de una entrada .INI dada. A diferencia del tipo de sección Update .ini File, en este tipo de sección se reemplaza, agrega o elimina una parte de un valor de una entrada del archivo .INI en lugar de todo el valor. El nombre de la sección, nombre-sección-update-inifields, debe aparecer en el elemento UpdateIniFields de una sección Install del archivo .INF.

archivo-ini
Nombre del archivo .INI que contiene la entrada que se va a cambiar. Para obtener más información acerca de cómo especificar el nombre del archivo .INI, consulte el tema que describe el tipo de sección Update .ini File.

sección-ini
Nombre de la sección del archivo .INI que contiene la entrada que se va a cambiar.

nombre-perfil
Nombre de la entrada que se va a cambiar.

campo-antiguo
Valor del campo que se va a eliminar.

campo-nuevo
Valor del campo que se va a agregar, si no está allí ya.

indicadores
Especifica si se debe tratar el parámetro campo-antiguo y el parámetro campo-nuevo como si tuvieran un carácter comodín y qué carácter separador se va a utilizar cuando se anexe un campo nuevo a una entrada del archivo .INI. Puede ser uno de los valores siguientes:

Valor Significado
0 (Predeterminado) Tratar el carácter "*" literalmente cuando se busque la coincidencia de campos y no como un carácter comodín. Usar un espacio en blanco (" ") como separador al agregar un nuevo campo a una entrada.
1 Tratar el carácter "*" como un comodín cuando se busque la coincidencia de campos. Usar un espacio en blanco (" ") como separador al agregar un nuevo campo a una entrada.
2 Tratar el carácter "*" literalmente cuando se busque la coincidencia de campos y no como un carácter comodín. Usar una coma (",") como separador al agregar un nuevo campo a una entrada.
3 Tratar el carácter "*" como un comodín cuando se busque la coincidencia de campos. Usar una coma (",") como separador al agregar un nuevo campo a una entrada.
Cualquier comentario en una línea del archivo .INI se quitará ya que podría no ser aplicable después de realizar los cambios. Cuando los campos de esta línea del archivo .INI se procesen, los espacios, tabulaciones y comas se usarán como delimitadores de campo. No obstante, se utiliza un espacio como separador cuando el campo nuevo se anexa a la línea.
Volver al principio del archivo

Secciones Add Registry (AddReg)

[ sección-add-registry]
cadena-raíz-reg, [subclave], [nombre-valor], [indicador], [valor]
[cadena-raíz-reg, [subclave], [nombre-valor], [indicador], [valor]]
.
.
Agrega subclaves o nombres de valor al Registro; opcionalmente se establece el valor. El nombre sección-add-registry debe aparecer en un elemento del tipo AddReg de una sección Install.

cadena-raíz-reg
Nombre raíz del Registro. Puede ser uno de los valores siguientes:

HKCR igual que HKEY_CLASSES_ROOT
HKCU igual que HKEY_CURRENT_USER
HKLM igual que HKEY_LOCAL_MACHINE
HKU igual que HKEY_USERS.
HKR significa relativo a la clave pasada en GenInstallEx

subclave
Opcional. Identifica la subclave que se va a definir. Tiene el formato clave1\clave2\clave3.... Este parámetro se puede expresar como una cadena reemplazable. Por ejemplo, podría usar %Subclave1%, donde la cadena que sustituye a %Subclave1% se define en la sección Strings del archivo .INF.

nombre-valor
Opcional. Identifica el nombre del valor para la subclave. Para el tipo cadena, si el parámetro nombre-valor está vacío a la izquierda, el valor de la subclave especificado en el parámetro subclave se establece a una cadena NULL. Tenga en cuenta que el parámetro nombre-valor se puede expresar como una cadena reemplazable. Por ejemplo, podría usar %NombreVal1%, donde la cadena que sustituye a %NombreVal1% se define en la sección Strings del archivo .INF.

indicador
Opcional. Determina tanto el tipo de valor como si la clave del Registro se reemplaza si ya existe.

Valor Significado
0 (Predeterminado) Valor es una cadena ANSI. Reemplazar la clave si existe.
1 Valor es un número hexadecimal. Reemplazar la clave si existe.
2 Valor es una cadena ANSI. No reemplazar la clave si existe.
3 Valor es un número hexadecimal. No reemplazar la clave si existe.
valor
Opcional. El valor que se establece. Puede ser una cadena ANSI o un número en notación hexadecimal y formato de Intel. Cualquier elemento que contenga un valor binario puede superar el máximo de 128 bytes para la línea si se utiliza un carácter de barra diagonal inversa (\). También se puede proporcionar una clave de cadena con el formato %claveCad%. La claveCad debe definirse en la sección Strings del archivo .INF. Para usar un carácter % en la línea, use %%.

Son obligatorios dos campos, como mínimo; sin embargo, uno puede ser nulo. Por tanto, al utilizar este formato es obligatorio utilizar, como mínimo, una coma.

Los dos elementos del ejemplo de sección del tipo AddReg siguiente agregan dos nombres de valor al Registro. Tenga en cuenta que %25% se expandirá en la carpeta Windows del equipo.

[EntradasRegMiAplic]
HKLM,Software\MiApli,NombrePrograma,,"Mi Aplicación"
HKLM,Software\MiApli,"Ubicación de programa",,"%25%\MiApli.exe"

Volver al principio del archivo

Secciones Delete Registry (DelReg)

[ sección-del-registry]
cadena-raíz-reg, subclave, [nombre-valor]
[cadena-raíz-reg, subclave, [nombre-valor]]
.
.
Elimina una subclave o nombre de valor del Registro. El nombre sección-del-registry debe aparecer en un elemento DelReg de una sección Install.

cadena-raíz-reg
Nombre raíz del Registro. Puede ser uno de los valores siguientes:

HKCR igual que HKEY_CLASSES_ROOT
HKCU igual que HKEY_CURRENT_USER
HKLM igual que HKEY_LOCAL_MACHINE
HKU igual que HKEY_USERS.
HKR significa relativo a la clave pasada en GenInstallEx

subclave
Identifica la subclave que se va a eliminar. Tiene el formato clave1\clave2\clave3... Este parámetro se puede expresar como una cadena reemplazable. Por ejemplo, podría usar %Subclave1%, donde la cadena que sustituye a %Subclave1% se define en la sección Strings del archivo .INF.

nombre-valor
Opcional. Identifica el nombre del valor para la subclave. Tenga en cuenta que el parámetro nombre-valor se puede expresar como una cadena reemplazable. Por ejemplo, podría usar %NombreVal1%, donde la cadena que sustituye a %NombreVal1% se define en la sección Strings del archivo .INF.

Este tipo de sección puede contener cualquier número de elementos. Cada elemento elimina un subclave o nombre de valor del Registro.

Secciones Ini File to Registry (Ini2Reg)

[ sección-ini-to-registry]
archivo-ini, sección-ini, [clave-ini], cadena-raíz-reg, subclave[,indicadores]
.
.
Mueve líneas o secciones de un archivo .INI al Registro y crea o reemplaza una entrada del Registro debajo de la clave dada en el Registro. El nombre de sección sección-ini-to-registry debe aparecer en un elemento Ini2Reg de una sección Install del archivo .INF.

archivo-ini
Nombre del archivo .INI que contiene la clave que se va a copiar. Para obtener más información acerca de cómo especificar el nombre del archivo .INI, consulte los comentarios del tema "Referencia" acerca de la sección Update .ini File.

sección-ini
Nombre de la sección del archivo .INI que contiene la clave que se va a copiar.

clave-ini
Nombre de la clave del archivo .INI que se va a copiar al Registro. Si clave-ini está vacío, toda la sección se transfiere a la clave del Registro especificada.

cadena-raíz-reg
Nombre raíz del Registro. Puede ser uno de los valores siguientes:

HKCR igual que HKEY_CLASSES_ROOT
HKCU igual que HKEY_CURRENT_USER
HKLM igual que HKEY_LOCAL_MACHINE
HKU igual que HKEY_USERS.
HKR significa relativo a la clave pasada en GenInstallEx

subclave
Identifica la subclave que va a recibir el valor. Tiene el formato clave1\clave2\clave3...

indicadores
Indica si se debe eliminar la clave .INI después de transferirse al Registro y si se debe sobrescribir el valor en el Registro si ya existe la clave del Registro. Puede ser uno de los valores siguientes:

Valor Significado
0 (Predeterminado) No eliminar la entrada .INI del archivo .INI después de mover la información de la entrada al Registro. Si la subclave del Registro ya existe, no reemplazar su valor actual.
1 Eliminar la entrada .INI del archivo .INI después de mover la información de la entrada al Registro. Si la subclave del Registro ya existe, no reemplazar su valor actual.
2 No eliminar la entrada .INI del archivo .INI después de mover la información de la entrada al Registro. Si la subclave del Registro ya existe, reemplazar su valor actual con el valor de la entrada del archivo .INI.
3 Eliminar la entrada .INI del archivo .INI después de mover la información de la entrada al Registro. Si la subclave del Registro ya existe, reemplazar su valor actual con el valor de la entrada del archivo .INI.
Por ejemplo, suponga que la entrada siguiente existe en el archivo Win.ini:

[Windows]
CursorBlinkRate=15

Si debajo de Control Panel\Desktop no hay una subclave CursorBlinkRate, el elemento siguiente de la sección Ini File to Registry crea la subclave, establece el valor de la subclave a 15 y no cambia la línea original de WIN..ini:

win.ini,Windows,CursorBlinkRate,HKCU,"Control Panel\Desktop"

Si la subclave ya existe, el elemento del archivo .INF establece el valor de la subclave a 15 y no cambia la línea original de WIN..ini.

Secciones Update Config.sys (UpdateCfgSys)

[ sección-update-config]
Buffers=número-búferes-dos-válido
DelKey=clave
DevAddDev=nombre-controlador,palabraClaveConfig[,indicador][,cadena-parám]
DevDelete=nombre-controlador-dispositivo
DevRename=nombre-dispositivo-actual,nombre-dispositivo-nuevo
Files=número-archivos-dos-válido
PrefixPath=ldid[,ldid]
RemKey=clave
Stacks=valores-pilas-dos

Proporciona comandos para agregar, eliminar o cambiar el nombre de comandos en el archivo Config.sys. El nombre de la sección, nombre-sección-update-ini, debe aparecer en el elemento UpdateInis de una sección Install en el archivo .INF.

No todos los tipos de elemento que se muestran en la sintaxis anterior son necesarios u obligatorios. Una sección Update Config.sys puede contener tantos elementos DevRename, DevDelete, DevAddDev, DelKey y RemKey como se necesiten, pero los elementos Buffers, Files y Stacks sólo se pueden usar una vez en una sección. Cuando se procesa una sección Update Config.sys, el instalador procesa todos los elementos DevRenames en primer lugar, todos los elementos DevDelete después y todos los elementos DevAddDev al final. La sintaxis y significado de cada uno de los tipos de elemento que se pueden usar en una sección Update Config.sys se proporcionan posteriormente en este tema.

Elemento Buffers

Buffers=número-búferes-dos-válido
Establece el número de búferes de archivo. Al igual que con el elemento Stacks, el instalador compara el valor existente con el propuesto y establece siempre el número de búferes al mayor de los dos valores.

número-búferes-dos-válido
Un número de búferes MS-DOS válido.

Elemento DelKey

DelKey=clave
Ocasiona que el comando Config.sys con la clave especificada se comente dentro del archivo Config.sys. Por ejemplo, el elemento de archivo .INF siguiente:

DelKey=Break

ocasionaría que un comando Break=on se comentara dentro del archivo Config.sys.

El elemento DelKey tiene el mismo efecto que el elemento RemKey . Puede haber varios elementos DelKey y RemKey en una sección de un archivo .INF.

clave La clave del comando de Config.sys que se va a comentar.

Elemento DevAddDev


DevAddDev=nombre-controlador,palabraClaveConfig[,indicador][,cadena-parám]
Agrega un comando device o install al archivo CONFIG.SYS.

nombre-controlador
Nombre del archivo ejecutable o controlador que agregar. El instalador valida la extensión del nombre de archivo y comprueba que sea .sys o .exe.

palabraClaveConfig
Nombre del comando. Puede ser device o install.

indicador
Indicador de posición opcional. Si es 0, el comando se coloca al final del archivo. Si es 1, se coloca al principio. Si no se proporciona ningún indicador, se utiliza 0 como opción predeterminada.

cadena-parám
Parámetros de comando opcionales. Deben ser válidos para el controlador de dispositivo o archivo ejecutable especificados.

Elemento DevDelete

DevDelete=nombre-controlador-dispositivo
Elimina las líneas que contengan el nombre de archivo especificado del archivo Config.sys.

nombre-controlador-dispositivo
Nombre de un archivo o controlador de dispositivo. El instalador busca en el archivo Config.sys el nombre y elimina cualquier línea que lo contenga. Ya que MS-DOS no permite extensiones de nombre de archivo implícitas en Config.sys, cada nombre-controlador-dispositivo debe especificar la extensión del nombre de archivo de forma explícita.

En el ejemplo siguiente, el elemento DevDelete de la sección Update Config.sys elimina las líneas 1 y 3, y deja la línea 2 del archivo Config.sys de ejemplo:

DevDelete=nombreArchivo.sys

;; líneas de Config.sys
Device=Filename.sys ;; línea nº 1
Install=Filename.exe ;; línea nº 2
Device=Filename.sys /d:b800 /I:3 ;; línea nº 3

Elemento DevRename

DevRename=nombre-dispositivo-actual,nombre-dispositivo-nuevo
Cambia el nombre de un controlador de dispositivo del archivo Config.sys.

nombre-dispositivo-actual
Nombre del controlador de dispositivo o archivo ejecutable cuyo nombre se va a cambiar. El instalador busca el nombre en la parte de la derecha de un comando device o install en el archivo Config.sys.

nombre-dispositivo-nuevo
Nombre nuevo para el controlador o archivo ejecutable.

Elemento Files

Files=número-archivos-dos-válido
Establece el número máximo de archivos abiertos en el archivo Config.sys. Al igual que con el elemento Stacks, el instalador compara el valor existente con el propuesto y establece siempre el número de búferes al mayor de los dos valores.

número-archivos-dos-válido
Número de archivos de MS-DOS válido.

Elemento PrefixPath

PrefixPath=ldid[,ldid]...
Anexa la ruta de acceso asociada con el LDID dado al comando path.

ldid
Puede ser cualquiera de los valores LDID predefinidos o un valor nuevo definido en el archivo .INF. Para obtener una definición de los valores LDID predefinidos, consulte el tema "Referencia" acerca de la sección DestinationDirs.

Elemento RemKey

RemKey=clave
Ocasiona que el comando de Config.sys con la clave especificada se comente en el archivo Config.sys. Por ejemplo, el elemento del archivo .INF siguiente:

RemKey=Break

ocasionaría que un comando Break=on se comentara en el archivo Config.sys.

El elemento RemKey tiene el mismo efecto que el elemento DelKey . Puede haber varios elementos RemKey y DelKey en una sección del archivo .INF.

clave
La clave del comando de Config.sys que se va a comentar.

Elemento Stacks

Stacks=valores-pilas-dos
Establece el número y tamaño de las pilas del archivo Config.sys. El instalador compara el valor existente con el propuesto y establece siempre el mayor de los dos. Por ejemplo, si Config.sys contiene stacks=9,218 y el archivo .INF contiene stacks=5,256, el instalador establece el nuevo valor a stacks=9,256.

número-pilas-dos-válido
Un número de pilas de MS-DOS válido.

Volver al principio del archivo

Secciones Update Autoexec.bat (UpdateAutoBat)

[ sección-update-autoexec]
CmdAdd=nombre-comando[,parámetros-comando]
CmdDelete=nombre-comando
PrefixPath=ldid[,ldid]
RemOldPath=ldid[,ldid]
TmpDir=ldid[,subdir]
UnSet=nombre-variable-entorno

Proporciona comandos para tratar líneas del archivo Autoexec.bat. El nombre de la sección, update-autoexec-section-name, debe aparecer en el elemento UpdateAutoBat de una sección Install en el archivo .INF.

No todos los tipos de elemento mostrados en la sintaxis anterior son necesarios u obligatorios en una sección Update Autoexec.bat. La sección puede contener tantos elementos CmdAdd, CmdDelete y UnSet como se necesiten pero, en un archivo .INF, sólo se puede usar un elemento PrefixPath, RemOldPath y TmpDir. La sintaxis y significado de cada uno de los tipos de elemento se describen posteriormente en este tema.

El instalador procesa todos los elementos CmdDelete antes de los elementos CmdAdd.

Elemento CmdAdd

CmdAdd =nombre-comando[,"parámetros-comando"]
Agrega el comando y los parámetros de comandos opcionales especificados al final del archivo Autoexec.bat.

nombre-comando
Nombre de un archivo ejecutable, con o sin extensión. Si el nombre de archivo se define también en las secciones SourceDisksFiles y DestinationDirs del archivo .INF, el instalador agrega la ruta de acceso correspondiente al nombre de archivo antes de escribirla en el archivo Autoexec.bat.

parámetros-comando
Cadena incluida entre comillas tipográficas o una cadena reemplazable como %Cadena1% o %MiParametro%, donde las cadenas que sustituyen a %Cadena1% y %MiParametro% se definen en la sección Strings del archivo .INF. El instalador anexa la cadena a nombre-comando antes de anexar la línea al final del archivo Autoexec.bat. El formato de esta línea depende de los requisitos de línea de comando del archivo ejecutable dado.

Elemento CmdDelete

CmdDelete=nombre-comando
Elimina las líneas de Autoexec.bat que incluyan el nombre de comando especificado. El instalador busca y elimina cualquier aparición del nombre especificado que tenga la extensión de nombre de archivo .EXE, .COM y .BAT.

nombre-comando
Nombre de un archivo ejecutable sin extensión.

Elemento PrefixPath

PrefixPath=ldid[,ldid]...
Anexa la ruta de acceso asociada con el LDID dado al comando path.

ldid
Puede ser cualquiera de los valores LDID predefinidos o un valor nuevo definido en el archivo .INF. Para obtener una definición de los valores LDID predefinidos, consulte el tema "Referencia" acerca de la sección DestinationDirs.

Elemento RemOldPath

RemOldPath=ldid[,ldid]
Quita la ruta de acceso asociada al LDID especificado del comando path. Por ejemplo, si el usuario instala una versión nueva de Windows en C:\Newwin y tiene una copia antigua de Windows en C:\Windows, el elemento del archivo .INF siguiente quita C:\Windows de la variable de entorno path:

RemOldPath=10

ldid puede ser cualquiera de los valores LDID predefinidos o un valor nuevo definido en el archivo .INF. Para obtener una definición de los valores LDID predefinidos, consulte el tema "Referencia" acerca de la sección DestinationDirs.

Elemento TmpDir

TmpDir=ldid[,subdir]
Crea una carpeta temporal dentro de la carpeta especificada en el LDID, si no existe.

ldid
Puede ser cualquiera de los valores LDID predefinidos o un valor nuevo definido en el archivo .INF. Para obtener una definición de los valores LDID predefinidos, consulte el tema "Referencia" acerca de la sección DestinationDirs.

subdir
Nombre de la ruta de acceso. Si ldid\subdir no existe, se crea.

Elemento UnSet

UnSet=nombre-variable-entorno
Quita cualquier comando set del archivo Autoexec.bat que incluya el nombre de la variable de entorno especificada.

nombre-variable-entorno
Nombre de una variable de entorno.

Volver al principio del archivo

Sección DestinationDirs

[DestinationDirs]
sección-lista-archivos =ldid[, subdir ]
.
.
[DefaultDestDir=ldid[, subdir ]]

La sección DestinationDirs define los directorios de destino para las operaciones especificadas en sección-lista-archivos, que son las secciones CopyFiles, RenFiles o DelFiles. Opcionalmente, se puede especificar una carpeta de destino predeterminada para las secciones CopyFiles, RenFiles o DelFiles en el archivo .INF que no se nombre explícitamente en la sección DestinationDirs.

sección-lista-archivos
Nombre de una sección CopyFiles,RenFiles o DelFiles. Se puede hacer referencia a este nombre en un elemento Copyfiles, RenFiles o DelFiles de una sección Install.

ldid
Identificador de disco lógico (LDID). Pueden ser uno de los valores siguientes:

00 LDID nulo; se puede usar para crear un LDID nuevo
01 Unidad de origen:\rombre de ruta de acceso
10 Carpeta Machine (se asigna a la carpeta Windows en una instalación con servidor).
11 Carpeta System
12 Carpeta IOSubsys
13 Carpeta Command
17 Inffolder
18 Carpeta Help
20 Fonts
21 Viewers
22 VMM32
23 Carpeta Color
24 Raíz de la unidad que contiene la carpeta Windows
25 Carpeta Windows
26 Dispositivo de inicio garantizado para Windows (Winboot)
28 Host Winboot
30 Carpeta raíz de la unidad de inicio
31 Carpeta raíz para el dispositivo host de una unidad de inicio virtual
subdir
Nombre de la carpeta dentro de la carpeta nombrada por el LDID como carpeta de destino.

El elemento opcional DefaultDestDir proporciona un destino predeterminado para los elementos CopyFiles que usen la notación de copia directa (@nombre de archivo) o las secciones CopyFiles, RenFiles o DelFiles no especificadas en la sección DestinationDirs . Si en una sección DestinationDirs no se utiliza DefaultDestDir, la carpeta predeterminada se establece a LDID_WIN.

En el ejemplo siguiente se establece la carpeta de destino para la sección MoveMiniPort a Windows\Iosybsys y se establece como carpeta predeterminada para otras secciones la carpeta Bin en la unidad de inicio:

[DestinationDirs]
MoveMiniPort=12 ; el destino para la sección MoveMiniPort es
; windows\iosubsys
DefaultDestDirs=30,bin ; la copia directa se hace en boot:\bin

Volver al principio del archivo

Sección SourceDisksNames

[SourceDisksNames]
ordinal-disco="descripción-disco",etiqueta-disco,número-serie-disco
.
.
Identifica y da nombre a los discos que contienen los archivos de origen para las operaciones de copia y cambio de nombre de archivos.

ordinal-disco
Un número exclusivo que identifica un disco de origen. Si hay más de un disco de origen, cada uno debe tener un número ordinal exclusivo.

descripción-disco
Una cadena o clave de cadenas que describe el contenido o propósito del disco. El instalador muestra esta cadena al usuario para identificar el disco. La descripción se incluye entre comillas tipográficas.

etiqueta-disco
Etiqueta de volumen del disco de origen que se define cuando se formatea el disco.

número-serie-disco
No se utiliza. El valor debe ser 0.

En este ejemplo se identifica un disco de origen. La descripción del disco se proporciona como una clave de cadenas:

[SourceDisksNames]
55 = %ID1%, Instd1, 0

[Strings]
ID1="Disco 1 de instalación de mi aplicación"

Volver al principio del archivo
Sección SourceDisksFiles

[SourceDisksFiles]
nombre archivo=número-disco[,subdir] [,tamaño-archivo]
.
.
.
Da nombre a los archivos de origen durante la instalación e identifica los discos de origen que contienen los archivos.

nombre archivo
Nombre del archivo en el disco de origen.

número-disco
Número ordinal del disco de origen que contiene el archivo. Este número ordinal se debe definir en la sección SourceDisksNames y debe tener un valor mayor o igual que 1 (cero no es un valor de parámetro número-disco válido).

subdir
Parámetro opcional que especifica la subcarpeta en el disco de origen donde reside el archivo. Si este parámetro no se usa, la carpeta raíz del disco de origen es la predeterminada.

tamaño-archivo Parámetro opcional que especifica el tamaño del archivo, en bytes.

El ejemplo de sección SourceDisksFiles siguiente identifica un único archivo de origen, SRS01.386, en el disco que tiene el número ordinal 1:

[SourceDisksFiles]
SRS01.386 = 1

Volver al principio del archivo

Sección Strings

[Strings]
clave-cadenas=valor
.
.
Define una o varias claves de cadenas. Una clave de cadenas es un nombre que representa una cadena de caracteres imprimibles. Aunque la sección Strings generalmente es la última del archivo .INF, una clave de cadenas definida en esta sección puede usarse en cualquier parte del archivo .INF en la que se usaría la cadena correspondiente. El instalador sustituye la clave de cadenas por la cadena especificada y la usa en el procesamiento posterior. Debe incluir una clave de cadenas entre signos de porcentaje (%).

clave-cadenas Nombre exclusivo que se compone de letras y dígitos.

valor Cadena que se compone de letras, dígitos u otros caracteres imprimibles. Debe incluirse entre dobles comillas tipográficas si la clave de cadenas correspondiente se utiliza en un tipo de elemento que las requiere.

La sección Strings facilita la conversión en mercados internacionales al colocar todas las cadenas que se pueden mostrar en la interfaz de usuario cuando el archivo .INF se usa en una única sección del archivo .INF. Las claves de cadenas se deben usar siempre que sea posible.

En el ejemplo siguiente se muestra la sección Strings para un archivo .INF de ejemplo.

[Strings]
String0="Mi Aplicación"
String1="Archivo Léame de mi aplicación"
String2="CX2590 SCSI Adapter"

Volver al principio del archivo

Sección Opcional Components

[Optional Components]
nombre-sección-install
[nombre-sección-install]
.
.
Enumera las secciones Install que se muestran cuando el usuario hace clic en el icono Agregar o quitar programas del Panel de control, hace clic en la ficha Instalación de Windows y, a continuación, hace clic en el botón Utilizar disco. La sección Install se presenta como casillas de verificación en la lista.

Tenga en cuenta que la sección Opcional Components se pasa por alto cuando se ejecuta un archivo .INF al hacer clic con el botón secundario del mouse (ratón) en el archivo y seleccionar el verbo "install". Al ejecutar un archivo .INF de esta forma, se ejecuta la sección [DefaultInstall]. La sección Optional Components también se pasa por alto si el archivo .INF se está ejecutando a través del punto de entrada InstallHinfSection de Setupx.dll. Al ejecutar un archivo .INF a través del punto de entrada SETUPX, se ejecuta la sección Install especificada en el parámetro para el punto de entrada.

Las secciones Install siguen el mismo formato que se describió anteriormente y las claves adicionales siguientes se pueden agregar a la sección Install para dirigir la interfaz en el cuadro de diálogo "Utilizar disco":

OptionDesc=descripción-opción
Sugerencia=descripción-sugerencia
InstallDefault=0 | 1;
Si se instala este componente de forma predeterminada. 1=Sí, 0=No.
IconIndex=índice-icono
Parent= nombre-sección-install
Needs=nombre-sección-install, [nombre-sección-install]
Include=archivo-inf, [archivo-inf]

descripción-opción
Cadena que se utiliza como nombre del componente en el cuadro de lista. El parámetro descripción-opción puede ser %Cadena1%, donde la cadena que sustituye a %Cadena1% se define en la sección Strings del archivo .INF.

descripción-sugerencia
Cadena que se muestra en el cuadro "descripción" cuando el componente se selecciona en el cuadro de lista. El parámetro descripción-sugerencia tiene un límite de 255 caracteres y puede ser %Cadena1%, donde la cadena que sustituye a %Cadena1% se define en la sección Strings del archivo .INF.

índice-icono
Valor numérico que determina el miniicono que se muestra junto al nombre del componente. Son valores válidos:
0 Equipo (base y pantalla)
1 Chip de circuitos integrados
2 Pantalla
3 Cables de red
4 Indicador de Windows
5 Mouse
6 Teclado (3 teclas)
7 Teléfono
8 Altavoz
9 Discos duros
10 Conector comm.
11 Diamond (valor predeterminado)
12 Casilla de verificación activada
13 Casilla de verificación desactivada
14 Impresora
15 Tarjeta de red
16 Igual que 0
17 Igual çççque 0 con una mano que ofrece
18 Desconocido (signo de interrogación)
19 Atwork
20 Casilla de verificación atenuada
21 Acceso telefónico a redes
22 Conexión directa por cable
23 Maletín
24 Exchange
25 Partial check
26 Grupo Accesorios
27 Grupo Multimedia
28 Vista rápida
29 MSN
30 Calculadora
31 Desfragmentador
32 Documento genérico
33 DriveSpace
34 Solitario
35 HyperTerminal
36 Empaquetador de objetos
37 Paint
38 Protector de pantalla
39 WordPad
40 Visor del Portapapeles
41 Accessibilidad
42 Copia de seguridad
43 Documento de mapa de bits
44 Mapa de caracteres
45 Punteros de mouse
46 Monitor de red
47 Marcador telefónico
48 Monitor de sistema
49 Help book
50 Globe (international settings)
51 Compresión de audio
52 Reproductor de CD
53 Reproductor multimedia
54 Esquema de sonidos
55 Clip de vídeo
56 Compresión de vídeo
57 Control de volumen
58 Musica sound scheme
59 Jungla - esquema de sonidos
60 Robotz sound scheme
61 Utopía - esquema de sonidos

Parent
El cuadro de lista mostrado en la interfaz de componentes opcionales puede contener niveles secundarios. Si el componente opcional es secundario, la palabra clave Parent= define la sección Install principal.

Needs
Si este componente tiene dependencias en otros componentes, este elemento define las secciones Install que este componente necesita. Si el componente se selecciona, se advertirá al usuario que el componente necesita los componentes descritos en las secciones Install enumeradas en Needs= línea.

Tenga en cuenta que las secciones Install enumeradas en Needs= línea deben estar en el mismo archivo .INF. Sin embargo, si los componentes dependientes de otros archivos .INF se enumeran en la Needs= línea, los archivos .INF deben especificarse en el Include= línea.

Include
El elemento Include permite especificar archivos .INF que el programa de instalación también debe cargar en la memoria cuando carga el archivo .INF, ya que estos archivos .INF contienen secciones que se deben ejecutar además de las secciones Install del archivo .INF. El elemento Needs especifica los nombres de las secciones que usted tiene intención de ejecutar en el archivo o archivos .INF incluidos.

En el ejemplo siguiente se definen dos secciones Install con componentes opcionales; cada sección usa las entradas adicionales para especificar dependencias y elementos de la interfaz:

[Optional Components]
InstalarMisJuegos
InstalarJuegos

[InstalarMisJuegos]
OptionDesc=%DESC_Juegos%
Tip=%TIP_Juegos%
IconIndex=35 ;miniicono de teléfono para los diálogos
Parent=AplicacionesCorreo
Needs=MSMAIL, MAPI, MicrosoftNetwork
Include=mos.inf, msmail.inf
CopyFiles=MisArchivosJuegos
UpdateInis=VínculosAMisJuegos
AddReg=ElementosRegMisJuegos

[InstallOtherApps]
OptionDesc=%DESC_Otros%
Tip=%TIP_Otros%
IconIndex=4 ;miniicono de ventana para cuadros de diálogo
CopyFiles=OtrosArchivos
UpdateInis=OtrosVinculos
AddReg=OtrosElementosReg

[Strings]
DESC_Juegos="Utilidades de correo"
TIP_Juegos="Utilidades adicionales para enviar y organizar correo"
DESC_Otros="Otras herramientas de utilidad"
TIP_Otros="Calculadora, comprobador de disco y monitor de sistema"

Volver al principio del archivo