Partager via


MsiSetExternalUIA, 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’elle a géré les messages. Pour plus d’informations, consultez À propos de l’interface utilisateur.

Syntaxe

INSTALLUI_HANDLERA MsiSetExternalUIA(
  [in] INSTALLUI_HANDLERA 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 externes. Si le gestionnaire externe retourne un résultat non nul, ce message ne sera pas envoyé à l’interface utilisateur, au lieu de cela, le message sera journalisé si la journalisation a été activée. Pour plus d’informations, consultez la fonction MsiEnableLog.

Valeur Signification
INSTALLLOGMODE_FILESINUSE
Fichiers en cours d’utilisation. 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 enregistrés.
INSTALLLOGMODE_WARNING
Les messages d’avertissement sont enregistrés.
INSTALLLOGMODE_USER
Les demandes utilisateur sont journalisées.
INSTALLLOGMODE_INFO
Les messages d’état qui ne sont pas affichés sont enregistrés.
INSTALLLOGMODE_RESOLVESOURCE
Demande de déterminer un emplacement source valide.
INSTALLLOGMODE_RMFILESINUSE
Fichiers en cours d’utilisation. Lorsque ce message est reçu, une boîte de dialogue MsiRMFilesInUse doit être affichée.
INSTALLLOGMODE_OUTOFDISKSPACE
L’espace disque était 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 enregistrés.
INSTALLLOGMODE_PROGRESS
barre de progression informations. 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 de 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, la complète de l’interface utilisateur n’est pas encore initialisée. Ce message est envoyé uniquement à une interface utilisateur externe et n’est pas journalisé.
INSTALLLOGMODE_TERMINATE
Si une d’interface utilisateur complète est utilisée, l' d’interface utilisateur complète s’est terminée. S’il ne s’agit pas d’une installation silencieuse, l’interface utilisateur de base n’a pas encore pris fin. 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 ProductName et ProductCode du produit.

INSTALLLOGMODE_INSTALLEND
L’installation du produit se termine.

Le message contient la valeur 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 de retour

La valeur de retour est le gestionnaire externe défini précédemment, 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é pour MsiSetExternalUI à l’aide du INSTALLUI_HANDLER retourné par le premier appel à MsiSetExternalUI et en spécifiant zéro (0) pour dwMessageFilter.

Le gestionnaire d’interface utilisateur externe pointé par le paramètre puiHandler n’a pas de 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 défini par défaut sur 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 à 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.

Note

L’en-tête msi.h définit MsiSetExternalUI comme 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.

Exigences

Exigence Valeur
client minimum 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. Consultez la configuration requise de Windows Installer Run-Time pour plus d’informations sur le service pack Windows minimal requis par une version de Windows Installer.
plateforme cible Windows
d’en-tête msi.h
bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

fonctions d’interface et de journalisation