Tabla del Registro

La tabla Registry contiene la información del Registro que la aplicación debe establecer en el registro del sistema.

La tabla Registry tiene las columnas siguientes.

Columna Tipo Clave Nullable
Registro Identificador S No
Root Entero No No
Clave RegPath No No
Nombre Formato No S
Valor Formato No S
Component_ Identificador No No

 

Columnas

Registro

Clave principal usada para identificar un registro del Registro.

Raíz

Clave raíz predefinida para el valor del Registro. Escriba un valor de -1 en este campo para que la clave raíz dependa del tipo de instalación. Escriba uno de los otros valores de la tabla siguiente para forzar que el valor del Registro se escriba en una clave raíz determinada.

Constante Hexadecimal Decimal Clave raíz
(ninguno) - 0x001 -1 Si se trata de una instalación por usuario, el valor del Registro se escribe en HKEY_CURRENT_USER. Si se trata de una instalación por máquina, el valor del Registro se escribe en HKEY_LOCAL_MACHINE. Tenga en cuenta que se especifica una instalación por máquina estableciendo la propiedad ALLUSERS en 1.
msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOT El instalador escribe o quita el valor del subárbol HKCU\Software\Classes durante la instalación en el contexto de instalación por usuario.
El instalador escribe o quita el valor del subárbol HKLM\Software\Classes durante las instalaciones por máquina.
msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER
msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE
msidbRegistryRootUsers 0x003 3 HKEY_USERS

 

Tenga en cuenta que se recomienda que las entradas del Registro escritas en el subárbol HKCU hagan referencia a un componente que tenga el bit RegistryKeyPath establecido en la columna Atributos de la tabla Component. Esto garantiza que el instalador escriba las entradas del Registro necesarias cuando haya varios usuarios en el mismo equipo.

Clave

Clave localizable para el valor del Registro.

Nombre

Esta columna contiene el nombre del valor del Registro (localizable). Si es Null, los datos especificados en la columna Valor se escriben en la clave del Registro predeterminada.

Si la columna Valor es Null, las cadenas que se muestran en la tabla siguiente de la columna Nombre tienen una importancia especial.

String Significado
+ La clave se va a crear, si no está presente, cuando se instala el componente.
- La clave se va a eliminar, si está presente, con todos sus valores y subclaves, cuando se desinstala el componente.
* La clave se va a crear, si no está presente, cuando se instala el componente. Además, la clave se va a eliminar, si está presente, con todos sus valores y subclaves, cuando se desinstala el componente.

 

Tenga en cuenta que la tabla RemoveRegistry debe usarse si se va a eliminar una clave del Registro instalada, con sus valores y subclaves, cuando se instala el componente.

Valor

Esta columna es el valor del Registro localizable. El campo tiene formato. Si el valor se adjunta a uno de los siguientes prefijos (es decir, #%value), el valor se interpreta como se describe en la tabla. Tenga en cuenta que cada prefijo comienza con un signo de número (#). Si el valor comienza con dos o más signos numéricos consecutivos (#), el primer # se omite y el valor se interpreta y se almacena como una cadena.

Prefijo Significado
#x El valor se interpreta y almacena como un valor hexadecimal (REG_BINARY).
#% El valor se interpreta y almacena como una cadena expandible (REG_EXPAND_SZ).
# El valor se interpreta y almacena como un entero (REG_DWORD).

 

  • Si el valor contiene la tilde de secuencia [~], el valor se interpreta como una lista delimitada por Null de cadenas (REG_MULTI_SZ). Por ejemplo, para especificar una lista que contenga las tres cadenas a, b y c, use "a[~]b[~]c".
  • La secuencia [~] dentro del valor separa las cadenas individuales y se interpreta y almacena como un carácter Null.
  • Si [~] precede a la lista de cadenas, las cadenas se anexarán a cualquier cadena de valor del Registro existente. Si ya se produce una cadena anexada en el valor del Registro, se quita la aparición original de la cadena.
  • Si [~] sigue el final de la lista de cadenas, las cadenas se anteponen a cualquier cadena de valor del Registro existente. Si ya se produce una cadena pendiente en el valor del Registro, se quita la aparición original de la cadena.
  • Si un [~] está al principio y al final o ni al principio ni al final de la lista de cadenas, las cadenas deben reemplazar las cadenas de valor del Registro existentes.
  • De lo contrario, el valor se interpreta y se almacena como una cadena (REG_SZ).

Component_

Clave externa en la primera columna de la tabla Componente que hace referencia al componente que controla la instalación del valor del Registro.

Comentarios

Las acciones WriteRegistryValues y RemoveRegistryValues en las tablas de secuencia procesan la información de esta tabla. Para obtener información sobre el uso de tablas de secuencia, vea Uso de una tabla de secuencia.

La información del Registro se escribe en el registro del sistema cuando se ha seleccionado el componente correspondiente para instalarse localmente o ejecutarse desde el origen.

Tenga en cuenta que el instalador quita una clave del Registro después de quitar el último valor o subclave en la clave. Para evitar que se quite una clave del Registro vacía al desinstalar, escriba un valor ficticio en la clave que necesita mantener y escriba + en la columna Nombre. Si * está en la columna Nombre, se elimina la clave, con todos sus valores y subclaves, cuando se quita el componente.

Una acción personalizada se puede usar para agregar filas a la tabla del Registro durante una instalación, desinstalación o transacción de reparación. Estas filas no se conservan en la tabla del Registro y la información solo está disponible durante la transacción actual. Por lo tanto, la acción personalizada debe ejecutarse en todas las transacciones de instalación, desinstalación o reparación que requieran la información de estas filas adicionales. La acción personalizada debe aparecer antes de las acciones RemoveRegistryValues y WriteRegistryValues en la secuencia de acciones.

Para obtener información sobre cómo proteger una clave del Registro, consulte la tabla MsiLockPermissionsEx y la tabla LockPermissions.

Validación

ICE02
ICE03
ICE06
ICE32
ICE38
ICE43
ICE46
ICE49
ICE53
ICE55
ICE57
ICE70
ICE80