méthode Session.Message

La méthode Message de l’objet Session effectue toutes les opérations de journalisation activées et reporte l’exécution à l’objet gestionnaire de l’UI associé au moteur. La journalisation peut être activée de manière sélective pour les différents types de messages. Consultez la méthode EnableLog.

Si le champ d’enregistrement 0 contient une chaîne de mise en forme, il est utilisé pour mettre en forme les données des autres champs. Sinon, si le message est une erreur, un avertissement ou un message d'utilisateur, une tentative de recherche d'un modèle de message dans la table Erreurs de la base de données actuelle sera effectuée en utilisant le numéro d'erreur figurant dans la zone 1 de l'enregistrement des types de messages et des valeurs de retour.

Syntaxe

Session.Message(
  kind,
  record
)

Paramètres

kind

Le paramètre type doit être l’une des valeurs suivantes. Pour afficher une boîte de message avec des boutons push et des icônes, calculez la valeur de type en ajoutant les styles de boîte de message standard utilisés par MessageBox et MessageBoxEx à msiMessageTypeError, msiMessageTypeWarning ou msiMessageTypeUser. Pour plus d'informations, voir la section Remarques ci-dessous.

Constant Signification
msiMessageTypeFatalExit
&H00000000
Interruption prématurée, voire fatale, de la mémoire.
msiMessageTypeError
&H01000000
Message d'erreur formaté, [1] est le numéro du message dans la table Erreurs.
msiMessageTypeWarning
&H02000000
Message d'avertissement formaté, [1] est le numéro du message dans la table Erreurs.
msiMessageTypeUser
&H03000000
Message de requête de l'utilisateur, [1] est le numéro du message dans la table Erreurs.
msiMessageTypeInfo
&H04000000
Message d’information pour le journal, à ne pas afficher.
msiMessageTypeFilesInUse
&H05000000
Liste des fichiers en cours d’utilisation devant être remplacés.
msiMessageTypeResolveSource
&H06000000
Demande de déterminer un emplacement source valide.
msiMessageTypeOutOfDiskSpace
&H07000000
Message d'espace disque insuffisant.
msiMessageTypeActionStart
&H08000000
Début de l’action, [1] nom de l’action, [2] description, [3] modèle pour les messages ACTIONDATA.
msiMessageTypeActionData
&H09000000
Données d’action. Les champs d’enregistrement correspondent au modèle de message ACTIONSTART.
msiMessageTypeProgress
&H0A000000
Informations sur la barre de progression. Consultez la description des champs d’enregistrement ci-dessous.
msiMessageTypeCommonData
&H0B000000
Pour activer le bouton Annuler, définissez [1] sur 2 et [2] sur 1.
Pour désactiver le bouton Annuler, définissez [1] sur 2 et [2] sur 0

 

enregistrement

Objet Enregistrement obligatoire contenant un champ spécifique au message.

Valeur retournée

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

 

Notes

Champs d’enregistrement de message

L’exemple suivant décrit les définitions de champ d’enregistrement lorsque msiMessageTypeProgress est passé comme type de message.

Le champ 1 spécifie le type du message de progression. La signification des autres champs dépend de la valeur de ce dernier. Les valeurs possibles pouvant être définies dans le champ 1 sont les suivantes.

Nom du message Valeur Description du champ 1
MasterReset 0 Réinitialise la barre de progression et définit le nombre total de graduations attendues dans la barre.
ActionInfo 1 Fournit des informations relatives aux messages de progression à envoyer par l'action en cours.
ProgressReport 2 Augmente la barre de progression.
ProgressAddition 3 Permet à une action (telle que CustomAction) d’ajouter des graduations supplémentaires à la barre de progression.

 

La signification de la zone 2 dépend de la valeur de la zone 1 comme indiqué ci-après.

Valeur du champ 1 Description du champ 2
0 Nombre total de graduations attendues dans la barre de progression.
1 Nombre de crans effectués par la barre de progression pour chaque message ActionData. Ce champ est ignoré si le champ 3 a la valeur 0.
2 Nombre de crans effectués par la barre de progression.
3 Nombre de graduations à ajouter à la progression totale attendue.

 

La signification du champ 3 dépend de la valeur du champ 1 comme indiqué ci-après.

Valeur du champ 1 Valeur du champ 3 Description du champ 3
0 0 Progression de la barre vers l’avant (de gauche à droite)
  1 Progression de la barre vers l’arrière (de droite à gauche)
1 0 L’action actuelle envoie des messages ProgressReport explicites.
  1 Agrandit la barre de progression par le nombre de graduations spécifiées dans le champ 2 à chaque fois qu’un message ActionData est envoyé.
2 Inutilisé
3 Inutilisé

 

La signification du champ 4 dépend de la valeur du champ 1 comme indiqué ci-après.

Valeur du champ 1 Valeur du champ 4 Description du champ 4
0 0 L’exécution est en cours. Dans ce cas, l’UI peut calculer et afficher le temps restant.
  1 Création du script d’exécution. Dans ce cas, l’UI peut afficher un message demandant de patienter pendant que le programme d’installation termine la préparation de l’installation.
1 Inutilisé
2 Inutilisé
3 Inutilisé

 

Afficher des boîtes de message

Pour afficher une boîte de message avec des boutons push et des icônes, calculez la valeur de type en ajoutant les styles de boîte de message standards utilisés par MessageBox et MessageBoxEx à msiMessageTypeError, msiMessageTypeWarning ou msiTypeUser. Les options de bouton push disponibles pour VBScript sont vbOKOnly (MB_OK), vbOKCancel (MB_OKCANCEL), vbAbortRetryIgnore (MB_ABORTRETRYIGNORE), vbYesNoCancel (MB_YESNOCANCEL), vbYesNo (MB_YESNO) et vbRetryCancel (MB_RETRYCANCEL). Les options d’icône disponibles pour VBScript sont vbCritical (MB_ICONERROR), vbQuestion (MB_ICONQUESTION), vbExclamation (MB_ICONWARNING) et vbInformation (MB_ICONINFORMATION).

Par exemple, l’appel suivant envoie un message msiMessageTypeError avec l’icône vbExclamation et les boutons vbYesNo.

Session.Message &H01000034, record

Si une action personnalisée appelle la méthode Message , l’action personnalisée doit être en mesure de gérer une annulation par l’utilisateur et doit retourner msiDoActionStatusUserExit.

Configuration requise

Condition requise Valeur
Version
Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP
DLL
Msi.dll
IID
IID_ISession est défini comme 000C109E-0000-0000-C000-000000000046