Metodo Session.Message

Il metodo Message dell'oggetto Session esegue le operazioni di registrazione abilitate e l'esecuzione di defertori 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 utilizzata per formattare i dati negli altri campi. Se il messaggio è un errore, un avviso o un messaggio utente, viene eseguito 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

gentile

Il parametro di tipo 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 della finestra di messaggio standard usati da MessageBox e MessageBoxEx a msiMessageTypeError, msiMessageTypeWarning o msiMessageTypeUser. Per altre informazioni, vedere la sezione Osservazioni di seguito.

Costante Significato
msiMessageTypeFatalExit
&H000000000
Terminazione prematura, probabilmente irreversibile dalla memoria.
msiMessageTypeError
&H01000000
Messaggio di errore formattato, [1] è il numero di messaggio nella tabella Errori.
msiMessageTypeWarning
&H020000000
Messaggio di avviso formattato, [1] è il numero di messaggio nella tabella Errori.
msiMessageTypeUser
&H03000000
Messaggio di richiesta utente, [1] è il numero di messaggio nella tabella Errori.
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 dell'azione. I campi record corrispondono al modello di messaggio ACTIONSTART.
msiMessageTypeProgress
&H0A000000
Informazioni sulla barra di avanzamento. Vedere la descrizione dei campi record di seguito.
msiMessageTypeCommonData
&H0B000000
Per abilitare il pulsante Annulla impostato [1] su 2 e [2] su 1.
Per disabilitare il pulsante Annulla impostato [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

 

Commenti

Campi record del messaggio

Di seguito vengono descritte le definizioni dei campi 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 in Field 1 sono i seguenti.

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

 

Il significato di Field 2 dipende dal valore nel campo 1 come indicato di seguito.

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

 

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

Campo 1 valore Campo 3 valore Descrizione campo 3
0 0 Indicatore di stato 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 l'indicatore 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 di Field 4 dipende dal valore in Campo 1 come indicato di seguito.

Campo 1 valore 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 del 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 Programma di installazione 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. programma di installazione di Windows in Windows Server 2003 o Windows XP
DLL
Msi.dll
IID
IID_ISession è definito come 000C109E-0000-0000-C000-000000000046