ControlEvent Table

Windows Installer

ControlEvent Table

The ControlEvent table allows the author to specify the Control Events started when a user interacts with a PushButton Control, CheckBox Control, or SelectionTree Control. These are the only controls users can use to initiate control events. Each control can publish multiple control events. The installer starts each event in the order specified in the Ordering column. For example, a push button control can publish events to initiate a transition to another dialog box, exit the dialog box sequence, and begin file installation. The exception is that each control can publish a most one NewDialog or one SpawnDialog event. If multiple NewDialog and SpawnDialog control events are selected for the same control, only the event with the largest value in the Ordering column gets published when the control is activated.

The ControlEvent table has the following columns.

Column Type Key Nullable
Dialog_ Identifier Y N
Control_ Identifier Y N
Event Formatted Y N
Argument Formatted Y N
Condition Condition Y Y
Ordering Integer N Y

 

Columns

Dialog_

An external key to the first column of the Dialog table. Combining this field with the Control_ field identifies a unique control.

Control_

An external key to the second column of the Control table. Combining this field with the Dialog_ field identifies a unique control.

Event

An identifier that specifies the type of event that should take place when the user interacts with the control specified by Dialog_ and Control_. For a list of possible values see ControlEvent Overview.

To set a property with a control, put [Property_Name] in this field and the new value in the argument field. Put { } into the argument field to enter the null value.

Argument

A value used as a modifier when triggering a particular event.

For example, the argument of the NewDialog ControlEvent or the SpawnDialog ControlEvent is the name of the dialog box and the argument of the Install action is a number defining the install level.

Condition

A conditional statement that determines whether the installer activates the event in the Event column. The installer triggers the event if the conditional statement in the Condition field evaluates to True. Therefore put a 1 in this column to ensure that the installer triggers the event. The installer does not trigger the event if the Condition field contains a statement that evaluates to False. The installer does not trigger an event with a blank in the Condition field unless no other events of the control evaluate to True. If none of the Condition fields for the control named in the Control_ field evaluate to True, the installer triggers the one event having a blank Condition field, and if more than one Condition field is blank it triggers the one event of these with the largest value in the Ordering field. See Conditional Statement Syntax.

Ordering

An integer used to order several events tied to the same control. This must be a non-negative number. This field may be left blank.

 

Remarks

The EventMapping table lists the controls that subscribe to some control event and lists the control attribute to be changed when that event is published by the another control or the installer.

On Windows XP or earlier operating systems, users can publish a control event only by interacting with a Checkbox Control or Pushbutton Control. With Windows Server 2003, users can publish a control event only by interacting with a Checkbox Control, SelectionTree Control, and Pushbutton Control. Listing other controls in the Control_ field has no effect.

Validation

ICE03
ICE06
ICE17
ICE20
ICE32
ICE44
ICE46
ICE79
ICE86

Send comments about this topic to Microsoft

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.