Compartir a través de


Método Session.Message

El método Message del objeto Session realiza las operaciones de registro habilitadas y aplaza la ejecución al objeto de controlador de UI asociado al motor. El registro se puede habilitar de forma selectiva para los distintos tipos de mensajes. Consulte el método EnableLog.

Si el campo de registro 0 contiene una cadena de formato, se usa para dar formato a los datos de los demás campos. Si el mensaje no es un error, una advertencia o un mensaje de usuario, se intenta buscar una plantilla de mensaje en la tabla Error para la base de datos actual utilizando el número de error que se encuentra en el campo 1 del registro de los tipos de mensaje y los valores devueltos.

Sintaxis

Session.Message(
  kind,
  record
)

Parámetros

kind

El parámetro kind debe ser uno de los valores siguientes. Para mostrar un cuadro de mensaje con botones de inserción e iconos, calcule el valor de kind agregando los estilos de cuadro de mensaje estándar usados por MessageBox y MessageBoxEx a msiMessageTypeError, msiMessageTypeWarning o msiMessageTypeUser. Para más información, consulte la sección Comentarios más adelante.

Constante Significado
msiMessageTypeFatalExit
&H00000000
Terminación prematura, posiblemente memoria insuficiente irrecuperable.
msiMessageTypeError
&H01000000
Mensaje de error con formato, [1] es el número de mensaje en la tabla Error.
msiMessageTypeWarning
&H02000000
Mensaje de advertencia con formato, [1] es el número de mensaje en la tabla Error.
msiMessageTypeUser
&H03000000
Mensaje de solicitud de usuario, [1] es el número de mensaje en la tabla Error.
msiMessageTypeInfo
&H04000000
Mensaje informativo para el registro, no para mostrar.
msiMessageTypeFilesInUse
&H05000000
Lista de archivos en uso que se deben reemplazar.
msiMessageTypeResolveSource
&H06000000
Solicitud para determinar una ubicación de origen válida.
msiMessageTypeOutOfDiskSpace
&H07000000
Mensaje de espacio en disco insuficiente.
msiMessageTypeActionStart
&H08000000
Inicio de acción, [1] nombre de acción, [2] descripción, [3] plantilla para mensajes ACTIONDATA.
msiMessageTypeActionData
&H09000000
Datos de la acción. Los campos de registro corresponden a la plantilla del mensaje ACTIONSTART.
msiMessageTypeProgress
&H0A000000
Información de la barra de progreso. Consulte la descripción de los campos de registro a continuación.
msiMessageTypeCommonData
&H0B000000
Para habilitar el botón Cancelar, establezca [1] en 2 y [2] en 1.
Para deshabilitar el botón Cancelar, establezca [1] en 2 y [2] en 0.

 

record

Objeto Record obligatorio que contiene un campo específico del mensaje.

Valor devuelto

Constante Value
msiMessageStatusError
-1
msiMessageStatusNone
0
msiMessageStatusOk
1
msiMessageStatusCancel
2
msiMessageStatusAbort
3
msiMessageStatusRetry
4
msiMessageStatusIgnore
5
msiMessageStatusYes
6
msiMessageStatusNo
7

 

Observaciones

Campos de registro de mensajes

A continuación se describen las definiciones de campo de registro cuando msiMessageTypeProgress pasa como el tipo de mensaje.

El campo 1 especifica el tipo del mensaje de progreso. El significado de los demás campos depende del valor de este campo. Los valores posibles que se pueden establecer en el campo 1 son los siguientes.

Nombre del mensaje Value Descripción del campo 1
MasterReset 0 Restablece la barra de progreso y establece el número total esperado de tics en la barra.
ActionInfo 1 Proporciona información relacionada con los mensajes de progreso que enviará la acción actual.
ProgressReport 2 Incrementa la barra de progreso.
ProgressAddition 3 Habilita una acción (como CustomAction) para agregar tics al número total esperado de progreso de la barra de progreso.

 

El significado del campo 2 depende del valor del campo 1 como se indica a continuación.

Valor del campo 1 Descripción del campo 2
0 Número total esperado de tics en la barra de progreso.
1 Número de tics que se mueve la barra de progreso por cada mensaje de ActionData. Este campo se omite si el campo 3 es 0.
2 Número de tics que se ha movido la barra de progreso.
3 Número de tics que se van a agregar al progreso total esperado.

 

El significado del campo 3 depende del valor del campo 1 como se indica a continuación.

Valor del campo 1 Valor del campo 3 Descripción del campo 3
0 0 Barra de progreso hacia delante (de izquierda a derecha)
  1 Barra de progreso hacia atrás (de derecha a izquierda)
1 0 La acción actual enviará mensajes explícitos de ProgressReport.
  1 Incremente la barra de progreso en el número de tics especificados en el campo 2 cada vez que se envía un mensaje de ActionData.
2 No utilizado
3 No utilizado

 

El significado del campo 4 depende del valor del campo 1 como se indica a continuación.

Valor del campo 1 Valor del campo 4 Descripción del campo 4
0 0 La ejecución está en curso. En este caso, la UI podría calcular y mostrar el tiempo restante.
  1 Creación del script de ejecución. En este caso, la UI podría mostrar un mensaje de “por favor, espere” mientras el instalador finaliza la preparación de la instalación.
1 No utilizado
2 No utilizado
3 No utilizado

 

Muestra de cuadros de mensaje

Para mostrar un cuadro de mensaje con botones de inserción e iconos, calcule el valor de kind agregando los estilos de cuadro de mensaje estándar usados por MessageBox y MessageBoxEx a msiMessageTypeError, msiMessageTypeWarning o msiTypeUser. Las opciones de botón de inserción disponibles para VBScript son vbOKOnly (MB_OK), vbOKCancel (MB_OKCANCEL), vbAbortRetryIgnore (MB_ABORTRETRYIGNORE), vbYesNoCancel (MB_YESNOCANCEL), vbYesNo (MB_YESNO) y vbRetryCancel (MB_RETRYCANCEL). Las opciones de icono disponibles para VBScript son vbCritical (MB_ICONERROR), vbQuestion (MB_ICONQUESTION), vbExclamation (MB_ICONWARNING) y vbInformation (MB_ICONINFORMATION).

Por ejemplo, la siguiente llamada envía un mensaje msiMessageTypeError con el icono vbExclamation y los botones vbYesNo.

Session.Message &H01000034, record

Si una acción personalizada llama al método Message, la acción personalizada debería ser capaz de controlar una cancelación por parte de la persona usuaria y debería devolver msiDoActionStatusUserExit.

Requisitos

Requisito Value
Versión
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
Archivo DLL
Msi.dll
IID
IID_ISession se define como 000C109E-0000-0000-C000-000000000046