Partager via


MsiSetExternalUIRecord, fonction (msi.h)

La fonction MsiSetExternalUIRecord active un gestionnaire d’interface utilisateur externe.

Syntaxe

UINT MsiSetExternalUIRecord(
  [in]            INSTALLUI_HANDLER_RECORD  puiHandler,
  [in]            DWORD                     dwMessageFilter,
  [in]            LPVOID                    pvContext,
  [out, optional] PINSTALLUI_HANDLER_RECORD ppuiPrevHandler
);

Paramètres

[in] puiHandler

Spécifie une fonction de rappel conforme à la spécification INSTALLUI_HANDLER_RECORD .

Pour désactiver le gestionnaire d’interface utilisateur externe actuel, appelez la fonction avec ce paramètre défini sur une valeur NULL .

[in] dwMessageFilter

Spécifie les messages à gérer à l’aide du gestionnaire de messages externe. Si le gestionnaire externe retourne un résultat non nul, ce message n’est pas envoyé à l’interface utilisateur, mais le message est journalisé si la journalisation est activée. Pour plus d’informations, consultez MsiEnableLog.

Valeur Signification
INSTALLLOGMODE_FILESINUSE
Informations d’utilisation des fichiers.

Lorsque ce message est reçu, une boîte de dialogue FilesInUse doit s’afficher.

INSTALLLOGMODE_FATALEXIT
Arrêt prématuré de l’installation.
INSTALLLOGMODE_ERROR
Les messages d’erreur sont consignés.
INSTALLLOGMODE_WARNING
Les messages d’avertissement sont consignés.
INSTALLLOGMODE_USER
Les demandes utilisateur sont consignées.
INSTALLLOGMODE_INFO
Les messages status qui ne sont pas affichés sont consignés.
INSTALLLOGMODE_RESOLVESOURCE
Demande de déterminer un emplacement source valide.
INSTALLLOGMODE_RMFILESINUSE
Informations d’utilisation des fichiers. Lorsque ce message est reçu, une boîte de dialogue MsiRMFilesInUse doit s’afficher.
INSTALLLOGMODE_OUTOFDISKSPACE
l’espace disque est insuffisant.
INSTALLLOGMODE_ACTIONSTART
Le début des nouvelles actions d’installation est journalisé.
INSTALLLOGMODE_ACTIONDATA
L’enregistrement de données avec l’action d’installation est journalisé.
INSTALLLOGMODE_COMMONDATA
Les paramètres d’initialisation de l’interface utilisateur sont consignés.
INSTALLLOGMODE_PROGRESS
Informations de la barre de progression .

Ce message contient des informations sur les unités jusqu’à présent et le nombre total d’unités. Ce message est envoyé uniquement à une interface utilisateur externe et n’est pas journalisé. Pour plus d’informations, consultez MsiProcessMessage.

INSTALLLOGMODE_INITIALIZE
S’il ne s’agit pas d’une installation silencieuse, l’interface utilisateur de base est initialisée.

S’il s’agit d’une installation complète de l’interface utilisateur, l’interface utilisateur complète n’est pas encore initialisée.

Ce message est envoyé uniquement à une interface utilisateur externe et n’est pas journalisé.

INSTALLLOGMODE_TERMINATE
Si une interface utilisateur complète est utilisée, l’interface utilisateur complète est terminée.

S’il ne s’agit pas d’une installation silencieuse, l’interface utilisateur de base n’est pas terminée.

Ce message est envoyé uniquement à une interface utilisateur externe et n’est pas journalisé.

INSTALLLOGMODE_SHOWDIALOG
Envoyé avant l’affichage de la boîte de dialogue Interface utilisateur complète.

Ce message est envoyé uniquement à une interface utilisateur externe et n’est pas journalisé.

INSTALLLOGMODE_INSTALLSTART
L’installation du produit commence.

Le message contient les ProductName et ProductCode du produit.

INSTALLLOGMODE_INSTALLEND
Installation des extrémités du produit.

Le message contient les valeurs ProductName, ProductCode et return du produit.

[in] pvContext

Pointeur vers un contexte d’application passé à la fonction de rappel.

Ce paramètre peut être utilisé pour la vérification des erreurs.

[out, optional] ppuiPrevHandler

Retourne le pointeur vers la fonction de rappel précédemment définie qui est conforme à la spécification INSTALLUI_HANDLER_RECORD , ou NULL si aucun rappel n’est défini précédemment.

Valeur retournée

Code de retour Description
ERROR_SUCCESS
La fonction s’exécute correctement.
ERROR_CALL_NOT_IMPLEMENTED
Cette valeur indique qu’une tentative d’appel de cette fonction est effectuée à partir d’une action personnalisée.

Cette fonction ne peut pas être appelée à partir d’une action personnalisée.

Notes

Cette fonction ne peut pas être appelée à partir d’actions personnalisées.

Le gestionnaire d’interface utilisateur externe activé en appelant MsiSetExternalUIRecord reçoit des messages au format d’un objet Record. Le gestionnaire d’interface utilisateur externe activé en appelant MsiSetExternalUI reçoit des messages au format d’une chaîne. Une interface utilisateur externe est toujours appelée avant l’interface utilisateur interne de Windows Installer. Une interface utilisateur externe basée sur un enregistrement activée est appelée avant toute interface utilisateur externe basée sur une chaîne. Si le gestionnaire d’interface utilisateur externe basé sur un enregistrement retourne 0 (zéro), le message est envoyé à n’importe quel gestionnaire d’interface utilisateur externe basé sur une chaîne activé. Si le gestionnaire d’interface utilisateur externe retourne une valeur différente de zéro, le gestionnaire d’interface utilisateur Windows Installer interne est supprimé et les messages sont considérés comme gérés.

Cette fonction stocke les interfaces utilisateur externes qu’elle a définies. Pour remplacer le gestionnaire d’interface utilisateur externe actuel par un gestionnaire précédent, appelez la fonction et spécifiez le INSTALLUI_HANDLER_RECORD comme paramètre puiHandler et 0 (zéro) comme paramètre dwMessageFilter .

Le gestionnaire d’interface utilisateur externe pointé vers le paramètre puiHandler n’a pas un contrôle total sur l’interface utilisateur externe, sauf si MsiSetInternalUI est appelé avec le paramètre dwUILevel défini sur INSTALLUILEVEL_NONE. Si MsiSetInternalUI n’est pas appelé, le niveau d’interface utilisateur interne est par défaut INSTALLUILEVEL_BASIC. Par conséquent, tout message non géré par le gestionnaire d’interface utilisateur externe est géré par Windows Installer. Initial « Préparation de l’installation. . la boîte de dialogue . » s’affiche toujours même si le gestionnaire d’interface utilisateur externe gère tous les messages. MsiSetExternalUI doit être appelé uniquement à partir d’une application bootstrapping . Vous ne pouvez pas appeler MsiSetExternalUI à partir d’une action personnalisée.

Pour désactiver ce gestionnaire d’interface utilisateur externe, appelez MsiSetExternalUIRecord avec une valeur NULL pour le paramètre puiHandler .

Windows Installer 2.0 et Windows Installer 3.0 : Non pris en charge. La fonction MsiSetExternalUIRecord est disponible à partir de Windows Installer 3.1.

Pour plus d’informations sur l’utilisation d’un gestionnaire externe basé sur les enregistrements, consultez Surveillance d’une installation à l’aide de MsiSetExternalUIRecord.

Spécifications

   
Client minimal pris en charge 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. Pour plus d’informations sur le Service Pack Windows requis par une version de Windows Installer, consultez Configuration requise pour le runtime Windows.
Plateforme cible Windows
En-tête msi.h
Bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

Fonctions d’interface et de journalisation

Non pris en charge dans Windows Installer 3.0 et versions antérieures