Función MsiSetFeatureAttributesA (msiquery.h)

La función MsiSetFeatureAttributes puede modificar los atributos predeterminados de una característica en tiempo de ejecución. Tenga en cuenta que los atributos predeterminados de las características se crean en la columna Atributos de la tabla Característica.

Sintaxis

UINT MsiSetFeatureAttributesA(
  [in] MSIHANDLE hInstall,
  [in] LPCSTR    szFeature,
  [in] DWORD     dwAttributes
);

Parámetros

[in] hInstall

Controle la instalación proporcionada a una acción personalizada de DLL o obtenida a través de MsiOpenPackage, MsiOpenPackageEx o MsiOpenProduct.

[in] szFeature

Especifica el nombre de la característica dentro del producto.

[in] dwAttributes

Atributos de características especificados en tiempo de ejecución como un conjunto de marcas de bits:

Constante Significado
INSTALLFEATUREATTRIBUTE_FAVORLOCAL
1
Modifica los atributos de característica predeterminados a msidbFeatureAttributesFavorLocal en tiempo de ejecución. Consulte la columna Atributos de la tabla De características para obtener una descripción.
INSTALLFEATUREATTRIBUTE_FAVORSOURCE
2
Modifica los atributos de característica predeterminados a msidbFeatureAttributesFavorSource en tiempo de ejecución. Consulte la columna Atributos de la tabla De características para obtener una descripción.
INSTALLFEATUREATTRIBUTE_FOLLOWPARENT
4
Modifica los atributos de característica predeterminados a msidbFeatureAttributesFollowParent en tiempo de ejecución. Tenga en cuenta que no es un atributo válido que se va a establecer para las características de nivel superior. Consulte la columna Atributos de la tabla De características para obtener una descripción.
INSTALLFEATUREATTRIBUTE_FAVORADVERTISE
8
Modifica los atributos de característica predeterminados a msidbFeatureAttributesFavorAdvertise en tiempo de ejecución. Consulte la columna Atributos de la tabla De características para obtener una descripción.
INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE
16
Modifica los atributos de característica predeterminados a msidbFeatureAttributesDisallowAdvertise en tiempo de ejecución. Consulte la columna Atributos de la tabla De características para obtener una descripción.
INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE
32
Modifica los atributos de característica predeterminados a msidbFeatureAttributesNoUnsupportedAdvertise en tiempo de ejecución. Consulte la columna Atributos de la tabla De características para obtener una descripción.

Valor devuelto

Esta función devuelve UINT.

Comentarios

Se debe llamar a MsiSetFeatureAttributes después de la acción CostInitialize y antes de la acción CostFinalize. La función devuelve ERROR_FUNCTION_FAILED si se llama en cualquier otro momento.

Las marcas INSTALLFEATUREATTRIBUTE_FAVORLOCAL, INSTALLFEATUREATTRIBUTE_FAVORSOURCE y INSTALLFEATUREATTRIBUTE_FOLLOWPARENT son mutuamente excluyentes. Solo se puede establecer uno de estos bits para cualquier característica. Si se establece más de una de estas marcas, el comportamiento de esa característica no está definido.

Consulte Llamar a funciones de base de datos desde programas.

Nota

El encabezado msiquery.h define MsiSetFeatureAttributes como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Windows Installer en Windows Server 2003 o Windows XP
Plataforma de destino Windows
Encabezado msiquery.h
Library Msi.lib
Archivo DLL Msi.dll