WiX Database XML Schema

Element: Control

Description

Contains the controls that appear on each dialog.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Combined with the Dialog Id to make up the primary key of the Control table.
Type  string  Yes    The type of the control.
X  LocalizableInteger  Yes    Horizontal coordinate of the upper-left corner of the rectangular boundary of the control.
Y  LocalizableInteger  Yes    Vertical coordinate of the upper-left corner of the rectangular boundary of the control.
Width  LocalizableInteger  Yes    Width of the rectangular boundary of the control.
Height  LocalizableInteger  Yes    Height of the rectangular boundary of the control.
Property  string  No    The name of a defined property to be linked to this control.
Text  string  No    A localizable string used to set the initial text contained in a control.
Help  string  No    This attribute is reserved for future use.
ToolTip  string  No    The string used for the Tooltip.
CheckBoxValue  string  No    This attribute is only valid for CheckBox Controls.
TabSkip  YesNoType  No    Set this attribute to "yes" to cause this Control to be skipped in the tab sequence.
Default  YesNoType  No    Set this attribute to "yes" to cause this Control to be invoked by the return key.
Cancel  YesNoType  No    Set this attribute to "yes" to cause this Control to be invoked by the escape key.
Hidden  YesNoType  No    Set this attribute to "yes" to cause the Control to be hidden.
Disabled  YesNoType  No    Set this attribute to "yes" to cause the Control to be disabled.
Sunken  YesNoType  No    Set this attribute to "yes" to cause the Control to be sunken.
Indirect  YesNoType  No    Specifies whether the value displayed or changed by this control is referenced indirectly.
Integer  YesNoType  No    Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string.
RightToLeft  YesNoType  No    Set this attribute to "yes" to cause the Control to display from right to left.
RightAligned  YesNoType  No    Set this attribute to "yes" to cause the Control to be right aligned.
LeftScroll  YesNoType  No    Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control.
Transparent  YesNoType  No    This attribute is only valid for Text Controls.
NoPrefix  YesNoType  No    This attribute is only valid for Text Controls.
NoWrap  YesNoType  No    This attribute is only valid for Text Controls.
FormatSize  YesNoType  No    This attribute is only valid for Text Controls.
UserLanguage  YesNoType  No    This attribute is only valid for Text Controls.
Multiline  YesNoType  No    This attribute is only valid for Edit Controls.
Password  YesNoType  No    This attribute is only valid for Edit Controls.
ProgressBlocks  YesNoType  No    This attribute is only valid for ProgressBar Controls.
Removable  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
Fixed  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
Remote  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
CDROM  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
RAMDisk  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
Floppy  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
ShowRollbackCost  YesNoType  No    This attribute is only valid for VolumeCostList Controls.
Sorted  YesNoType  No    This attribute is only valid for Listbox, ListView, and ComboBox Controls.
ComboList  YesNoType  No    This attribute is only valid for ComboBox Controls.
Image  YesNoType  No    This attribute is only valid for RadioButton, PushButton, and Icon Controls.
IconSize  NMTOKEN (restriction)  No    This attribute is only valid for RadioButton, PushButton, and Icon Controls.
FixedSize  YesNoType  No    This attribute is only valid for RadioButton, PushButton, and Icon Controls.
Icon  YesNoType  No    This attribute is only valid for RadioButton and PushButton Controls.
Bitmap  YesNoType  No    This attribute is only valid for RadioButton and PushButton Controls.
PushLike  YesNoType  No    This attribute is only valid for RadioButton and Checkbox Controls.
HasBorder  YesNoType  No    This attribute is only valid for RadioButton Controls.
ElevationShield  YesNoType  No    This attribute is only valid for PushButton controls.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Text  string (extension)  0..1  An alternative to using the Text attribute when the value contains special XML characters like <, >, or &.
ComboBox  anyType (restriction)  0..1  Set of items for a particular ComboBox control tied to an install Property
ListBox  anyType (restriction)  0..1  Set of items for a particular ListBox control tied to an install Property
ListView  anyType (restriction)  0..1  Set of items for a particular ListView control tied to an install Property
RadioButtonGroup  anyType (restriction)  0..1  Set of radio buttons tied to the specified Property
Property  anyType (restriction)  0..1  Property value for a Product or Module.
Binary  anyType (restriction)  0..1  Binary data used for CustomAction elements and UI controls.
    0..*   
Condition  string (extension)  1..1  Conditions for components, controls, features, and products.
Publish  string (extension)  1..1   
Subscribe  anyType (restriction)  1..1  Sets attributes for events in the EventMapping table

Referenced By

Definition

<xs:element name="Control">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListBox" href="http://msdn.microsoft.com/library/aa369762.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RadioButton" href="http://msdn.microsoft.com/library/aa370962.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Contains the controls that appear on each dialog.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Text" minOccurs="0">
<xs:annotation>
<xs:documentation>alternative to Text attribute when CDATA is needed to escape XML delimiters</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComboBox" minOccurs="0">
<xs:annotation>
<xs:documentation>ComboBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListBox" minOccurs="0">
<xs:annotation>
<xs:documentation>ListBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListView" minOccurs="0">
<xs:annotation>
<xs:documentation>ListView table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RadioButtonGroup" minOccurs="0">
<xs:annotation>
<xs:documentation>RadioButton table with RadioButton children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Property" minOccurs="0">
<xs:annotation>
<xs:documentation>Property table entry for the Property table column associated with this control</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>Icon referenced in icon column of row</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>child elements affecting operation of this control</xs:documentation>
</xs:annotation>
<xs:element ref="Condition">
<xs:annotation>
<xs:documentation>Condition to specify actions for this control based on the outcome of the condition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Publish" />
<xs:element ref="Subscribe" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Combined with the Dialog Id to make up the primary key of the Control table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The type of the control. Could be one of the following: Billboard, Bitmap, CheckBox, ComboBox, DirectoryCombo, DirectoryList, Edit, GroupBox, Icon, Line, ListBox, ListView, MaskedEdit, PathEdit, ProgressBar, PushButton, RadioButtonGroup, ScrollableText, SelectionTree, Text, VolumeCostList, VolumeSelectCombo</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="X" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Y" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Width" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Width of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Height" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Height of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>The name of a defined property to be linked to this control. This column is required for active controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">Formatted</a> for details.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Help" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is reserved for future use. There is no need to use this until Windows Installer uses it for something.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ToolTip" type="xs:string">
<xs:annotation>
<xs:documentation>The string used for the Tooltip.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CheckBoxValue" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is only valid for CheckBox Controls. When set, the linked Property will be set to this value when the check box is checked.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Control ordering - order of declaration in Dialog determines tab ordering -->
<xs:attribute name="TabSkip" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be skipped in the tab sequence.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Default" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be invoked by the return key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Cancel" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be invoked by the escape key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- common Control attributes -->
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be hidden.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Disabled" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be disabled.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sunken" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be sunken.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indirect" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether the value displayed or changed by this control is referenced indirectly. If this bit is set, the control displays or changes the value of the property that has the identifier listed in the Property column of the Control table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Integer" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightToLeft" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to display from right to left.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightAligned" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be right aligned.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LeftScroll" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- attributes applied to specific Controls -->
<xs:attribute name="Transparent" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoPrefix" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoWrap" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FormatSize" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UserLanguage" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Multiline" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Edit Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Password" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Edit Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProgressBlocks" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for ProgressBar Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Removable" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Fixed" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Remote" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CDROM" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RAMDisk" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Floppy" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShowRollbackCost" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for VolumeCostList Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sorted" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Listbox, ListView, and ComboBox Controls. Set
the value of this attribute to "yes" to have entries appear in the order specified under the Control.
If the attribute value is "no" or absent the entries in the control will appear in alphabetical order.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComboList" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for ComboBox Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Image" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconSize">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="16" />
<xs:enumeration value="32" />
<xs:enumeration value="48" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="FixedSize" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and PushButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Bitmap" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and PushButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PushLike" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and Checkbox Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HasBorder" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ElevationShield" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute is only valid for PushButton controls.
Set this attribute to "yes" to add the User Account Control (UAC) elevation icon (shield icon) to the PushButton control.
If this attribute's value is "yes" and the installation is not yet running with elevated privileges,
the pushbutton control is created using the User Account Control (UAC) elevation icon (shield icon).
If this attribute's value is "yes" and the installation is already running with elevated privileges,
the pushbutton control is created using the other icon attributes.
Otherwise, the pushbutton control is created using the other icon attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>