Función MsiDoActionA (msiquery.h)

La función MsiDoAction ejecuta una acción integrada, una acción personalizada o una acción del asistente de interfaz de usuario.

Sintaxis

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

Parámetros

[in] hInstall

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

[in] szAction

Especifica la acción que se va a ejecutar.

Valor devuelto

Esta función devuelve UINT.

Comentarios

La función MsiDoAction ejecuta la acción que corresponde al nombre proporcionado. Si el instalador no reconoce el nombre como una acción integrada o como una acción personalizada en la tabla CustomAction, el nombre se pasa al objeto de controlador de interfaz de usuario, que puede invocar una función o un cuadro de diálogo. Si se proporciona un nombre de acción null, el instalador usa el valor en mayúsculas de la propiedad ACTION como acción que se va a realizar. Si no se define ningún valor de propiedad, se realiza la acción predeterminada, definida como "INSTALL".

Las acciones que actualizan el sistema, como las acciones InstallFiles y WriteRegistryValues , no se pueden ejecutar mediante una llamada a MsiDoAction. La excepción a esta regla es si se llama a MsiDoAction desde una acción personalizada programada en la tabla InstallExecuteSequence entre las acciones InstallInitialize e InstallFinalize. Se puede llamar a acciones que no actualizan el sistema, como AppSearch o CostInitialize.

Nota

El encabezado msiquery.h define MsiDoAction 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 neutral 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

   
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

Consulte también

Funciones de acción del instalador