Partager via


MsiSetExternalUIW, fonction (msi.h)

La fonction MsiSetExternalUI active un gestionnaire d’interface utilisateur externe. Ce gestionnaire d’interface utilisateur externe est appelé avant le gestionnaire d’interface utilisateur interne normal. Le gestionnaire d’interface utilisateur externe a la possibilité de supprimer l’interface utilisateur interne en retournant une valeur différente de zéro pour indiquer qu’il a géré les messages. Pour plus d'informations, consultez À propos de l’interface utilisateur.

Syntaxe

INSTALLUI_HANDLERW MsiSetExternalUIW(
  [in] INSTALLUI_HANDLERW puiHandler,
  [in] DWORD              dwMessageFilter,
  [in] LPVOID             pvContext
);

Paramètres

[in] puiHandler

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

[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 a été activée. Pour plus d’informations, consultez la fonction 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 sur la barre de progression . Ce message inclut des informations sur les unités jusqu’à présent et le nombre total d’unités. Pour obtenir une explication du format du message, consultez la fonction MsiProcessMessage . Ce message est envoyé uniquement à une interface utilisateur externe et n’est pas journalisé.
INSTALLLOGMODE_INITIALIZE
S’il ne s’agit pas d’une installation silencieuse, l’interface utilisateur de base a été 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 encore 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 d’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.

Valeur retournée

La valeur de retour est le gestionnaire externe précédemment défini, ou zéro (0) s’il n’y avait pas de gestionnaire défini précédemment.

Remarques

Pour restaurer le gestionnaire d’interface utilisateur précédent, le deuxième appel est effectué à MsiSetExternalUI à l’aide de la INSTALLUI_HANDLER retournée par le premier appel à MsiSetExternalUI et en spécifiant zéro (0) pour 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 ne doit être appelé qu’à partir d’une application bootstrapping . Vous ne pouvez pas appeler MsiSetExternalUI à partir d’une action personnalisée.

Notes

L’en-tête msi.h définit MsiSetExternalUI comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
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. Windows Installer sur Windows Server 2003 ou Windows XP. 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