Compartir a través de


Función MsiSetExternalUIA (msi.h)

La función MsiSetExternalUI habilita un controlador de interfaz de usuario externo. Se llama a este controlador de interfaz de usuario externo antes del controlador de interfaz de usuario interno normal. El controlador de interfaz de usuario externo tiene la opción de suprimir la interfaz de usuario interna devolviendo un valor distinto de cero para indicar que ha controlado los mensajes. Para obtener más información, vea Acerca de la interfaz de usuario.

Sintaxis

INSTALLUI_HANDLERA MsiSetExternalUIA(
  [in] INSTALLUI_HANDLERA puiHandler,
  [in] DWORD              dwMessageFilter,
  [in] LPVOID             pvContext
);

Parámetros

[in] puiHandler

Especifica una función de devolución de llamada que se ajusta a la especificación de INSTALLUI_HANDLER.

[in] dwMessageFilter

Especifica qué mensajes se van a controlar mediante el controlador de mensajes externo. Si el controlador externo devuelve un resultado distinto de cero, ese mensaje no se enviará a la interfaz de usuario, sino que el mensaje se registrará si se ha habilitado el registro. Para obtener más información, consulte la función MsiEnableLog.

Valor Significado
INSTALLLOGMODE_FILESINUSE
Archivos en la información de uso. Cuando se recibe este mensaje, se debe mostrar un FilesInUse Dialog.
INSTALLLOGMODE_FATALEXIT
Terminación prematura de la instalación.
INSTALLLOGMODE_ERROR
Los mensajes de error se registran.
INSTALLLOGMODE_WARNING
Los mensajes de advertencia se registran.
INSTALLLOGMODE_USER
Las solicitudes de usuario se registran.
INSTALLLOGMODE_INFO
Los mensajes de estado que no se muestran se registran.
INSTALLLOGMODE_RESOLVESOURCE
Solicitud para determinar una ubicación de origen válida.
INSTALLLOGMODE_RMFILESINUSE
Archivos en la información de uso. Cuando se recibe este mensaje, se debe mostrar un diálogo MsiRMFilesInUse.
INSTALLLOGMODE_OUTOFDISKSPACE
No había suficiente espacio en disco.
INSTALLLOGMODE_ACTIONSTART
Se registra el inicio de las nuevas acciones de instalación.
INSTALLLOGMODE_ACTIONDATA
Se registra el registro de datos con la acción de instalación.
INSTALLLOGMODE_COMMONDATA
Los parámetros para la inicialización de la interfaz de usuario se registran.
INSTALLLOGMODE_PROGRESS
barra progreso información. Este mensaje incluye información sobre las unidades hasta ahora y el número total de unidades. Para obtener una explicación del formato de mensaje, consulte la función MsiProcessMessage. Este mensaje solo se envía a una interfaz de usuario externa y no se registra.
INSTALLLOGMODE_INITIALIZE
Si no se trata de una instalación silenciosa, se ha inicializado la interfaz de usuario básica . Si se trata de una instalación completa de de interfaz de usuario de , aún no se inicializa el de interfaz de usuario completa . Este mensaje solo se envía a una interfaz de usuario externa y no se registra.
INSTALLLOGMODE_TERMINATE
Si se usa una de interfaz de usuario completa , se ha finalizado el de interfaz de usuario completa . Si no se trata de una instalación silenciosa, la interfaz de usuario básica aún no ha finalizado. Este mensaje solo se envía a una interfaz de usuario externa y no se registra.
INSTALLLOGMODE_SHOWDIALOG
Enviado antes de mostrar el cuadro de diálogo de interfaz de usuario completa. Este mensaje solo se envía a una interfaz de usuario externa y no se registra.
INSTALLLOGMODE_INSTALLSTART
Comienza la instalación del producto.

El mensaje contiene productName y ProductCode del producto.

INSTALLLOGMODE_INSTALLEND
Finaliza la instalación del producto.

El mensaje contiene el valor ProductName, ProductCode y return del producto.

[in] pvContext

Puntero a un contexto de aplicación que se pasa a la función de devolución de llamada. Este parámetro se puede usar para la comprobación de errores.

Valor devuelto

El valor devuelto es el controlador externo establecido anteriormente o cero (0) si no había ningún controlador establecido previamente.

Observaciones

Para restaurar el controlador de interfaz de usuario anterior, se realiza la segunda llamada a MsiSetExternalUI mediante la INSTALLUI_HANDLER devuelta por la primera llamada a MsiSetExternalUI y especificando cero (0) para dwMessageFilter.

El controlador de interfaz de usuario externo al que apunta el parámetro puiHandler no tiene control total sobre la interfaz de usuario externa a menos que se llame a MsiSetInternalUI con el parámetro dwUILevel establecido en INSTALLUILEVEL_NONE. Si no se llama a MsiSetInternalUI, el nivel de interfaz de usuario interno tiene como valor predeterminado INSTALLUILEVEL_BASIC. Como resultado, Windows Installer controla cualquier mensaje no controlado por el controlador de interfaz de usuario externo. La inicial "Preparación para la instalación. . El cuadro de diálogo ." siempre aparece aunque el controlador de interfaz de usuario externo controle todos los mensajes.

MsiSetExternalUI solo se debe llamar desde una aplicación de arranque de . No se puede llamar a MsiSetExternalUI desde una acción personalizada.

Nota

El encabezado msi.h define MsiSetExternalUI 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 dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido 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. Consulte Windows Installer Run-Time Requirements (Requisitos de Windows Installer) para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer.
de la plataforma de destino de Windows
encabezado de msi.h
biblioteca de Msi.lib
DLL de Msi.dll

Consulte también

de funciones de interfaz y registro de