Présentation de ControlEvent,

ControlEvents est analogue à Microsoft Windows messages dans les applications Win32. toutefois, au lieu de créer une fonction de rappel pour recevoir des messages Windows et envoyer des messages Windows avec la fonction SendMessage , le programme d’installation de l’interface utilisateur et les contrôles publient ControlEvents. D’autres contrôles et le programme d’installation peuvent être spécifiés pour s’abonner à un ControlEvents particulier qui modifie ensuite les attributs du contrôle d’abonnement. Pour ajouter des contrôles de travail aux boîtes de dialogue, l’auteur de l’interface utilisateur spécifie la publication de ControlEvents dans la table ControlEvent, et abonne les contrôles à ControlEvents dans la table EventMapping.

Le programme d’installation publiera les événements suivants sur les contrôles d’abonnement listés dans le tableau EventMapping. Un contrôle ProgressBar ou un contrôle de tableau blanc s’abonne généralement à SetProgress, le reste est abonné aux contrôles de texte.

ActionData ControlEvent,

ActionText ControlEvent,

SetProgress ControlEvent,

TimeRemaining ControlEvent,

ScriptInProgress ControlEvent,

Les événements suivants sont publiés par le contrôle lorsque la sélection de l’élément est déplacée dans un contrôle SelectionTree ou un contrôle DirectoryList. Les contrôles d’abonnement doivent se trouver dans la même boîte de dialogue et être listés dans le tableau EventMapping.

IgnoreChange ControlEvent,

SelectionDescription ControlEvent,

Sélection de ControlEvent,

SelectionPath ControlEvent,

SelectionAction ControlEvent,

SelectionNoItems ControlEvent,

Le ControlEvents suivant peut être publié à la discrétion d’un utilisateur en interagissant avec un contrôle de bouton de commande ou un contrôle de case à cocher sur une boîte de dialogue. Le contrôle CheckBox peut uniquement publier les événements AddLocal, AddSource, Remove, inaction et SetProperty. avec les versions de Windows Installer fournies avec Windows Server 2003 et versions ultérieures, le contrôle SelectionTree peut publier les actions action, controlevent, et SetProperty ControlEvents. L’auteur de l’interface utilisateur doit répertorier le ControlEvent, dans la table ControlEvent,. Le gestionnaire d’interface utilisateur du programme d’installation est l’abonné à ces événements.

AddLocal ControlEvent,

AddSource ControlEvent,

CheckExistingTargetPath ControlEvent,

CheckTargetPath ControlEvent,

Action ControlEvent,

EnableRollback ControlEvent,

ControlEvent, EndDialog

NewDialog ControlEvent,

Réinstaller ControlEvent,

ReinstallMode ControlEvent,

Supprimer ControlEvent,

Réinitialiser ControlEvent,

SetInstallLevel ControlEvent,

ControlEvent, SetProperty

SetTargetPath ControlEvent,

SpawnDialog ControlEvent,

SpawnWaitDialog ControlEvent,

ValidateProductID ControlEvent,

Un contrôle PUSHBUTTON peut publier les événements suivants dans un contrôle SelectionTree d’abonnement ou un contrôle DirectoryList situé dans la même boîte de dialogue. Le contrôle PushButton doit être listé dans la table ControlEvent, et les contrôles d’abonnement doivent être listés dans la table EventMapping.

SelectionBrowse ControlEvent,

DirectoryListUp ControlEvent,

DirectoryListNew ControlEvent,

DirectoryListOpen ControlEvent,

Les événements de contrôle requièrent généralement que l’interface utilisateur soit exécutée au niveau de l' interface utilisateur complète . La plupart des ControlEvents ne fonctionneront pas avec une interface utilisateur réduite ou une interface utilisateur de base , car ces niveaux affichent uniquement des boîtes de dialogue non modales. Les événements ActionText, AddSource, SetProgress, TimeRemaining et ScriptInProgress sont des exceptions et fonctionnent dans une interface utilisateur réduite ou de base. Pour plus d’informations sur les niveaux d’interface utilisateur, consultez niveaux d’interface utilisateur.

Vous pouvez exécuter des actions personnalisées en publiant un ControlEvent, à partir d’un contrôle de bouton de commande ou d’un contrôle CheckBox. Ajoutez un enregistrement à la table ControlEvent, avec les noms de la boîte de dialogue et le contrôle qui publie ControlEvent,. Ce contrôle doit publier un ControlEvent, de script qui notifie le programme d’installation de l’exécution de l’action personnalisée. sur Windows XP ou les systèmes antérieurs, vous ne pouvez pas exécuter une action personnalisée en publiant un controlevent, à partir d’un contrôle SelectionTree.

Pour plus d’informations sur le ControlEvents particulier, consultez la liste des données de référence de l’interface utilisateurstandard ControlEvents .