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

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

Синтаксис

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

Параметры

[in] hInstall

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

[in] szAction

Указывает действие, которое необходимо выполнить.

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

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

Комментарии

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

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

Примечание

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

Требования

   
Минимальная версия клиента Установщик 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

См. также раздел

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