Condividi tramite


Metodo Session.Message

Il metodo Message dell'oggetto Session esegue qualsiasi operazione di registrazione abilitata e rinvia l'esecuzione all'oggetto gestore dell'interfaccia utente associato al motore. La registrazione può essere abilitata in modo selettivo per i vari tipi di messaggio. Vedere il metodo EnableLog.

Se il campo record 0 contiene una stringa di formattazione, viene usato per formattare i dati negli altri campi. In caso contrario, se il messaggio è un errore, un avviso o un messaggio utente, viene effettuato un tentativo di trovare un modello di messaggio nella tabella Errore per il database corrente usando il numero di errore trovato nel campo 1 del record per i tipi di messaggio e i valori restituiti.

Sintassi

Session.Message(
  kind,
  record
)

Parametri

kind

Il parametro kind deve essere uno dei valori seguenti. Per visualizzare una finestra di messaggio con pulsanti e icone push, calcolare il valore di tipo aggiungendo gli stili standard della finestra di messaggio usati da MessageBox e MessageBoxEx a msiMessageTypeError, msiMessageTypeWarning o msiMessageTypeUser. Per altre informazioni, vedere la sezione Osservazioni di seguito.

Costante Significato
msiMessageTypeFatalExit
&H00000000
Terminazione prematura, possibilmente fatale dalla memoria.
msiMessageTypeError
&H01000000
Messaggio di errore formattato, [1] è il numero di messaggio nella tabella Errore.
msiMessageTypeWarning
&H02000000
Messaggio di avviso formattato, [1] è il numero di messaggio nella tabella Errore.
msiMessageTypeUser
&H03000000
Messaggio di richiesta dell'utente, [1] è il numero di messaggio nella tabella Errore.
msiMessageTypeInfo
&H04000000
Messaggio informativo per il log, non da visualizzare.
msiMessageTypeFilesInUse
&H05000000
Elenco di file in uso che devono essere sostituiti.
msiMessageTypeResolveSource
&H06000000
Richiedere di determinare un percorso di origine valido.
msiMessageTypeOutOfDiskSpace
&H07000000
Messaggio di spazio su disco insufficiente.
msiMessageTypeActionStart
&H08000000
Inizio dell'azione, [1] nome azione, [2] descrizione, [3] modello per i messaggi ACTIONDATA.
msiMessageTypeActionData
&H09000000
Dati delle azioni. I campi record corrispondono al modello del messaggio ACTIONSTART.
msiMessageTypeProgress
&H0A000000
Informazioni sull'indicatore di stato. Vedere la descrizione dei campi dei record di seguito.
msiMessageTypeCommonData
&H0B000000
Per abilitare il pulsante Annulla impostare [1] su 2 e [2] su 1.
Per disabilitare il pulsante Annulla impostare [1] su 2 e [2] su 0

 

Registrazione

Oggetto Record obbligatorio contenente un campo specifico del messaggio.

Valore restituito

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

 

Osservazioni:

Campi record messaggio

Di seguito vengono descritte le definizioni dei campi di record quando msiMessageTypeProgress viene passato come tipo di messaggio.

Il campo 1 specifica il tipo del messaggio di stato. Il significato degli altri campi dipende dal valore in questo campo. I valori possibili che possono essere impostati nel campo 1 sono i seguenti.

Nome messaggio Valore Descrizione campo 1
MasterReset 0 Reimposta l'indicatore di stato e imposta il numero totale previsto di tick nella barra.
ActionInfo 1 Fornisce informazioni relative ai messaggi di stato da inviare dall'azione corrente.
ProgressReport 2 Incrementa l'indicatore di stato.
ProgressAddition 3 Consente a un'azione, ad esempio CustomAction, di aggiungere tick al numero totale previsto di avanzamento della barra di stato.

 

Il significato del campo 2 dipende dal valore in Campo 1 come indicato di seguito.

Valore campo 1 Descrizione campo 2
0 Numero totale previsto di tick nell'indicatore di stato.
1 Numero di segni di graduazione spostati sulla barra di stato per ogni messaggio ActionData. Questo campo viene ignorato se il campo 3 è 0.
2 Numero di tick spostati dall'indicatore di stato.
3 Numero di tick da aggiungere al totale dello stato previsto.

 

Il significato del campo 3 dipende dal valore in Campo 1 come indicato di seguito.

Valore campo 1 Valore campo 3 Descrizione campo 3
0 0 Indicatore di stato in avanti (da sinistra a destra)
  1 Barra di stato indietro (da destra a sinistra)
1 0 L'azione corrente invierà messaggi ProgressReport espliciti.
  1 Incrementare la barra di stato in base al numero di tick specificati nel campo 2 ogni volta che viene inviato un messaggio ActionData.
2 Non utilizzato
3 Non utilizzato

 

Il significato del campo 4 dipende dal valore in Campo 1 come indicato di seguito.

Valore campo 1 Campo 4 valore Descrizione campo 4
0 0 L'esecuzione è in corso. In questo caso, l'interfaccia utente potrebbe calcolare e visualizzare il tempo rimanente.
  1 Creazione dello script di esecuzione. In questo caso, l'interfaccia utente potrebbe visualizzare un messaggio per attendere mentre il programma di installazione termina la preparazione dell'installazione.
1 Non utilizzato
2 Non utilizzato
3 Non utilizzato

 

Visualizzazione di finestre di messaggio

Per visualizzare una finestra di messaggio con pulsanti e icone push, calcolare il valore di tipo aggiungendo gli stili standard della finestra di messaggio usati da MessageBox e MessageBoxEx a msiMessageTypeError, msiMessageTypeWarning o msiTypeUser. Le opzioni disponibili per il pulsante push per VBScript sono vbOKOnly (MB_OK), vbOKCancel (MB_OKCANCEL), vbAbortRetryIgnore (MB_ABORTRETRYIGNORE), vbYesNoCancel (MB_YESNOCANCEL), vbYesNo (MB_YESNO) e vbRetryCancel (MB_RETRYCANCEL). Le opzioni dell'icona disponibili per VBScript sono vbCritical (MB_ICONERROR), vbQuestion (MB_ICONQUESTION), vbExclamation (MB_ICONWARNING) e vbInformation (MB_ICONINFORMATION).

Ad esempio, la chiamata seguente invia un messaggio msiMessageTypeError con l'icona vbExclamation e i pulsanti vbYesNo.

Session.Message &H01000034, record

Se un'azione personalizzata chiama il metodo Message , l'azione personalizzata deve essere in grado di gestire un annullamento da parte dell'utente e deve restituire msiDoActionStatusUserExit.

Requisiti

Requisito Valore
Versione
Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP
DLL
Msi.dll
IID
IID_ISession è definito come 000C109E-0000-0000-C000-0000000000046