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


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

Функция MsiDoAction выполняет встроенное действие, настраиваемое действие или действие мастера пользовательского интерфейса.

Синтаксис

UINT MsiDoActionA(
  [in] MSIHANDLE hInstall,
  [in] LPCSTR    szAction
);

Параметры

[in] hInstall

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

[in] szAction

Указывает действие для выполнения.

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

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

Замечания

Функция MsiDoAction выполняет действие, соответствующее указанному имени. Если имя не распознается установщиком как встроенное действие или как настраиваемое действие в таблице customAction , имя передается объекту обработчика пользовательского интерфейса, который может вызвать функцию или диалоговое окно. Если задано имя действия NULL, установщик использует значение верхнего регистра свойства ACTION в качестве выполняемого действия. Если значение свойства не определено, действие по умолчанию определяется как "INSTALL".

Действия, обновляющие систему, такие как InstallFiles и WriteRegistryValues действия, не могут выполняться путем вызова MsiDoAction. Исключение этого правила заключается в том, что MsiDoAction вызывается из пользовательского действия, запланированного в таблице installExecuteSequence между InstallInitialize и действиями InstallFinalize. Можно вызвать действия, которые не обновляют систему, например AppSearch или CostInitialize.

Заметка

Заголовок msiquery.h определяет MsiDoAction как псевдоним, который автоматически выбирает версию 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
целевая платформа Виндоус
заголовка msiquery.h
библиотеки Msi.lib
DLL Msi.dll

См. также

функций действий установщика