Cenni preliminari su ControlEvent
ControlEvents sono analoghi ai messaggi di Microsoft Windows nelle applicazioni basate su Win32. Tuttavia, anziché creare una funzione di callback per ricevere messaggi di Windows e inviare messaggi di Windows con la funzione SendMessage, il programma di installazione dell'interfaccia utente e i controlli pubblicano ControlEvents. È possibile specificare altri controlli e il programma di installazione per sottoscrivere determinati eventi ControlEvent che modificheranno quindi gli attributi del controllo di sottoscrizione. Per aggiungere controlli di lavoro alle finestre di dialogo, l'autore dell'interfaccia utente specifica la pubblicazione di ControlEvents nella tabella ControlEvent e sottoscrive i controlli ControlEvents nella tabella EventMapping .
Il programma di installazione pubblicherà i seguenti eventi ai controlli sottoscritti elencati nella tabella di mappatura eventi . Un controllo ProgressBar o controllo Billboard in genere sottoscrive SetProgress, il resto viene sottoscritto dai controlli Text .
Evento di Controllo ScriptInProgress
Gli eventi seguenti vengono generati dal controllo quando la selezione dell'elemento viene spostata nel controllo SelectionTree o nel controllo DirectoryList . I controlli di sottoscrizione devono trovarsi nella stessa finestra di dialogo e elencati nella tabella EventMapping.
SelectionDescription ControlEvent
Controllo Evento di SelezionePercorso
SelectionAction di controllo evento
I seguenti eventi di controllo possono essere pubblicati secondo la scelta dell'utente interagendo con un pulsante PushButton o una casella di controllo CheckBox in una finestra di dialogo. Il controllo Checkbox può pubblicare solo gli eventi AddLocal, AddSource, Remove, DoAction e SetProperty. Con le versioni di Windows Installer fornite con Windows Server 2003 e versioni successive, il controllo SelectionTree può pubblicare DoAction, ControlEvent e SetProperty ControlEvents. L'autore dell'interfaccia utente deve elencare l'evento ControlEvent nella tabella ControlEvent . Il gestore dell'interfaccia utente del programma di installazione è il sottoscrittore di questi eventi.
CheckExistingTargetPath ControlEvent
AbilitaRipristino EventoDiControllo
Nuovo evento di controllo di dialogo
Reinstalla Evento di Controllo
Evento di Controllo SpawnDialog
Evento di Controllo ValidateProductID
Un controllo PushButton può pubblicare i seguenti eventi a un controllo SelectionTree abbonato o a un controllo DirectoryList presenti nella stessa finestra di dialogo. Il controllo PushButton deve essere elencato nella tabella ControlEvent e i controlli di sottoscrizione devono essere elencati nella tabella EventMapping.
Controllo SelectionBrowseEvent
DirectoryListOpen ControlEvent
Gli eventi di controllo richiedono in genere che l'interfaccia utente venga eseguita al livello di interfaccia utente completa. La maggior parte dei ControlEvents non funzionerà con ridotto dell'interfaccia utente o di base dell'interfaccia utente perché questi livelli visualizzano solo finestre di dialogo senza modalità. Gli eventi ActionText, AddSource, SetProgress, TimeRemaining e ScriptInProgress sono eccezioni e funzioneranno nell'interfaccia utente ridotta o di base. Per altre informazioni sui livelli dell'interfaccia utente, vedere Livelli dell'interfaccia utente.
È possibile eseguire azioni personalizzate pubblicando un controllo ControlEvent da un controllo PushButton o controllo Casella di controllo. Aggiungere un record alla tabella ControlEvent con i nomi della finestra di dialogo e il controllo che pubblica ControlEvent. Questo controllo deve pubblicare un DoAction ControlEvent notificare al programma di installazione di eseguire l'azione personalizzata. Nei sistemi Windows XP o precedenti non è possibile eseguire un'azione personalizzata pubblicando un controllo ControlEvent da un controllo SelectionTree .
Per altre informazioni su determinati eventi ControlEvent, vedere l'elenco di ControlEvent standard in riferimento all'interfaccia utente.