Summary
Creates custom tables not directly managed by default features of
the installer task.
Parameters
Attribute |
Type |
Description |
Required |
name |
string |
A unique name used to identify the table. |
True |
Nested Elements:
<columns>
<column>
Defines the columns making up the table
Parameters
Attribute
Type
Description
Required
-
name
string
A unique name used to define the column.
True
-
nullable
bool
When set to true, allows the column to accept null values; false does not allow null values.
True
-
category
msi:MSITableColumnCategoryType
Valid input:
- Text
- UpperCase
- LowerCase
- Integer
- DoubleInteger
- Time/Date
- Identifier
- Property
- Filename
- WildCardFilename
- Path
- Paths
- AnyPath
- DefaultDir
- RegPath
- Formatted
- Template
- Condition
- GUID
- Version
- Language
- Binary
- Cabinet
- Shortcut
More information here: http://msdn.microsoft.com/library/en-us/msi/setup/column_data_types.asp
False
-
type
string
Overrides the category specification. An example of valid input would be: S255
False
-
key
bool
When set to true, the column is used to form the primary key for the table; false specifies that the column is not used to form the primary key.
False
-
minvalue
int
This field applies to columns having numeric value. The field contains the minimum permissible value. This can be the minimum value for an integer or the minimum value for a date or version string.
False
-
maxvalue
int
This field applies to columns having numeric value. The field is the maximum permissible value. This may be the maximum value for an integer or the maximum value for a date or version string.
False
-
keytable
string
This field applies to columns that are external keys. The field identified in Column must link to the column number specified by KeyColumn in the table named in KeyTable. This can be a list of tables separated by semicolons.
False
-
keycolumn
int
This field applies to table columns that are external keys. The field identified in Column must link to the column number specified by KeyColumn in the table named in KeyTable. The permissible range of the KeyColumn field is 1-32.
False
-
set
string
This is a list of permissible values for this field separated by semicolons. This field is usually used for enums.
False
-
description
string
A description of the data that is stored in the column.
False
</column>
</columns>
<rows>
<row>
Defines the data for a row in the table
<columns>
<column>
Defines data for a specific cell in the row
Parameters
Attribute
Type
Description
Required
-
name
string
Name of the column to populate.
True
-
value
string
Value to populate the cell with.
True
</column>
</columns>
</row>
</rows>
Examples
Build the IniFile table. Since the WriteIniValues and RemoveIniValues actions exist in the template, they will use this table.
<tables>
<table name="IniFile">
<columns>
<column name="IniFile" nullable="false" category="Identifier" key="true" description="The key for this table." />
<column name="FileName" nullable="false" category="Text" description="The localizable name of the .ini file in which to write the information. " />
<column name="DirProperty" nullable="true" category="Identifier" description="Name of a property having a value that resolves to the full path of the folder containing the .ini file. " />
<column name="Section" nullable="false" category="Formatted" description="The localizable .ini file section." />
<column name="Key" nullable="false" category="Formatted" description="The localizable .ini file key within the section" />
<column name="Value" nullable="false" category="Formatted" description="The localizable value to be written. " />
<column name="Action" nullable="false" category="Integer" description="The type of modification to be made. " />
<column name="Component_" nullable="false" category="Identifier" description="External key into the first column of the Component table referencing the component that controls the installation of the .ini value. " />
</columns>
<rows>
<row>
<columns>
<column name="IniFile" value="MyInternetShortcut" />
<column name="FileName" value="MyInternetAddr.url" />
<column name="DirProperty" value="D__MYDIR" />
<column name="Section" value="InternetShortcut" />
<column name="Key" value="URL" />
<column name="Value" value="[TARGETURL]" />
<column name="Action" value="0" />
<column name="Component_" value="C__Documentation" />
</columns>
</row>
</rows>
</table>
</tables>
Syntax
[BuildElement("tables", ProcessXml = false)]
public SchemaElement[] InstallerTablesElement { get; set; }
Attributes
Type |
Description |
BuildElement |
|
Value
Type |
Description |
SchemaElement[] |
|