Поделиться через


Функция MsiSetFeatureAttributesA (msiquery.h)

Функция MsiSetFeatureAttributes может изменять атрибуты компонента по умолчанию во время выполнения. Обратите внимание, что атрибуты компонентов по умолчанию создаются в столбце Атрибуты таблицы признаков.

Синтаксис

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

Параметры

[in] hInstall

Обработка установки, предоставленной пользовательскому действию DLL или полученная с помощью MsiOpenPackage, MsiOpenPackageEx или MsiOpenProduct.

[in] szFeature

Указывает имя компонента в продукте.

[in] dwAttributes

Атрибуты признаков, указанные во время выполнения в виде набора битовых флагов:

Константа Значение
INSTALLFEATUREATTRIBUTE_FAVORLOCAL
1
Изменяет атрибуты компонентов по умолчанию на msidbFeatureAttributesFavorLocal во время выполнения. Описание см. в столбце Атрибуты таблицы Признаков .
INSTALLFEATUREATTRIBUTE_FAVORSOURCE
2
Изменяет атрибуты компонентов по умолчанию для msidbFeatureAttributesFavorSource во время выполнения. Описание см. в столбце Атрибуты таблицы Признаков .
INSTALLFEATUREATTRIBUTE_FOLLOWPARENT
4
Изменяет атрибуты компонентов по умолчанию для msidbFeatureAttributesFollowParent во время выполнения. Обратите внимание, что этот атрибут не является допустимым для компонентов верхнего уровня. Описание см. в столбце Атрибуты таблицы Признаков .
INSTALLFEATUREATTRIBUTE_FAVORADVERTISE
8
Изменяет атрибуты компонентов по умолчанию для msidbFeatureAttributesFavorAdvertise во время выполнения. Описание см. в столбце Атрибуты таблицы Признаков .
INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE
16
Изменяет атрибуты компонентов по умолчанию для msidbFeatureAttributesDisallowAdvertise во время выполнения. Описание см. в столбце Атрибуты таблицы Признаков .
INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE
32
Изменяет атрибуты компонентов по умолчанию на msidbFeatureAttributesNoUnsupportedAdvertise во время выполнения. Описание см. в столбце Атрибуты таблицы Признаков .

Возвращаемое значение

Эта функция возвращает UINT.

Комментарии

MsiSetFeatureAttributes необходимо вызывать после действия CostInitialize и перед действием CostFinalize. Функция возвращает ERROR_FUNCTION_FAILED при вызове в любое другое время.

Флаги INSTALLFEATUREATTRIBUTE_FAVORLOCAL, INSTALLFEATUREATTRIBUTE_FAVORSOURCE и INSTALLFEATUREATTRIBUTE_FOLLOWPARENT являются взаимоисключающими. Для любого компонента можно задать только один из этих битов. Если задано несколько из этих флагов, поведение этой функции не определено.

См. раздел Вызов функций базы данных из программ.

Примечание

Заголовок msiquery.h определяет MsiSetFeatureAttributes в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или Установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP
Целевая платформа Windows
Header msiquery.h
Библиотека Msi.lib
DLL Msi.dll