Tabla de características

La tabla de características define la estructura del árbol lógico de características y contiene las columnas que aparecen en la siguiente tabla.

Columna Tipo Clave Nullable
Característica Identificador Y No
Feature_Parent Identificador No Y
Título Texto No Y
Descripción Texto No Y
Mostrar Entero No Y
Nivel Entero No No
Directory_ Identificador No Y
Atributos Entero No No

 

Columnas

Feature

Clave principal que se usa para identificar un registro de características específico. El valor de este campo no debe superar una longitud máxima de 38 caracteres.

Feature_Parent

Clave opcional de un registro primario de la misma tabla.

La clave apunta a la columna Feature. Si no está seleccionada la característica primaria, esta característica no se instala. Un valor null en este campo indica que esta característica no tiene ningún elemento primario y es un elemento raíz. La columna Feature_Parent no debe ser igual a la columna Feature del mismo registro.

Nota:

La profundidad máxima de cualquier característica es 16. Se producirá un error 2701 si existe una característica que supere esta profundidad máxima.

 

Title

Cadena corta de texto que identifica una característica.

El control SelectionTree del cuadro de diálogo de selección muestra esta cadena como un elemento.

Description

Cadena de texto más larga que describe una característica.

El control Text del cuadro de diálogo de selección muestra esta cadena localizable.

Display

El número de este campo especifica el orden en que se mostrará la característica en la interfaz de usuario.

El valor también determina si la característica se muestra inicialmente expandida o contraída. Si el valor es null o 0 (cero), no se muestra el registro.

  • Si el valor es impar, el nodo de característica estará expandido inicialmente.
  • Si es par, el nodo de característica estará contraído inicialmente.

Level

Nivel de instalación inicial de esta característica. El procesamiento de la tabla de condiciones puede modificar el valor de nivel.

Un nivel de instalación 0 (cero) deshabilita el elemento y evita que se muestre. Una característica con un nivel de instalación 0 (cero) no se instala durante ninguna instalación, incluidas las instalaciones administrativas. Para más información, consulte la información sobre "Nivel de instalación" en la sección Comentarios de este tema.

Directory_

La columna Directory_ especifica el nombre de un directorio que un cuadro de diálogo de selección puede configurar.

Dado que este campo es una clave en la tabla de directorios, el directorio especificado debe aparecer en la primera columna de la tabla de directorios. Debe especificar una propiedad pública en esta columna para que el directorio se pueda configurar y muestre un botón Examinar en el cuadro de diálogo de selección.

Attributes

La opción de ejecución remota de las características que no están instaladas y para las que no se realiza ninguna solicitud de estado de característica utilizando cualquiera de las siguientes propiedades.

Agregue los bits indicados al valor total de esta columna para incluir una opción de ejecución remota.

  • Si este campo está en blanco, el valor predeterminado es 0 (cero), msidbFeatureAttributesFavorLocal.
  • Si el nivel de instalación de la característica es 0 (cero) o mayor o igual que el nivel de instalación actual, no se realiza ningún cambio en el estado de la característica.
Nombre Decimal Hexadecimal Descripción
msidbFeatureAttributesFavorLocal 0 0x0000 Los componentes de esta característica que no están marcados para la instalación desde el origen se instalarán localmente. Un componente compartido por dos o más características, algunas de las cuales se establecen en msidbFeatureAttributesFavorLocal y otras en msidbFeatureAttributesFavorSource, se instala localmente. Los componentes marcados como msidbComponentAttributesSourceOnly en la tabla de componentes siempre se ejecutan desde el CD o servidor de origen. Los bits msidbFeatureAttributesFavorLocal y msidbFeatureAttributesFavorSource funcionan con características no enumeradas por la propiedad ADVERTISE.
msidbFeatureAttributesFavorSource 1 0x0001 Los componentes de esta característica no marcados para la instalación local se instalan para ejecutarse desde el CD-ROM o servidor de origen. Un componente compartido por dos o más características, algunas de las cuales se establecen en msidbFeatureAttributesFavorLocal y otras en msidbFeatureAttributesFavorSource, se instala para ejecutarse localmente. Los componentes marcados como msidbComponentAttributesLocalOnly en la tabla de componentes siempre se instalan localmente. Los bits msidbFeatureAttributesFavorLocal y msidbFeatureAttributesFavorSource funcionan con características no enumeradas por la propiedad ADVERTISE.
msidbFeatureAttributesFollowParent 2 0x0002 Establece este atributo y el estado de la característica es el mismo que el del elemento primario de la característica. No puede usar esta opción si la característica se encuentra en la raíz de un árbol de características. Omita este atributo y el estado de la característica se determinará según msidbFeatureAttributesDisallowAdvertise, msidbFeatureAttributesFavorLocal y msidbFeatureAttributesFavorSource.
Para garantizar que el estado de la característica secundaria siempre sigue el estado de su elemento primario, incluso cuando el elemento secundario y el primario están inicialmente establecidos en ausentes en el control SelectionTree, debe incluir msidbFeatureAttributesFollowParent y msidbFeatureAttributesUIDisallowAbsent en los atributos de la característica secundaria.
Tenga en cuenta que si establece msidbFeatureAttributesFollowParent sin establecer msidbFeatureAttributesUIDisallowAbsent, el instalador no podrá forzar la característica secundaria a otro estado que no sea ausente. En este caso, la característica secundaria coincidirá con el estado de instalación del elemento primario solo si el elemento secundario está establecido en un estado distinto de ausente.
Establece msidbFeatureAttributesFollowParent y msidbFeatureAttributesUIDisallowAbsent para asegurarse de que una característica secundaria siga el estado de la característica primaria.
msidbFeatureAttributesFavorAdvertise 4 0x0004 Establece este atributo y el estado de la característica es Anunciar. Si la propiedad ADDDEFAULT muestra la característica, este bit se omite y el estado de la característica se determina según msidbFeatureAttributesFavorLocal y msidbFeatureAttributesFavorSource. Omita este atributo y el estado de la característica se determinará según msidbFeatureAttributesDisallowAdvertise, msidbFeatureAttributesFavorLocal y msidbFeatureAttributesFavorSource.
msidbFeatureAttributesDisallowAdvertise 8 0x0008 Tenga en cuenta que este bit solo funciona con las características que muestra la propiedad ADVERTISE. Establezca este atributo para evitar que se anuncie la característica.
Establezca este atributo y si la característica enumerada no es un elemento primario o secundario, la característica se instalará según msidbFeatureAttributesFavorLocal y msidbFeatureAttributesFavorSource.
Establezca este atributo para el elemento primario de una característica enumerada y el elemento primario se instalará.
Establezca este atributo para el elemento secundario de una característica enumerada y el estado del elemento secundario será Ausente.
Omita este atributo y si la característica enumerada no es un elemento primario o secundario, el estado de la característica será Anunciar.
Omita este atributo y si la característica enumerada es un elemento primario o secundario, el estado de ambas características será Anunciar.
msidbFeatureAttributesUIDisallowAbsent 16 0x0010 Establezca este atributo y la interfaz de usuario no mostrará una opción para cambiar el estado de la característica a Ausente. Si se establece este atributo, se fuerza a la característica al estado de instalación, independientemente de si la característica es visible o no en la interfaz de usuario. Omita este atributo y la interfaz de usuario mostrará una opción para cambiar el estado de la característica a Ausente.
Establece msidbFeatureAttributesFollowParent y msidbFeatureAttributesUIDisallowAbsent para asegurarse de que una característica secundaria siga el estado de la característica primaria.
Establecer este atributo no solo afecta a la interfaz de usuario, sino que también fuerza a la característica a pasar al estado de instalación, independientemente de si la característica es visible en la interfaz de usuario o no.
msidbFeatureAttributesNoUnsupportedAdvertise 32 0x0020 Establezca este atributo y la publicidad se deshabilitará para la característica si el shell del sistema operativo no admite descriptores de Windows Installer. Si se omite este atributo, la publicidad no se deshabilitará.

 

Algunos atributos son excluyentes entre sí. Si se intenta establecer estos atributos juntos en la misma característica, se producirá un error en la validación del paquete de instalación.

  • No use msidbFeatureAttributesFavorAdvertise con msidbFeatureAttributesDisallowAdvertise.
  • No use msidbFeatureAttributesNoUnsupportedAdvertise con msidbFeatureAttributesDisallowAdvertise juntos.
  • No use msidbFeatureAttributesFollowParent con msidbFeatureAttributesFavorSource.
  • Tenga en cuenta que los valores msidbFeatureAttributesFollowParent y msidbFeatureAttributesFavorLocal son mutuamente excluyentes. Si se usa el valor msidbFeatureAttributesFollowParent, se supone que el valor msidbFeatureAttributesFavorLocal no existe.

Tenga en cuenta que si se instala una característica secundaria, también se instala su característica primaria. Si se instala una característica primaria, su característica secundaria no se instala necesariamente a menos que se establezcan sus atributos msidbFeatureAttributesFollowParent y msidbFeatureAttributesUIDisallowAbsent. Esta relación jerárquica de la instalación de características primarias y secundarias también se utiliza para las instalaciones de GUI y las instalaciones que utilizan propiedades de línea de comandos.

Observaciones

Se agregan varias columnas temporales adicionales a esta tabla cuando se carga en la memoria para los cálculos de costos y de selección de interfaz de usuario.

Un componente se puede compartir entre dos o más características o aplicaciones. Si dos o más características hacen referencia al mismo componente, ese componente se selecciona para la instalación si se selecciona alguna de las características asociadas. Esta también puede ser la razón por la que las características secundarias no se desinstalan cuando se elimina una característica primaria. Si la característica secundaria consta de componentes necesarios para otras características o aplicaciones, Windows Installer no eliminará la característica secundaria.

Para más información, consulte Control de los estados de selección de características.

Nivel de instalación:

  • Para cualquier instalación, hay un nivel de instalación definido, que es un valor entero de 1 a 32 767. El valor inicial viene determinado por la propiedad INSTALLLEVEL, que se establece en la tabla de propiedades.
  • Una característica solo se instala si el valor del nivel de característica es menor o igual que el nivel de instalación actual. La interfaz de usuario se puede crear para que, cuando se inicialice la instalación, Installer permita al usuario modificar el nivel de instalación de cualquier característica de la tabla de características. Por ejemplo, un autor puede definir valores de nivel de instalación que representen opciones de instalación específicas, como Personalizada, Típica o Mínima, y luego crear un cuadro de diálogo que utilice SetInstallLevel ControlEvents para permitir al usuario seleccionar uno de estos estados.
  • En función del estado seleccionado por el usuario, el cuadro de diálogo establecerá la propiedad de nivel de instalación en el valor correspondiente. Si el autor asigna un nivel Típico de 100 y el usuario selecciona Típico, solo se instalarán aquellas características con un nivel de 100 o menos. Además, la opción Personalizada podría dar lugar a otro cuadro de diálogo que contenga un control SelectionTree. El control SelectionTree permite al usuario cambiar individualmente si se instala o no cada característica.

Validación

ICE03
ICE06
ICE10
ICE14
ICE21
ICE32
ICE41
ICE45
ICE47
ICE50
ICE57
ICE59
ICE62
ICE67
ICE79
ICE86
ICE94