aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-04-11 16:03:19 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-04-12 12:46:21 +1000
commitdf69d4172d3117d8b66ba51fa5ae7f4be538700d (patch)
tree962a380e4d46e2bdff056e94a238819caa4e053e /src
parentbf187ab399db33b40fc3de8ac9b1e2a82cc47a19 (diff)
downloadwix-df69d4172d3117d8b66ba51fa5ae7f4be538700d.tar.gz
wix-df69d4172d3117d8b66ba51fa5ae7f4be538700d.tar.bz2
wix-df69d4172d3117d8b66ba51fa5ae7f4be538700d.zip
Move table definitions from Core to Data.
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/AttachPatchTransformsCommand.cs3
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs1
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs2
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs1
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Data/tables.xml1966
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs2
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs2
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs2
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs2
-rw-r--r--src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs40
-rw-r--r--src/WixToolset.Core.WindowsInstaller/WixToolset.Core.WindowsInstaller.csproj4
11 files changed, 6 insertions, 2019 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/AttachPatchTransformsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/AttachPatchTransformsCommand.cs
index aa5ca20a..f4fa510f 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/AttachPatchTransformsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/AttachPatchTransformsCommand.cs
@@ -7,7 +7,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
7 using System.Globalization; 7 using System.Globalization;
8 using System.Linq; 8 using System.Linq;
9 using System.Text.RegularExpressions; 9 using System.Text.RegularExpressions;
10 using WixToolset.Core.WindowsInstaller;
11 using WixToolset.Core.WindowsInstaller.Msi; 10 using WixToolset.Core.WindowsInstaller.Msi;
12 using WixToolset.Data; 11 using WixToolset.Data;
13 using WixToolset.Data.Tuples; 12 using WixToolset.Data.Tuples;
@@ -58,7 +57,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
58 57
59 public AttachPatchTransformsCommand(IMessaging messaging, Intermediate intermediate, IEnumerable<PatchTransform> transforms) 58 public AttachPatchTransformsCommand(IMessaging messaging, Intermediate intermediate, IEnumerable<PatchTransform> transforms)
60 { 59 {
61 this.tableDefinitions = new TableDefinitionCollection(WindowsInstallerStandardInternal.GetTableDefinitions()); 60 this.tableDefinitions = new TableDefinitionCollection(WindowsInstallerTableDefinitions.All);
62 this.Messaging = messaging; 61 this.Messaging = messaging;
63 this.Intermediate = intermediate; 62 this.Intermediate = intermediate;
64 this.Transforms = transforms; 63 this.Transforms = transforms;
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
index 7de1b1d0..15b53a55 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
@@ -206,7 +206,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
206 break; 206 break;
207 207
208 // ignored. 208 // ignored.
209 case TupleDefinitionType.WixFile:
210 case TupleDefinitionType.WixComponentGroup: 209 case TupleDefinitionType.WixComponentGroup:
211 case TupleDefinitionType.WixDeltaPatchFile: 210 case TupleDefinitionType.WixDeltaPatchFile:
212 case TupleDefinitionType.WixFeatureGroup: 211 case TupleDefinitionType.WixFeatureGroup:
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
index fe13391b..024857ab 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
@@ -31,7 +31,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
31 31
32 public TableDefinitionCollection Execute() 32 public TableDefinitionCollection Execute()
33 { 33 {
34 var tableDefinitions = new TableDefinitionCollection(WindowsInstallerStandardInternal.GetTableDefinitions()); 34 var tableDefinitions = new TableDefinitionCollection(WindowsInstallerTableDefinitions.All);
35 35
36 foreach (var tuple in this.Section.Tuples.OfType<WixCustomTableTuple>()) 36 foreach (var tuple in this.Section.Tuples.OfType<WixCustomTableTuple>())
37 { 37 {
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs
index 749f9ac0..fe014b0b 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs
@@ -470,7 +470,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
470 } 470 }
471 break; 471 break;
472 case TupleDefinitionType.IniFile: 472 case TupleDefinitionType.IniFile:
473 case TupleDefinitionType.RemoveIniFile:
474 set.Add("InstallExecuteSequence/WriteIniValues"); 473 set.Add("InstallExecuteSequence/WriteIniValues");
475 set.Add("InstallExecuteSequence/RemoveIniValues"); 474 set.Add("InstallExecuteSequence/RemoveIniValues");
476 break; 475 break;
diff --git a/src/WixToolset.Core.WindowsInstaller/Data/tables.xml b/src/WixToolset.Core.WindowsInstaller/Data/tables.xml
deleted file mode 100644
index f3c187b5..00000000
--- a/src/WixToolset.Core.WindowsInstaller/Data/tables.xml
+++ /dev/null
@@ -1,1966 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4
5<tableDefinitions xmlns="http://wixtoolset.org/schemas/v4/wi/tables">
6 <tableDefinition name="ActionText" tupleIdIsPrimaryKey="no">
7 <columnDefinition name="Action" type="string" length="72" primaryKey="yes" modularize="column"
8 category="identifier" description="Name of action to be described."/>
9 <columnDefinition name="Description" type="localized" length="0" nullable="yes" escapeIdtCharacters="yes"
10 category="text" description="Localized description displayed in progress dialog and log when action is executing."/>
11 <columnDefinition name="Template" type="localized" length="0" nullable="yes" escapeIdtCharacters="yes" modularize="property"
12 category="template" description="Optional localized format template used to format action data records for display during action execution."/>
13 </tableDefinition>
14 <tableDefinition name="AdminExecuteSequence" tupleless="yes">
15 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
16 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
17 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
18 category="condition" description="Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData."/>
19 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
20 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
21 </tableDefinition>
22 <tableDefinition name="Condition">
23 <columnDefinition name="Feature_" type="string" length="38" primaryKey="yes"
24 keyTable="Feature" keyColumn="1" category="identifier" description="Reference to a Feature entry in Feature table."/>
25 <columnDefinition name="Level" type="number" length="2" primaryKey="yes"
26 minValue="0" maxValue="32767" description="New selection Level to set in Feature table if Condition evaluates to TRUE."/>
27 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
28 category="condition" description="Expression evaluated to determine if Level in the Feature table is to change."/>
29 </tableDefinition>
30 <tableDefinition name="AdminUISequence" tupleless="yes">
31 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
32 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
33 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
34 category="condition" description="Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData."/>
35 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
36 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
37 </tableDefinition>
38 <tableDefinition name="AdvtExecuteSequence" tupleless="yes">
39 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
40 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
41 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
42 category="condition" description="Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData."/>
43 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
44 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
45 </tableDefinition>
46 <tableDefinition name="AdvtUISequence" tupleless="yes">
47 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
48 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
49 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
50 category="condition" description="Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData."/>
51 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
52 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
53 </tableDefinition>
54 <tableDefinition name="AppId" createSymbols="yes">
55 <columnDefinition name="AppId" type="string" length="38" primaryKey="yes"
56 category="guid"/>
57 <columnDefinition name="RemoteServerName" type="string" length="255" nullable="yes" modularize="property"
58 category="formatted"/>
59 <columnDefinition name="LocalService" type="string" length="255" nullable="yes"
60 category="text"/>
61 <columnDefinition name="ServiceParameters" type="string" length="255" nullable="yes"
62 category="text"/>
63 <columnDefinition name="DllSurrogate" type="string" length="255" nullable="yes"
64 category="text"/>
65 <columnDefinition name="ActivateAtStorage" type="number" length="2" nullable="yes"
66 minValue="0" maxValue="1"/>
67 <columnDefinition name="RunAsInteractiveUser" type="number" length="2" nullable="yes"
68 minValue="0" maxValue="1"/>
69 </tableDefinition>
70 <tableDefinition name="AppSearch">
71 <columnDefinition name="Property" type="string" length="72" primaryKey="yes" modularize="column"
72 category="identifier" description="The property associated with a Signature"/>
73 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes" modularize="column"
74 keyTable="Signature;RegLocator;IniLocator;DrLocator;CompLocator" keyColumn="1" category="identifier" description="The Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables."/>
75 </tableDefinition>
76 <tableDefinition name="Property" createSymbols="yes">
77 <columnDefinition name="Property" type="string" length="72" primaryKey="yes" modularize="column"
78 category="identifier" description="Name of property, uppercase if settable by launcher or loader."/>
79 <columnDefinition name="Value" type="localized" length="0" escapeIdtCharacters="yes"
80 category="text" description="String value for property. Never null or empty."/>
81 </tableDefinition>
82 <tableDefinition name="BBControl" createSymbols="yes">
83 <columnDefinition name="Billboard_" type="string" length="50" primaryKey="yes" modularize="column"
84 keyTable="Billboard" keyColumn="1" category="identifier" description="External key to the Billboard table, name of the billboard."/>
85 <columnDefinition name="BBControl" type="string" length="50" primaryKey="yes"
86 category="identifier" description="Name of the control. This name must be unique within a billboard, but can repeat on different billboard."/>
87 <columnDefinition name="Type" type="string" length="50"
88 category="identifier" description="The type of the control."/>
89 <columnDefinition name="X" type="number" length="2" localizable="yes"
90 minValue="0" maxValue="32767" description="Horizontal coordinate of the upper left corner of the bounding rectangle of the control."/>
91 <columnDefinition name="Y" type="number" length="2" localizable="yes"
92 minValue="0" maxValue="32767" description="Vertical coordinate of the upper left corner of the bounding rectangle of the control."/>
93 <columnDefinition name="Width" type="number" length="2" localizable="yes"
94 minValue="0" maxValue="32767" description="Width of the bounding rectangle of the control."/>
95 <columnDefinition name="Height" type="number" length="2" localizable="yes"
96 minValue="0" maxValue="32767" description="Height of the bounding rectangle of the control."/>
97 <columnDefinition name="Attributes" type="number" length="4" nullable="yes"
98 minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this control."/>
99 <columnDefinition name="Text" type="localized" length="50" nullable="yes" escapeIdtCharacters="yes"
100 category="text" description="A string used to set the initial text contained within a control (if appropriate)."/>
101 </tableDefinition>
102 <tableDefinition name="Billboard" createSymbols="yes">
103 <columnDefinition name="Billboard" type="string" length="50" primaryKey="yes" modularize="column"
104 category="identifier" description="Name of the billboard."/>
105 <columnDefinition name="Feature_" type="string" length="38"
106 keyTable="Feature" keyColumn="1" category="identifier" description="An external key to the Feature Table. The billboard is shown only if this feature is being installed."/>
107 <columnDefinition name="Action" type="string" length="50" nullable="yes"
108 category="identifier" description="The name of an action. The billboard is displayed during the progress messages received from this action."/>
109 <columnDefinition name="Ordering" type="number" length="2" nullable="yes"
110 minValue="0" maxValue="32767" description="A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column."/>
111 </tableDefinition>
112 <tableDefinition name="Feature" createSymbols="yes">
113 <columnDefinition name="Feature" type="string" length="38" primaryKey="yes"
114 category="identifier" description="Primary key used to identify a particular feature record."/>
115 <columnDefinition name="Feature_Parent" type="string" length="38" nullable="yes"
116 keyTable="Feature" keyColumn="1" category="identifier" description="Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item."/>
117 <columnDefinition name="Title" type="localized" length="64" nullable="yes" escapeIdtCharacters="yes"
118 category="text" description="Short text identifying a visible feature item."/>
119 <columnDefinition name="Description" type="localized" length="255" nullable="yes" escapeIdtCharacters="yes"
120 category="text" description="Longer descriptive text describing a visible feature item."/>
121 <columnDefinition name="Display" type="number" length="2" nullable="yes"
122 minValue="0" maxValue="32767" description="Numeric sort order, used to force a specific display ordering."/>
123 <columnDefinition name="Level" type="number" length="2"
124 minValue="0" maxValue="32767" description="The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display."/>
125 <columnDefinition name="Directory_" type="string" length="72" nullable="yes" modularize="column"
126 keyTable="Directory" keyColumn="1" category="upperCase" description="The name of the Directory that can be configured by the UI. A non-null value will enable the browse button."/>
127 <columnDefinition name="Attributes" type="number" length="2"
128 set="0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54" description="Feature attributes"/>
129 </tableDefinition>
130 <tableDefinition name="Binary" createSymbols="yes">
131 <columnDefinition name="Name" type="string" length="72" primaryKey="yes" modularize="column"
132 category="identifier" description="Unique key identifying the binary data."/>
133 <columnDefinition name="Data" type="object" length="0"
134 category="binary" description="The unformatted binary data."/>
135 </tableDefinition>
136 <tableDefinition name="BindImage" tupleless="yes">
137 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
138 keyTable="File" keyColumn="1" category="identifier" description="The index into the File table. This must be an executable file."/>
139 <columnDefinition name="Path" type="string" length="255" nullable="yes" modularize="property"
140 category="paths" description="A list of ; delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] ."/>
141 </tableDefinition>
142 <tableDefinition name="File" createSymbols="yes">
143 <columnDefinition name="File" type="string" length="72" primaryKey="yes" modularize="column"
144 category="identifier" description="Primary key, non-localized token, must match identifier in cabinet. For uncompressed files, this field is ignored."/>
145 <columnDefinition name="Component_" type="string" length="72" modularize="column"
146 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the file."/>
147 <columnDefinition name="FileName" type="localized" length="255"
148 category="filename" description="File name used for installation, may be localized. This may contain a &quot;short name|long name&quot; pair."/>
149 <columnDefinition name="FileSize" type="number" length="4"
150 minValue="0" maxValue="2147483647" description="Size of file in bytes (long integer)."/>
151 <columnDefinition name="Version" type="string" length="72" nullable="yes" modularize="companionFile"
152 keyTable="File" keyColumn="1" category="version" description="Version string for versioned files; Blank for unversioned files."/>
153 <columnDefinition name="Language" type="string" length="20" nullable="yes"
154 category="language" description="List of decimal language Ids, comma-separated if more than one."/>
155 <columnDefinition name="Attributes" type="number" length="2" nullable="yes"
156 minValue="0" maxValue="32767" description="Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)"/>
157 <columnDefinition name="Sequence" type="number" length="4"
158 minValue="1" maxValue="2147483647" description="Sequence with respect to the media images; order must track cabinet order."/>
159 <columnDefinition name="DiskId" type="number" length="4" unreal="yes"
160 minValue="1" maxValue="32767" description="Disk identifier for the file."/>
161 <columnDefinition name="Source" type="object" length="0" unreal="yes"
162 category="binary" description="Path to source of file."/>
163 </tableDefinition>
164 <tableDefinition name="CCPSearch" tupleIdIsPrimaryKey="yes">
165 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes"
166 keyTable="Signature;RegLocator;IniLocator;DrLocator;CompLocator" keyColumn="1" category="identifier" description="The Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables."/>
167 </tableDefinition>
168 <tableDefinition name="CheckBox" createSymbols="yes" tupleIdIsPrimaryKey="no">
169 <columnDefinition name="Property" type="string" length="72" primaryKey="yes" modularize="column"
170 category="identifier" description="A named property to be tied to the item."/>
171 <columnDefinition name="Value" type="string" length="64" nullable="yes" modularize="property"
172 category="formatted" description="The value string associated with the item."/>
173 </tableDefinition>
174 <tableDefinition name="Class" createSymbols="yes">
175 <columnDefinition name="CLSID" type="string" length="38" primaryKey="yes"
176 category="guid" description="The CLSID of an OLE factory."/>
177 <columnDefinition name="Context" type="string" length="32" primaryKey="yes"
178 category="identifier" description="The numeric server context for this server. CLSCTX_xxxx"/>
179 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
180 keyTable="Component" keyColumn="1" category="identifier" description="Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent."/>
181 <columnDefinition name="ProgId_Default" type="string" length="255" nullable="yes"
182 keyTable="ProgId" keyColumn="1" category="text" description="Optional ProgId associated with this CLSID."/>
183 <columnDefinition name="Description" type="localized" length="255" nullable="yes" escapeIdtCharacters="yes"
184 category="text" description="Localized description for the Class."/>
185 <columnDefinition name="AppId_" type="string" length="38" nullable="yes"
186 keyTable="AppId" keyColumn="1" category="guid" description="Optional AppID containing DCOM information for associated application (string GUID)."/>
187 <columnDefinition name="FileTypeMask" type="string" length="255" nullable="yes"
188 category="text" description="Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2..."/>
189 <columnDefinition name="Icon_" type="string" length="72" nullable="yes" modularize="icon"
190 keyTable="Icon" keyColumn="1" category="identifier" description="Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key."/>
191 <columnDefinition name="IconIndex" type="number" length="2" nullable="yes"
192 minValue="-32767" maxValue="32767" description="Optional icon index."/>
193 <columnDefinition name="DefInprocHandler" type="string" length="32" nullable="yes"
194 category="filename" set="1;2;3" description="Optional default inproc handler. Only optionally provided if Context=CLSCTX_LOCAL_SERVER. Typically &quot;ole32.dll&quot; or &quot;mapi32.dll&quot;"/>
195 <columnDefinition name="Argument" type="string" length="255" nullable="yes"
196 category="formatted" description="optional argument for LocalServers."/>
197 <columnDefinition name="Feature_" type="string" length="38"
198 keyTable="Feature" keyColumn="1" category="identifier" description="Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational."/>
199 <columnDefinition name="Attributes" type="number" length="2" nullable="yes"
200 maxValue="32767" description="Class registration attributes."/>
201 </tableDefinition>
202 <tableDefinition name="Component" createSymbols="yes">
203 <columnDefinition name="Component" type="string" length="72" primaryKey="yes" modularize="column"
204 category="identifier" description="Primary key used to identify a particular component record."/>
205 <columnDefinition name="ComponentId" type="string" length="38" nullable="yes"
206 category="guid" description="A string GUID unique to this component, version, and language."/>
207 <columnDefinition name="Directory_" type="string" length="72" modularize="column"
208 keyTable="Directory" keyColumn="1" category="identifier" description="Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table."/>
209 <columnDefinition name="Attributes" type="number" length="2"
210 description="Remote execution option, one of irsEnum"/>
211 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
212 category="condition" description="A conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component."/>
213 <columnDefinition name="KeyPath" type="string" length="72" nullable="yes" modularize="column"
214 keyTable="File;Registry;ODBCDataSource" keyColumn="1" category="identifier" description="Either the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it."/>
215 </tableDefinition>
216 <tableDefinition name="Icon" createSymbols="yes">
217 <columnDefinition name="Name" type="string" length="72" primaryKey="yes" modularize="icon"
218 category="identifier" description="Primary key. Name of the icon file."/>
219 <columnDefinition name="Data" type="object" length="0"
220 category="binary" description="Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format."/>
221 </tableDefinition>
222 <tableDefinition name="ProgId">
223 <columnDefinition name="ProgId" type="string" length="255" primaryKey="yes"
224 category="text" description="The Program Identifier. Primary key."/>
225 <columnDefinition name="ProgId_Parent" type="string" length="255" nullable="yes"
226 keyTable="ProgId" keyColumn="1" category="text" description="The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id."/>
227 <columnDefinition name="Class_" type="string" length="38" nullable="yes"
228 keyTable="Class" keyColumn="1" category="guid" description="The CLSID of an OLE factory corresponding to the ProgId."/>
229 <columnDefinition name="Description" type="localized" length="255" nullable="yes" escapeIdtCharacters="yes"
230 category="text" description="Localized description for the Program identifier."/>
231 <columnDefinition name="Icon_" type="string" length="72" nullable="yes" modularize="icon"
232 keyTable="Icon" keyColumn="1" category="identifier" description="Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key."/>
233 <columnDefinition name="IconIndex" type="number" length="2" nullable="yes"
234 minValue="-32767" maxValue="32767" description="Optional icon index."/>
235 </tableDefinition>
236 <tableDefinition name="ComboBox">
237 <columnDefinition name="Property" type="string" length="72" primaryKey="yes" modularize="column"
238 category="identifier" description="A named property to be tied to this item. All the items tied to the same property become part of the same combobox."/>
239 <columnDefinition name="Order" type="number" length="2" primaryKey="yes"
240 minValue="1" maxValue="32767" description="A positive integer used to determine the ordering of the items within one list. The integers do not have to be consecutive."/>
241 <columnDefinition name="Value" type="string" length="64" modularize="property" localizable="yes"
242 category="formatted" description="The value string associated with this item. Selecting the line will set the associated property to this value."/>
243 <columnDefinition name="Text" type="localized" length="64" nullable="yes" modularize="property" escapeIdtCharacters="yes"
244 category="formatted" description="The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value."/>
245 </tableDefinition>
246 <tableDefinition name="CompLocator">
247 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes" modularize="column"
248 category="identifier" description="The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table."/>
249 <columnDefinition name="ComponentId" type="string" length="38"
250 category="guid" description="A string GUID unique to this component, version, and language."/>
251 <columnDefinition name="Type" type="number" length="2" nullable="yes"
252 minValue="0" maxValue="1" description="A boolean value that determines if the registry value is a filename or a directory location."/>
253 </tableDefinition>
254 <tableDefinition name="Complus">
255 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
256 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the ComPlus component."/>
257 <columnDefinition name="ExpType" type="number" length="2" nullable="yes"
258 minValue="0" maxValue="32767" description="ComPlus component attributes."/>
259 </tableDefinition>
260 <tableDefinition name="Directory" createSymbols="yes">
261 <columnDefinition name="Directory" type="string" length="72" primaryKey="yes" modularize="column"
262 category="identifier" description="Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory."/>
263 <columnDefinition name="Directory_Parent" type="string" length="72" nullable="yes" modularize="column"
264 keyTable="Directory" keyColumn="1" category="identifier" description="Reference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree."/>
265 <columnDefinition name="DefaultDir" type="localized" length="255"
266 category="defaultDir" description="The default sub-path under parent's path."/>
267 </tableDefinition>
268 <tableDefinition name="Control">
269 <columnDefinition name="Dialog_" type="string" length="72" primaryKey="yes" modularize="column"
270 keyTable="Dialog" keyColumn="1" category="identifier" description="External key to the Dialog table, name of the dialog."/>
271 <columnDefinition name="Control" type="string" length="50" primaryKey="yes"
272 category="identifier" description="Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. "/>
273 <columnDefinition name="Type" type="string" length="20"
274 category="identifier" description="The type of the control."/>
275 <columnDefinition name="X" type="number" length="2" localizable="yes"
276 minValue="0" maxValue="32767" description="Horizontal coordinate of the upper left corner of the bounding rectangle of the control."/>
277 <columnDefinition name="Y" type="number" length="2" localizable="yes"
278 minValue="0" maxValue="32767" description="Vertical coordinate of the upper left corner of the bounding rectangle of the control."/>
279 <columnDefinition name="Width" type="number" length="2" localizable="yes"
280 minValue="0" maxValue="32767" description="Width of the bounding rectangle of the control."/>
281 <columnDefinition name="Height" type="number" length="2" localizable="yes"
282 minValue="0" maxValue="32767" description="Height of the bounding rectangle of the control."/>
283 <columnDefinition name="Attributes" type="number" length="4" nullable="yes"
284 minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this control."/>
285 <columnDefinition name="Property" type="string" length="72" nullable="yes" modularize="column"
286 category="identifier" description="The name of a defined property to be linked to this control. "/>
287 <columnDefinition name="Text" type="localized" length="0" nullable="yes" modularize="controlText" escapeIdtCharacters="yes"
288 category="formatted" description="A string used to set the initial text contained within a control (if appropriate)."/>
289 <columnDefinition name="Control_Next" type="string" length="50" nullable="yes"
290 keyTable="Control" keyColumn="2" category="identifier" description="The name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!"/>
291 <columnDefinition name="Help" type="localized" length="50" nullable="yes" escapeIdtCharacters="yes"
292 category="text" description="The help strings used with the button. The text is optional. "/>
293 </tableDefinition>
294 <tableDefinition name="Dialog" createSymbols="yes">
295 <columnDefinition name="Dialog" type="string" length="72" primaryKey="yes" modularize="column"
296 category="identifier" description="Name of the dialog."/>
297 <columnDefinition name="HCentering" type="number" length="2"
298 minValue="0" maxValue="100" description="Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center."/>
299 <columnDefinition name="VCentering" type="number" length="2"
300 minValue="0" maxValue="100" description="Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center."/>
301 <columnDefinition name="Width" type="number" length="2"
302 minValue="0" maxValue="32767" description="Width of the bounding rectangle of the dialog."/>
303 <columnDefinition name="Height" type="number" length="2"
304 minValue="0" maxValue="32767" description="Height of the bounding rectangle of the dialog."/>
305 <columnDefinition name="Attributes" type="number" length="4" nullable="yes"
306 minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this dialog."/>
307 <columnDefinition name="Title" type="localized" length="128" nullable="yes" modularize="property" escapeIdtCharacters="yes"
308 category="formatted" description="A text string specifying the title to be displayed in the title bar of the dialog's window."/>
309 <columnDefinition name="Control_First" type="string" length="50"
310 keyTable="Control" keyColumn="2" category="identifier" description="Defines the control that has the focus when the dialog is created."/>
311 <columnDefinition name="Control_Default" type="string" length="50" nullable="yes"
312 keyTable="Control" keyColumn="2" category="identifier" description="Defines the default control. Hitting return is equivalent to pushing this button."/>
313 <columnDefinition name="Control_Cancel" type="string" length="50" nullable="yes"
314 keyTable="Control" keyColumn="2" category="identifier" description="Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button."/>
315 </tableDefinition>
316 <tableDefinition name="ControlCondition">
317 <columnDefinition name="Dialog_" type="string" length="72" primaryKey="yes" modularize="column"
318 keyTable="Dialog" keyColumn="1" category="identifier" description="A foreign key to the Dialog table, name of the dialog."/>
319 <columnDefinition name="Control_" type="string" length="50" primaryKey="yes"
320 keyTable="Control" keyColumn="2" category="identifier" description="A foreign key to the Control table, name of the control."/>
321 <columnDefinition name="Action" type="string" length="50" primaryKey="yes"
322 set="Default;Disable;Enable;Hide;Show" description="The desired action to be taken on the specified control."/>
323 <columnDefinition name="Condition" type="string" length="255" primaryKey="yes" modularize="condition" localizable="yes"
324 category="condition" description="A standard conditional statement that specifies under which conditions the action should be triggered."/>
325 </tableDefinition>
326 <tableDefinition name="ControlEvent" createSymbols="yes">
327 <columnDefinition name="Dialog_" type="string" length="72" primaryKey="yes" modularize="column"
328 keyTable="Dialog" keyColumn="1" category="identifier" description="A foreign key to the Dialog table, name of the dialog."/>
329 <columnDefinition name="Control_" type="string" length="50" primaryKey="yes"
330 keyTable="Control" keyColumn="2" category="identifier" description="A foreign key to the Control table, name of the control"/>
331 <columnDefinition name="Event" type="string" length="50" primaryKey="yes" modularize="property"
332 category="formatted" description="An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries."/>
333 <columnDefinition name="Argument" type="string" length="255" primaryKey="yes" modularize="controlEventArgument" localizable="yes"
334 category="formatted" description="A value to be used as a modifier when triggering a particular event."/>
335 <columnDefinition name="Condition" type="string" length="255" primaryKey="yes" nullable="yes" modularize="condition" localizable="yes"
336 category="condition" description="A standard conditional statement that specifies under which conditions an event should be triggered."/>
337 <columnDefinition name="Ordering" type="number" length="2" nullable="yes"
338 minValue="0" maxValue="2147483647" description="An integer used to order several events tied to the same control. Can be left blank."/>
339 </tableDefinition>
340 <tableDefinition name="CreateFolder">
341 <columnDefinition name="Directory_" type="string" length="72" primaryKey="yes" modularize="column"
342 keyTable="Directory" keyColumn="1" category="identifier" description="Primary key, could be foreign key into the Directory table."/>
343 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
344 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table."/>
345 </tableDefinition>
346 <tableDefinition name="CustomAction" createSymbols="yes">
347 <columnDefinition name="Action" type="string" length="72" primaryKey="yes" modularize="column"
348 category="identifier" description="Primary key, name of action, normally appears in sequence table unless private use."/>
349 <columnDefinition name="Type" type="number" length="2"
350 minValue="1" maxValue="32767" description="The numeric custom action type, consisting of source location, code type, entry, option flags."/>
351 <columnDefinition name="Source" type="string" length="72" nullable="yes" modularize="column"
352 category="customSource" description="The table reference of the source of the code."/>
353 <columnDefinition name="Target" type="string" length="255" nullable="yes" modularize="property" escapeIdtCharacters="yes" localizable="yes"
354 category="formatted" description="Excecution parameter, depends on the type of custom action"/>
355 <columnDefinition name="ExtendedType" type="number" length="4" nullable="yes" minValue="0" maxValue="2147483647"
356 description="A numeric custom action type that extends code type or option flags of the Type column."/>
357 </tableDefinition>
358 <tableDefinition name="DrLocator" createSymbols="yes">
359 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes" modularize="column"
360 category="identifier" description="The Signature_ represents a unique file signature and is also the foreign key in the Signature table."/>
361 <columnDefinition name="Parent" type="string" length="72" primaryKey="yes" nullable="yes" modularize="column"
362 category="identifier" description="The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path."/>
363 <columnDefinition name="Path" type="string" length="255" primaryKey="yes" nullable="yes" modularize="property"
364 category="anyPath" description="The path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded."/>
365 <columnDefinition name="Depth" type="number" length="2" nullable="yes"
366 minValue="0" maxValue="32767" description="The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0."/>
367 </tableDefinition>
368 <tableDefinition name="DuplicateFile">
369 <columnDefinition name="FileKey" type="string" length="72" primaryKey="yes" modularize="column"
370 category="identifier" description="Primary key used to identify a particular file entry"/>
371 <columnDefinition name="Component_" type="string" length="72" modularize="column"
372 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the duplicate file."/>
373 <columnDefinition name="File_" type="string" length="72" modularize="column"
374 keyTable="File" keyColumn="1" category="identifier" description="Foreign key referencing the source file to be duplicated."/>
375 <columnDefinition name="DestName" type="localized" length="255" nullable="yes"
376 category="filename" description="Filename to be given to the duplicate file."/>
377 <columnDefinition name="DestFolder" type="string" length="72" nullable="yes" modularize="column"
378 category="identifier" description="Name of a property whose value is assumed to resolve to the full pathname to a destination folder."/>
379 </tableDefinition>
380 <tableDefinition name="Environment">
381 <columnDefinition name="Environment" type="string" length="72" primaryKey="yes" modularize="column"
382 category="identifier" description="Unique identifier for the environmental variable setting"/>
383 <columnDefinition name="Name" type="localized" length="255"
384 category="text" description="The name of the environmental value."/>
385 <columnDefinition name="Value" type="localized" length="255" nullable="yes" modularize="property"
386 category="formatted" description="The value to set in the environmental settings."/>
387 <columnDefinition name="Component_" type="string" length="72" modularize="column"
388 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table referencing component that controls the installing of the environmental value."/>
389 </tableDefinition>
390 <tableDefinition name="Error" createSymbols="yes" tupleIdIsPrimaryKey="yes">
391 <columnDefinition name="Error" type="number" length="2" primaryKey="yes"
392 minValue="0" maxValue="32767" description="Integer error number, obtained from header file IError(...) macros."/>
393 <columnDefinition name="Message" type="localized" length="0" nullable="yes" escapeIdtCharacters="yes" useCData="yes" modularize="property"
394 category="template" description="Error formatting template, obtained from user ed. or localizers."/>
395 </tableDefinition>
396 <tableDefinition name="EventMapping">
397 <columnDefinition name="Dialog_" type="string" length="72" primaryKey="yes" modularize="column"
398 keyTable="Dialog" keyColumn="1" category="identifier" description="A foreign key to the Dialog table, name of the Dialog."/>
399 <columnDefinition name="Control_" type="string" length="50" primaryKey="yes"
400 keyTable="Control" keyColumn="2" category="identifier" description="A foreign key to the Control table, name of the control."/>
401 <columnDefinition name="Event" type="string" length="50" primaryKey="yes"
402 category="identifier" description="An identifier that specifies the type of the event that the control subscribes to."/>
403 <columnDefinition name="Attribute" type="string" length="50"
404 category="identifier" description="The name of the control attribute, that is set when this event is received."/>
405 </tableDefinition>
406 <tableDefinition name="Extension">
407 <columnDefinition name="Extension" type="string" length="255" primaryKey="yes"
408 category="text" description="The extension associated with the table row."/>
409 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
410 keyTable="Component" keyColumn="1" category="identifier" description="Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent."/>
411 <columnDefinition name="ProgId_" type="string" length="255" nullable="yes"
412 keyTable="ProgId" keyColumn="1" category="text" description="Optional ProgId associated with this extension."/>
413 <columnDefinition name="MIME_" type="string" length="64" nullable="yes"
414 keyTable="MIME" keyColumn="1" category="text" description="Optional Context identifier, typically &quot;type/format&quot; associated with the extension"/>
415 <columnDefinition name="Feature_" type="string" length="38"
416 keyTable="Feature" keyColumn="1" category="identifier" description="Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational."/>
417 </tableDefinition>
418 <tableDefinition name="MIME">
419 <columnDefinition name="ContentType" type="string" length="64" primaryKey="yes"
420 category="text" description="Primary key. Context identifier, typically &quot;type/format&quot;."/>
421 <columnDefinition name="Extension_" type="string" length="255"
422 keyTable="Extension" keyColumn="1" category="text" description="Optional associated extension (without dot)"/>
423 <columnDefinition name="CLSID" type="string" length="38" nullable="yes"
424 category="guid" description="Optional associated CLSID."/>
425 </tableDefinition>
426 <tableDefinition name="FeatureComponents">
427 <columnDefinition name="Feature_" type="string" length="38" primaryKey="yes"
428 keyTable="Feature" keyColumn="1" category="identifier" description="Foreign key into Feature table."/>
429 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
430 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into Component table."/>
431 </tableDefinition>
432 <tableDefinition name="FileSFPCatalog">
433 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
434 keyTable="File" keyColumn="1" category="identifier" description="File associated with the catalog"/>
435 <columnDefinition name="SFPCatalog_" type="string" length="255" primaryKey="yes"
436 keyTable="SFPCatalog" keyColumn="1" category="filename" description="Catalog associated with the file"/>
437 </tableDefinition>
438 <tableDefinition name="SFPCatalog">
439 <columnDefinition name="SFPCatalog" type="string" length="255" primaryKey="yes"
440 category="filename" description="File name for the catalog."/>
441 <columnDefinition name="Catalog" type="object" length="0"
442 category="binary" description="SFP Catalog"/>
443 <columnDefinition name="Dependency" type="string" length="0" nullable="yes" modularize="property"
444 category="formatted" description="Parent catalog - only used by SFP"/>
445 </tableDefinition>
446 <tableDefinition name="Font" tupleless="yes">
447 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
448 keyTable="File" keyColumn="1" category="identifier" description="Primary key, foreign key into File table referencing font file."/>
449 <columnDefinition name="FontTitle" type="string" length="128" nullable="yes"
450 category="text" description="Font name."/>
451 </tableDefinition>
452 <tableDefinition name="IniFile">
453 <columnDefinition name="IniFile" type="string" length="72" primaryKey="yes" modularize="column"
454 category="identifier" description="Primary key, non-localized token."/>
455 <columnDefinition name="FileName" type="localized" length="255"
456 category="filename" description="The .INI file name in which to write the information"/>
457 <columnDefinition name="DirProperty" type="string" length="72" nullable="yes" modularize="column"
458 category="identifier" description="Foreign key into the Directory table denoting the directory where the .INI file is."/>
459 <columnDefinition name="Section" type="localized" length="96" modularize="property"
460 category="formatted" description="The .INI file Section."/>
461 <columnDefinition name="Key" type="localized" length="128" modularize="property"
462 category="formatted" description="The .INI file key below Section."/>
463 <columnDefinition name="Value" type="localized" length="255" modularize="property" escapeIdtCharacters="yes"
464 category="formatted" description="The value to be written."/>
465 <columnDefinition name="Action" type="number" length="2"
466 set="0;1;3" description="The type of modification to be made, one of iifEnum"/>
467 <columnDefinition name="Component_" type="string" length="72" modularize="column"
468 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table referencing component that controls the installing of the .INI value."/>
469 </tableDefinition>
470 <tableDefinition name="IniLocator">
471 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes" modularize="column"
472 category="identifier" description="The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table."/>
473 <columnDefinition name="FileName" type="string" length="255"
474 category="filename" description="The .INI file name."/>
475 <columnDefinition name="Section" type="string" length="96"
476 category="text" description="Section name within in file (within square brackets in INI file)."/>
477 <columnDefinition name="Key" type="string" length="128"
478 category="text" description="Key value (followed by an equals sign in INI file)."/>
479 <columnDefinition name="Field" type="number" length="2" nullable="yes"
480 minValue="0" maxValue="32767" description="The field in the .INI line. If Field is null or 0 the entire line is read."/>
481 <columnDefinition name="Type" type="number" length="2" nullable="yes"
482 minValue="0" maxValue="2" description="An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation."/>
483 </tableDefinition>
484 <tableDefinition name="InstallExecuteSequence" tupleless="yes">
485 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
486 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
487 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
488 category="condition" description="Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData."/>
489 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
490 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
491 </tableDefinition>
492 <tableDefinition name="InstallUISequence" tupleless="yes">
493 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
494 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
495 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
496 category="condition" description="Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData."/>
497 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
498 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
499 </tableDefinition>
500 <tableDefinition name="IsolatedComponent">
501 <columnDefinition name="Component_Shared" type="string" length="72" primaryKey="yes" modularize="column"
502 keyTable="Component" keyColumn="1" category="identifier" description="Key to Component table item to be isolated"/>
503 <columnDefinition name="Component_Application" type="string" length="72" primaryKey="yes" modularize="column"
504 keyTable="Component" keyColumn="1" category="identifier" description="Key to Component table item for application"/>
505 </tableDefinition>
506 <tableDefinition name="LaunchCondition">
507 <columnDefinition name="Condition" type="string" length="255" primaryKey="yes" localizable="yes"
508 category="condition" description="Expression which must evaluate to TRUE in order for install to commence."/>
509 <columnDefinition name="Description" type="localized" length="255" escapeIdtCharacters="yes"
510 category="formatted" description="Localizable text to display when condition fails and install must abort."/>
511 </tableDefinition>
512 <tableDefinition name="ListBox">
513 <columnDefinition name="Property" type="string" length="72" primaryKey="yes" modularize="column"
514 category="identifier" description="A named property to be tied to this item. All the items tied to the same property become part of the same listbox."/>
515 <columnDefinition name="Order" type="number" length="2" primaryKey="yes"
516 minValue="1" maxValue="32767" description="A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive."/>
517 <columnDefinition name="Value" type="string" length="64" modularize="property"
518 category="formatted" description="The value string associated with this item. Selecting the line will set the associated property to this value."/>
519 <columnDefinition name="Text" type="localized" length="64" nullable="yes" escapeIdtCharacters="yes"
520 category="text" description="The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value."/>
521 </tableDefinition>
522 <tableDefinition name="ListView">
523 <columnDefinition name="Property" type="string" length="72" primaryKey="yes" modularize="column"
524 category="identifier" description="A named property to be tied to this item. All the items tied to the same property become part of the same listview."/>
525 <columnDefinition name="Order" type="number" length="2" primaryKey="yes"
526 minValue="1" maxValue="32767" description="A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive."/>
527 <columnDefinition name="Value" type="string" length="64" modularize="property"
528 category="formatted" description="The value string associated with this item. Selecting the line will set the associated property to this value."/>
529 <columnDefinition name="Text" type="localized" length="64" nullable="yes" escapeIdtCharacters="yes" modularize="property"
530 category="formatted" description="The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value."/>
531 <columnDefinition name="Binary_" type="string" length="72" nullable="yes" modularize="column"
532 keyTable="Binary" keyColumn="1" category="identifier" description="The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table."/>
533 </tableDefinition>
534 <tableDefinition name="LockPermissions">
535 <columnDefinition name="LockObject" type="string" length="72" primaryKey="yes" modularize="column"
536 category="identifier" description="Foreign key into Registry or File table"/>
537 <columnDefinition name="Table" type="string" length="32" primaryKey="yes"
538 category="identifier" set="Directory;File;Registry" description="Reference to another table name"/>
539 <columnDefinition name="Domain" type="string" length="255" primaryKey="yes" nullable="yes" modularize="property"
540 category="formatted" description="Domain name for user whose permissions are being set. (usually a property)"/>
541 <columnDefinition name="User" type="string" length="255" primaryKey="yes" modularize="property"
542 category="formatted" description="User for permissions to be set. (usually a property)"/>
543 <columnDefinition name="Permission" type="number" length="4" nullable="yes"
544 minValue="-2147483647" maxValue="2147483647" description="Permission Access mask. Full Control = 268435456 (GENERIC_ALL = 0x10000000)"/>
545 </tableDefinition>
546 <tableDefinition name="MsiLockPermissionsEx">
547 <columnDefinition name="MsiLockPermissionsEx" type="string" length="72" primaryKey="yes" modularize="column"
548 category="identifier" description="Primary key, non-localized token"/>
549 <columnDefinition name="LockObject" type="string" length="72" modularize="column"
550 category="identifier" description="Foreign key into Registry, File, CreateFolder, or ServiceInstall table"/>
551 <columnDefinition name="Table" type="string" length="32"
552 category="identifier" set="CreateFolder;File;Registry;ServiceInstall" description="Reference to another table name"/>
553 <columnDefinition name="SDDLText" type="string" length="0" modularize="property"
554 category="formattedSddl" description="String to indicate permissions to be applied to the LockObject"/>
555 <columnDefinition name="Condition" type="string" length="255" modularize="property" nullable="yes"
556 category="formatted" description="Expression which must evaluate to TRUE in order for this set of permissions to be applied"/>
557 </tableDefinition>
558 <tableDefinition name="Media" createSymbols="yes">
559 <columnDefinition name="DiskId" type="number" length="2" primaryKey="yes"
560 minValue="1" maxValue="32767" description="Primary key, integer to determine sort order for table."/>
561 <columnDefinition name="LastSequence" type="number" length="4"
562 minValue="0" maxValue="2147483647" description="File sequence number for the last file for this media."/>
563 <columnDefinition name="DiskPrompt" type="localized" length="64" nullable="yes" escapeIdtCharacters="yes"
564 category="text" description="Disk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted."/>
565 <columnDefinition name="Cabinet" type="string" length="255" nullable="yes"
566 category="cabinet" description="If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet."/>
567 <columnDefinition name="VolumeLabel" type="string" length="32" nullable="yes"
568 category="text" description="The label attributed to the volume."/>
569 <columnDefinition name="Source" type="string" length="72" nullable="yes"
570 category="property" description="The property defining the location of the cabinet file."/>
571 </tableDefinition>
572 <tableDefinition name="MoveFile">
573 <columnDefinition name="FileKey" type="string" length="72" primaryKey="yes" modularize="column"
574 category="identifier" description="Primary key that uniquely identifies a particular MoveFile record"/>
575 <columnDefinition name="Component_" type="string" length="72" modularize="column"
576 keyTable="Component" keyColumn="1" category="identifier" description="If this component is not &quot;selected&quot; for installation or removal, no action will be taken on the associated MoveFile entry"/>
577 <columnDefinition name="SourceName" type="localized" length="255" nullable="yes"
578 category="text" description="Name of the source file(s) to be moved or copied. Can contain the '*' or '?' wildcards."/>
579 <columnDefinition name="DestName" type="localized" length="255" nullable="yes"
580 category="filename" description="Name to be given to the original file after it is moved or copied. If blank, the destination file will be given the same name as the source file"/>
581 <columnDefinition name="SourceFolder" type="string" length="72" nullable="yes" modularize="column"
582 category="identifier" description="Name of a property whose value is assumed to resolve to the full path to the source directory"/>
583 <columnDefinition name="DestFolder" type="string" length="72" modularize="column"
584 category="identifier" description="Name of a property whose value is assumed to resolve to the full path to the destination directory"/>
585 <columnDefinition name="Options" type="number" length="2"
586 minValue="0" maxValue="1" description="Integer value specifying the MoveFile operating mode, one of imfoEnum"/>
587 </tableDefinition>
588 <tableDefinition name="MsiAssembly" tupleDefinitionName="Assembly">
589 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
590 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into Component table."/>
591 <columnDefinition name="Feature_" type="string" length="38"
592 keyTable="Feature" keyColumn="1" category="identifier" description="Foreign key into Feature table."/>
593 <columnDefinition name="File_Manifest" type="string" length="72" nullable="yes" modularize="column"
594 keyTable="File" keyColumn="1" category="identifier" description="Foreign key into the File table denoting the manifest file for the assembly."/>
595 <columnDefinition name="File_Application" type="string" length="72" nullable="yes" modularize="column"
596 keyTable="File" keyColumn="1" category="identifier" description="Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies."/>
597 <columnDefinition name="Attributes" type="number" length="2" nullable="yes"
598 description="Assembly attributes"/>
599 </tableDefinition>
600 <tableDefinition name="MsiAssemblyName">
601 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
602 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into Component table."/>
603 <columnDefinition name="Name" type="string" length="255" primaryKey="yes"
604 category="text" description="The name part of the name-value pairs for the assembly name."/>
605 <columnDefinition name="Value" type="string" length="255"
606 category="text" description="The value part of the name-value pairs for the assembly name."/>
607 </tableDefinition>
608 <tableDefinition name="MsiDigitalCertificate">
609 <columnDefinition name="DigitalCertificate" type="string" length="72" primaryKey="yes"
610 category="identifier" description="A unique identifier for the row"/>
611 <columnDefinition name="CertData" type="object" length="0"
612 category="binary" description="A certificate context blob for a signer certificate"/>
613 </tableDefinition>
614 <tableDefinition name="MsiDigitalSignature">
615 <columnDefinition name="Table" type="string" length="32" primaryKey="yes"
616 set="Media" description="Reference to another table name (only Media table is supported)"/>
617 <columnDefinition name="SignObject" type="string" length="72" primaryKey="yes"
618 category="text" description="Foreign key to Media table"/>
619 <columnDefinition name="DigitalCertificate_" type="string" length="72"
620 keyTable="MsiDigitalCertificate" keyColumn="1" category="identifier" description="Foreign key to MsiDigitalCertificate table identifying the signer certificate"/>
621 <columnDefinition name="Hash" type="object" length="0" nullable="yes"
622 category="binary" description="The encoded hash blob from the digital signature"/>
623 </tableDefinition>
624 <tableDefinition name="MsiEmbeddedChainer" createSymbols="yes">
625 <columnDefinition name="MsiEmbeddedChainer" type="string" length="72" primaryKey="yes" modularize="column"
626 category="identifier" description="The primary key for the table."/>
627 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
628 category="condition" description="A conditional statement for running the user-defined function."/>
629 <columnDefinition name="CommandLine" type="string" length="255" nullable="yes" modularize="property"
630 category="formatted" description="The value in this field is a part of the command line string passed to the executable file identified in the Source column."/>
631 <columnDefinition name="Source" type="string" length="72" modularize="column"
632 category="customSource" description="The location of the executable file for the user-defined function."/>
633 <columnDefinition name="Type" type="number" length="2"
634 set="2;18;50" description="The functions listed in the MsiEmbeddedChainer table are described using the following custom action numeric types."/>
635 </tableDefinition>
636 <tableDefinition name="MsiEmbeddedUI">
637 <columnDefinition name="MsiEmbeddedUI" type="string" length="72" primaryKey="yes" modularize="column"
638 category="identifier" description="The primary key for the table."/>
639 <columnDefinition name="FileName" type="localized" length="255"
640 category="text" description="The name of the file that receives the binary information in the Data column."/>
641 <columnDefinition name="Attributes" type="number" length="2"
642 set="0;1;2;3" description="Information about the data in the Data column."/>
643 <columnDefinition name="MessageFilter" type="number" length="4" nullable="yes"
644 description="Specifies the types of messages that are sent to the user interface DLL."/>
645 <columnDefinition name="Data" type="object" length="0"
646 category="binary" description="This column contains binary information."/>
647 </tableDefinition>
648 <tableDefinition name="MsiFileHash" tupleIdIsPrimaryKey="yes">
649 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
650 keyTable="File" keyColumn="1" category="identifier" description="Primary key, foreign key into File table referencing file with this hash"/>
651 <columnDefinition name="Options" type="number" length="2"
652 minValue="0" maxValue="32767" description="Various options and attributes for this hash."/>
653 <columnDefinition name="HashPart1" type="number" length="4"
654 description="Size of file in bytes (long integer)."/>
655 <columnDefinition name="HashPart2" type="number" length="4"
656 description="Size of file in bytes (long integer)."/>
657 <columnDefinition name="HashPart3" type="number" length="4"
658 description="Size of file in bytes (long integer)."/>
659 <columnDefinition name="HashPart4" type="number" length="4"
660 description="Size of file in bytes (long integer)."/>
661 </tableDefinition>
662 <tableDefinition name="MsiPackageCertificate">
663 <columnDefinition name="PackageCertificate" type="string" length="72" primaryKey="yes"
664 category="identifier" description="Primary key. A unique identifier for the row."/>
665 <columnDefinition name="DigitalCertificate_" type="string" length="72" primaryKey="yes"
666 keyTable="MsiDigitalCertificate" keyColumn="1" category="identifier" description="Foreign key to MsiDigitalCertificate table identifying the signer certificate."/>
667 </tableDefinition>
668 <tableDefinition name="MsiPatchCertificate">
669 <columnDefinition name="PatchCertificate" type="string" length="72" primaryKey="yes"
670 category="identifier" description="Primary key. A unique identifier for the row."/>
671 <columnDefinition name="DigitalCertificate_" type="string" length="72" primaryKey="yes"
672 keyTable="MsiDigitalCertificate" keyColumn="1" category="identifier" description="Foreign key to MsiDigitalCertificate table identifying the signer certificate."/>
673 </tableDefinition>
674 <tableDefinition name="MsiPatchHeaders" tupleIdIsPrimaryKey="no">
675 <columnDefinition name="StreamRef" type="string" length="38" primaryKey="yes"
676 category="identifier" description="Primary key. A unique identifier for the row."/>
677 <columnDefinition name="Header" type="object" length="0"
678 category="binary" description="Binary stream. The patch header, used for patch validation."/>
679 </tableDefinition>
680 <tableDefinition name="PatchMetadata">
681 <columnDefinition name="Company" type="string" length="72" primaryKey="yes" nullable="yes"
682 category="identifier" description="Primary key. The name of the company."/>
683 <columnDefinition name="Property" type="string" length="72" primaryKey="yes"
684 category="identifier" description="Primary key. The name of the property."/>
685 <columnDefinition name="Value" type="localized" length="0" escapeIdtCharacters="yes"
686 category="text" description="Non-null, non-empty value of the metadata property."/>
687 </tableDefinition>
688 <tableDefinition name="MsiPatchMetadata">
689 <columnDefinition name="Company" type="string" length="72" primaryKey="yes" nullable="yes"
690 />
691 <columnDefinition name="Property" type="string" length="72" primaryKey="yes"
692 />
693 <columnDefinition name="Value" type="localized" length="0"
694 />
695 </tableDefinition>
696 <tableDefinition name="MsiPatchOldAssemblyFile">
697 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
698 keyTable="File" keyColumn="1" category="identifier" description="Foreign key into File table. Patch-only table."/>
699 <columnDefinition name="Assembly_" type="string" length="72" primaryKey="yes" modularize="column"
700 keyTable="MsiPatchOldAssemblyName" keyColumn="1" category="identifier" description="Foreign key into MsiPatchOldAssemblyName table."/>
701 </tableDefinition>
702 <tableDefinition name="MsiPatchOldAssemblyName">
703 <columnDefinition name="Assembly" type="string" length="72" primaryKey="yes" modularize="column"
704 category="identifier" description="A unique identifier for the row."/>
705 <columnDefinition name="Name" type="string" length="255" primaryKey="yes"
706 category="text" description="The name part of the name-value pairs for the assembly name. This represents the old name for the assembly."/>
707 <columnDefinition name="Value" type="string" length="255"
708 category="text" description="The value part of the name-value pairs for the assembly name. This represents the old name for the assembly."/>
709 </tableDefinition>
710 <tableDefinition name="PatchSequence">
711 <columnDefinition name="PatchFamily" type="string" length="72" primaryKey="yes"
712 category="identifier" description="Primary key. The name of the family for the patch."/>
713 <columnDefinition name="Target" type="string" length="72" primaryKey="yes" nullable="yes"
714 category="text" description="Primary key. Determines product code filtering for family."/>
715 <columnDefinition name="Sequence" type="string" length="72" nullable="yes"
716 category="text" description="Sequence information in version (x.x.x.x) format."/>
717 <columnDefinition name="Supersede" type="number" length="4" nullable="yes"
718 description="Indicates that this patch supersedes earlier patches."/>
719 </tableDefinition>
720 <tableDefinition name="MsiPatchSequence" createSymbols="yes">
721 <columnDefinition name="PatchFamily" type="string" length="72" primaryKey="yes"
722 />
723 <columnDefinition name="ProductCode" type="string" length="38" primaryKey="yes" nullable="yes"
724 />
725 <columnDefinition name="Sequence" type="string" length="72"
726 />
727 <columnDefinition name="Attributes" type="number" length="4" nullable="yes"
728 />
729 </tableDefinition>
730 <tableDefinition name="ODBCAttribute">
731 <columnDefinition name="Driver_" type="string" length="72" primaryKey="yes" modularize="column"
732 keyTable="ODBCDriver" keyColumn="1" category="identifier" description="Reference to ODBC driver in ODBCDriver table"/>
733 <columnDefinition name="Attribute" type="string" length="40" primaryKey="yes"
734 category="text" description="Name of ODBC driver attribute"/>
735 <columnDefinition name="Value" type="localized" length="255" nullable="yes"
736 category="formatted" description="Value for ODBC driver attribute"/>
737 </tableDefinition>
738 <tableDefinition name="ODBCDriver">
739 <columnDefinition name="Driver" type="string" length="72" primaryKey="yes" modularize="column"
740 category="identifier" description="Primary key, non-localized.internal token for driver"/>
741 <columnDefinition name="Component_" type="string" length="72" modularize="column"
742 keyTable="Component" keyColumn="1" category="identifier" description="Reference to associated component"/>
743 <columnDefinition name="Description" type="string" length="255"
744 category="text" description="Text used as registered name for driver, non-localized"/>
745 <columnDefinition name="File_" type="string" length="72" modularize="column"
746 keyTable="File" keyColumn="1" category="identifier" description="Reference to key driver file"/>
747 <columnDefinition name="File_Setup" type="string" length="72" nullable="yes" modularize="column"
748 keyTable="File" keyColumn="1" category="identifier" description="Optional reference to key driver setup DLL"/>
749 </tableDefinition>
750 <tableDefinition name="ODBCDataSource">
751 <columnDefinition name="DataSource" type="string" length="72" primaryKey="yes" modularize="column"
752 category="identifier" description="Primary key, non-localized.internal token for data source"/>
753 <columnDefinition name="Component_" type="string" length="72" modularize="column"
754 keyTable="Component" keyColumn="1" category="identifier" description="Reference to associated component"/>
755 <columnDefinition name="Description" type="string" length="255"
756 category="text" description="Text used as registered name for data source"/>
757 <columnDefinition name="DriverDescription" type="string" length="255"
758 category="text" description="Reference to driver description, may be existing driver"/>
759 <columnDefinition name="Registration" type="number" length="2"
760 minValue="0" maxValue="1" description="Registration option: 0=machine, 1=user, others t.b.d."/>
761 </tableDefinition>
762 <tableDefinition name="ODBCSourceAttribute">
763 <columnDefinition name="DataSource_" type="string" length="72" primaryKey="yes" modularize="column"
764 keyTable="ODBCDataSource" keyColumn="1" category="identifier" description="Reference to ODBC data source in ODBCDataSource table"/>
765 <columnDefinition name="Attribute" type="string" length="32" primaryKey="yes"
766 category="text" description="Name of ODBC data source attribute"/>
767 <columnDefinition name="Value" type="localized" length="255" nullable="yes"
768 category="formatted" description="Value for ODBC data source attribute"/>
769 </tableDefinition>
770 <tableDefinition name="ODBCTranslator">
771 <columnDefinition name="Translator" type="string" length="72" primaryKey="yes" modularize="column"
772 category="identifier" description="Primary key, non-localized.internal token for translator"/>
773 <columnDefinition name="Component_" type="string" length="72" modularize="column"
774 keyTable="Component" keyColumn="1" category="identifier" description="Reference to associated component"/>
775 <columnDefinition name="Description" type="string" length="255"
776 category="text" description="Text used as registered name for translator"/>
777 <columnDefinition name="File_" type="string" length="72" modularize="column"
778 keyTable="File" keyColumn="1" category="identifier" description="Reference to key translator file"/>
779 <columnDefinition name="File_Setup" type="string" length="72" nullable="yes" modularize="column"
780 keyTable="File" keyColumn="1" category="identifier" description="Optional reference to key translator setup DLL"/>
781 </tableDefinition>
782 <tableDefinition name="Patch">
783 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
784 category="identifier" description="Primary key, non-localized token, foreign key to File table, must match identifier in cabinet."/>
785 <columnDefinition name="Sequence" type="number" length="4" primaryKey="yes"
786 minValue="0" maxValue="2147483647" description="Primary key, sequence with respect to the media images; order must track cabinet order."/>
787 <columnDefinition name="PatchSize" type="number" length="4"
788 minValue="0" maxValue="2147483647" description="Size of patch in bytes (long integer)."/>
789 <columnDefinition name="Attributes" type="number" length="2"
790 minValue="0" maxValue="32767" description="Integer containing bit flags representing patch attributes"/>
791 <columnDefinition name="Header" type="object" length="0" nullable="yes"
792 category="binary" description="Binary stream. The patch header, used for patch validation."/>
793 <columnDefinition name="StreamRef_" type="string" length="38" nullable="yes"
794 category="identifier" description="Identifier. Foreign key to the StreamRef column of the MsiPatchHeaders table."/>
795 </tableDefinition>
796 <tableDefinition name="PatchPackage">
797 <columnDefinition name="PatchId" type="string" length="38" primaryKey="yes"
798 category="guid" description="A unique string GUID representing this patch."/>
799 <columnDefinition name="Media_" type="number" length="2"
800 minValue="0" maxValue="32767" description="Foreign key to DiskId column of Media table. Indicates the disk containing the patch package."/>
801 </tableDefinition>
802 <tableDefinition name="PublishComponent">
803 <columnDefinition name="ComponentId" type="string" length="38" primaryKey="yes"
804 category="guid" description="A string GUID that represents the component id that will be requested by the alien product."/>
805 <columnDefinition name="Qualifier" type="string" length="255" primaryKey="yes"
806 category="text" description="This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect."/>
807 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
808 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table."/>
809 <columnDefinition name="AppData" type="localized" length="0" nullable="yes" escapeIdtCharacters="yes"
810 category="text" description="This is localisable Application specific data that can be associated with a Qualified Component."/>
811 <columnDefinition name="Feature_" type="string" length="38"
812 keyTable="Feature" keyColumn="1" category="identifier" description="Foreign key into the Feature table."/>
813 </tableDefinition>
814 <tableDefinition name="RadioButton">
815 <columnDefinition name="Property" type="string" length="72" primaryKey="yes" modularize="column"
816 category="identifier" description="A named property to be tied to this radio button. All the buttons tied to the same property become part of the same group."/>
817 <columnDefinition name="Order" type="number" length="2" primaryKey="yes"
818 minValue="1" maxValue="32767" description="A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive."/>
819 <columnDefinition name="Value" type="string" length="64" modularize="property" escapeIdtCharacters="yes"
820 category="formatted" description="The value string associated with this button. Selecting the button will set the associated property to this value."/>
821 <columnDefinition name="X" type="number" length="2" localizable="yes"
822 minValue="0" maxValue="32767" description="The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button."/>
823 <columnDefinition name="Y" type="number" length="2" localizable="yes"
824 minValue="0" maxValue="32767" description="The vertical coordinate of the upper left corner of the bounding rectangle of the radio button."/>
825 <columnDefinition name="Width" type="number" length="2" localizable="yes"
826 minValue="0" maxValue="32767" description="The width of the button."/>
827 <columnDefinition name="Height" type="number" length="2" localizable="yes"
828 minValue="0" maxValue="32767" description="The height of the button."/>
829 <columnDefinition name="Text" type="localized" length="0" nullable="yes" escapeIdtCharacters="yes"
830 category="text" description="The visible title to be assigned to the radio button."/>
831 <columnDefinition name="Help" type="localized" length="50" nullable="yes" escapeIdtCharacters="yes"
832 category="text" description="The help strings used with the button. The text is optional."/>
833 </tableDefinition>
834 <tableDefinition name="Registry">
835 <columnDefinition name="Registry" type="string" length="72" primaryKey="yes" modularize="column"
836 category="identifier" description="Primary key, non-localized token."/>
837 <columnDefinition name="Root" type="number" length="2"
838 minValue="-1" maxValue="3" description="The predefined root key for the registry value, one of rrkEnum."/>
839 <columnDefinition name="Key" type="localized" length="255" modularize="property"
840 category="regPath" description="The key for the registry value."/>
841 <columnDefinition name="Name" type="localized" length="255" nullable="yes" modularize="property"
842 category="formatted" description="The registry value name."/>
843 <columnDefinition name="Value" type="localized" length="0" nullable="yes" modularize="property" escapeIdtCharacters="yes"
844 category="formatted" description="The registry value."/>
845 <columnDefinition name="Component_" type="string" length="72" modularize="column"
846 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table referencing component that controls the installing of the registry value."/>
847 </tableDefinition>
848 <tableDefinition name="RegLocator" createSymbols="yes" tupleIdIsPrimaryKey="yes">
849 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes" modularize="column"
850 category="identifier" description="The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key."/>
851 <columnDefinition name="Root" type="number" length="2"
852 minValue="0" maxValue="3" description="The predefined root key for the registry value, one of rrkEnum."/>
853 <columnDefinition name="Key" type="string" length="255" modularize="property" localizable="yes"
854 category="regPath" description="The key for the registry value."/>
855 <columnDefinition name="Name" type="string" length="255" nullable="yes" modularize="property" localizable="yes"
856 category="formatted" description="The registry value name."/>
857 <columnDefinition name="Type" type="number" length="2" nullable="yes"
858 minValue="0" maxValue="18" description="An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation."/>
859 </tableDefinition>
860 <tableDefinition name="RemoveFile">
861 <columnDefinition name="FileKey" type="string" length="72" primaryKey="yes" modularize="column"
862 category="identifier" description="Primary key used to identify a particular file entry"/>
863 <columnDefinition name="Component_" type="string" length="72" modularize="column"
864 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the file to be removed."/>
865 <columnDefinition name="FileName" type="localized" length="255" nullable="yes"
866 category="wildCardFilename" description="Name of the file to be removed."/>
867 <columnDefinition name="DirProperty" type="string" length="72" modularize="column"
868 category="identifier" description="Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed."/>
869 <columnDefinition name="InstallMode" type="number" length="2"
870 set="1;2;3" description="Installation option, one of iimEnum."/>
871 </tableDefinition>
872 <tableDefinition name="RemoveIniFile" tupleless="yes">
873 <columnDefinition name="RemoveIniFile" type="string" length="72" primaryKey="yes" modularize="column"
874 category="identifier" description="Primary key, non-localized token."/>
875 <columnDefinition name="FileName" type="localized" length="255"
876 category="filename" description="The .INI file name in which to delete the information"/>
877 <columnDefinition name="DirProperty" type="string" length="72" nullable="yes" modularize="column"
878 category="identifier" description="Foreign key into the Directory table denoting the directory where the .INI file is."/>
879 <columnDefinition name="Section" type="localized" length="96" modularize="property"
880 category="formatted" description="The .INI file Section."/>
881 <columnDefinition name="Key" type="localized" length="128" modularize="property"
882 category="formatted" description="The .INI file key below Section."/>
883 <columnDefinition name="Value" type="localized" length="255" nullable="yes" modularize="property"
884 category="formatted" description="The value to be deleted. The value is required when Action is iifIniRemoveTag"/>
885 <columnDefinition name="Action" type="number" length="2"
886 set="2;4" description="The type of modification to be made, one of iifEnum."/>
887 <columnDefinition name="Component_" type="string" length="72" modularize="column"
888 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table referencing component that controls the deletion of the .INI value."/>
889 </tableDefinition>
890 <tableDefinition name="RemoveRegistry">
891 <columnDefinition name="RemoveRegistry" type="string" length="72" primaryKey="yes" modularize="column"
892 category="identifier" description="Primary key, non-localized token."/>
893 <columnDefinition name="Root" type="number" length="2"
894 minValue="-1" maxValue="3" description="The predefined root key for the registry value, one of rrkEnum"/>
895 <columnDefinition name="Key" type="localized" length="255" modularize="property"
896 category="regPath" description="The key for the registry value."/>
897 <columnDefinition name="Name" type="localized" length="255" nullable="yes" modularize="property"
898 category="formatted" description="The registry value name."/>
899 <columnDefinition name="Component_" type="string" length="72" modularize="column"
900 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table referencing component that controls the deletion of the registry value."/>
901 </tableDefinition>
902 <tableDefinition name="ReserveCost">
903 <columnDefinition name="ReserveKey" type="string" length="72" primaryKey="yes" modularize="column"
904 category="identifier" description="Primary key that uniquely identifies a particular ReserveCost record"/>
905 <columnDefinition name="Component_" type="string" length="72" modularize="column"
906 keyTable="Component" keyColumn="1" category="identifier" description="Reserve a specified amount of space if this component is to be installed."/>
907 <columnDefinition name="ReserveFolder" type="string" length="72" nullable="yes" modularize="column"
908 category="identifier" description="Name of a property whose value is assumed to resolve to the full path to the destination directory"/>
909 <columnDefinition name="ReserveLocal" type="number" length="4"
910 minValue="0" maxValue="2147483647" description="Disk space to reserve if linked component is installed locally."/>
911 <columnDefinition name="ReserveSource" type="number" length="4"
912 minValue="0" maxValue="2147483647" description="Disk space to reserve if linked component is installed to run from the source location."/>
913 </tableDefinition>
914 <tableDefinition name="SelfReg" tupleless="yes">
915 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
916 keyTable="File" keyColumn="1" category="identifier" description="Foreign key into the File table denoting the module that needs to be registered."/>
917 <columnDefinition name="Cost" type="number" length="2" nullable="yes"
918 minValue="0" maxValue="32767" description="The cost of registering the module."/>
919 </tableDefinition>
920 <tableDefinition name="ServiceControl">
921 <columnDefinition name="ServiceControl" type="string" length="72" primaryKey="yes" modularize="column"
922 category="identifier" description="Primary key, non-localized token."/>
923 <columnDefinition name="Name" type="localized" length="255" modularize="property"
924 category="formatted" description="Name of a service. /, \, comma and space are invalid"/>
925 <columnDefinition name="Event" type="number" length="2"
926 minValue="0" maxValue="187" description="Bit field: Install: 0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete"/>
927 <columnDefinition name="Arguments" type="localized" length="255" nullable="yes" modularize="property"
928 category="formatted" description="Arguments for the service. Separate by [~]."/>
929 <columnDefinition name="Wait" type="number" length="2" nullable="yes"
930 minValue="0" maxValue="1" description="Boolean for whether to wait for the service to fully start"/>
931 <columnDefinition name="Component_" type="string" length="72" modularize="column"
932 keyTable="Component" keyColumn="1" category="identifier" description="Required foreign key into the Component Table that controls the startup of the service"/>
933 </tableDefinition>
934 <tableDefinition name="ServiceInstall">
935 <columnDefinition name="ServiceInstall" type="string" length="72" primaryKey="yes" modularize="column"
936 category="identifier" description="Primary key, non-localized token."/>
937 <columnDefinition name="Name" type="string" length="255" modularize="property"
938 category="formatted" description="Internal Name of the Service"/>
939 <columnDefinition name="DisplayName" type="localized" length="255" nullable="yes" escapeIdtCharacters="yes" modularize="property"
940 category="formatted" description="External Name of the Service"/>
941 <columnDefinition name="ServiceType" type="number" length="4"
942 minValue="-2147483647" maxValue="2147483647" description="Type of the service"/>
943 <columnDefinition name="StartType" type="number" length="4"
944 minValue="0" maxValue="4" description="Type of the service"/>
945 <columnDefinition name="ErrorControl" type="number" length="4"
946 minValue="-2147483647" maxValue="2147483647" description="Severity of error if service fails to start"/>
947 <columnDefinition name="LoadOrderGroup" type="string" length="255" nullable="yes" modularize="property"
948 category="formatted" description="LoadOrderGroup"/>
949 <columnDefinition name="Dependencies" type="string" length="255" nullable="yes" modularize="property"
950 category="formatted" description="Other services this depends on to start. Separate by [~], and end with [~][~]"/>
951 <columnDefinition name="StartName" type="string" length="255" nullable="yes" modularize="property"
952 category="formatted" description="User or object name to run service as"/>
953 <columnDefinition name="Password" type="string" length="255" nullable="yes" modularize="property"
954 category="formatted" description="password to run service with. (with StartName)"/>
955 <columnDefinition name="Arguments" type="string" length="255" nullable="yes" modularize="property"
956 category="formatted" description="Arguments to include in every start of the service, passed to WinMain"/>
957 <columnDefinition name="Component_" type="string" length="72" modularize="column"
958 keyTable="Component" keyColumn="1" category="identifier" description="Required foreign key into the Component Table that controls the startup of the service"/>
959 <columnDefinition name="Description" type="localized" length="255" nullable="yes" escapeIdtCharacters="yes" modularize="property"
960 category="text" description="Description of service."/>
961 </tableDefinition>
962 <tableDefinition name="MsiServiceConfig">
963 <columnDefinition name="MsiServiceConfig" type="string" length="72" primaryKey="yes" modularize="column"
964 category="identifier" description="Primary key, non-localized token."/>
965 <columnDefinition name="Name" type="localized" length="255" modularize="property"
966 category="formatted" description="Name of a service. /, \, comma and space are invalid"/>
967 <columnDefinition name="Event" type="number" length="2"
968 minValue="0" maxValue="7" description="Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = Reinstall"/>
969 <columnDefinition name="ConfigType" type="number" length="4"
970 minValue="-2147483647" maxValue="2147483647" description="Service Configuration Option"/>
971 <columnDefinition name="Argument" type="string" length="0" nullable="yes"
972 category="text" description="Argument(s) for service configuration. Value depends on the content of the ConfigType field"/>
973 <columnDefinition name="Component_" type="string" length="72" modularize="column"
974 keyTable="Component" keyColumn="1" category="identifier" description="Required foreign key into the Component Table that controls the configuration of the service"/>
975 </tableDefinition>
976 <tableDefinition name="MsiServiceConfigFailureActions">
977 <columnDefinition name="MsiServiceConfigFailureActions" type="string" length="72" primaryKey="yes" modularize="column"
978 category="identifier" description="Primary key, non-localized token"/>
979 <columnDefinition name="Name" type="localized" length="255" modularize="property"
980 category="formatted" description="Name of a service. /, \, comma and space are invalid"/>
981 <columnDefinition name="Event" type="number" length="2"
982 minValue="0" maxValue="7" description="Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = Reinstall"/>
983 <columnDefinition name="ResetPeriod" type="number" length="4" nullable="yes"
984 minValue="0" maxValue="2147483647" description="Time in seconds after which to reset the failure count to zero. Leave blank if it should never be reset"/>
985 <columnDefinition name="RebootMessage" type="localized" length="255" nullable="yes"
986 category="formatted" description="Message to be broadcast to server users before rebooting"/>
987 <columnDefinition name="Command" type="localized" length="255" nullable="yes"
988 category="formatted" description="Command line of the process to CreateProcess function to execute"/>
989 <columnDefinition name="Actions" type="string" length="0" nullable="yes"
990 category="text" description="A list of integer actions separated by [~] delimiters: 0 = SC_ACTION_NONE, 1 = SC_ACTION_RESTART, 2 = SC_ACTION_REBOOT, 3 = SC_ACTION_RUN_COMMAND. Terminate with [~][~]"/>
991 <columnDefinition name="DelayActions" type="string" length="0" nullable="yes"
992 category="text" description="A list of delays (time in milli-seconds), separated by [~] delmiters, to wait before taking the corresponding Action. Terminate with [~][~]"/>
993 <columnDefinition name="Component_" type="string" length="72" modularize="column"
994 keyTable="Component" keyColumn="1" category="identifier" description="Required foreign key into the Component Table that controls the configuration of failure actions for the service"/>
995 </tableDefinition>
996 <tableDefinition name="Shortcut">
997 <columnDefinition name="Shortcut" type="string" length="72" primaryKey="yes" modularize="column"
998 category="identifier" description="Primary key, non-localized token."/>
999 <columnDefinition name="Directory_" type="string" length="72" modularize="column"
1000 keyTable="Directory" keyColumn="1" category="identifier" description="Foreign key into the Directory table denoting the directory where the shortcut file is created."/>
1001 <columnDefinition name="Name" type="localized" length="128"
1002 category="filename" description="The name of the shortcut to be created."/>
1003 <columnDefinition name="Component_" type="string" length="72" modularize="column"
1004 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion."/>
1005 <columnDefinition name="Target" type="string" length="72" modularize="property"
1006 category="shortcut" description="The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to."/>
1007 <columnDefinition name="Arguments" type="string" length="255" nullable="yes" modularize="property"
1008 category="formatted" description="The command-line arguments for the shortcut."/>
1009 <columnDefinition name="Description" type="localized" length="255" nullable="yes" escapeIdtCharacters="yes"
1010 category="text" description="The description for the shortcut."/>
1011 <columnDefinition name="Hotkey" type="number" length="2" nullable="yes"
1012 minValue="0" maxValue="32767" description="The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. "/>
1013 <columnDefinition name="Icon_" type="string" length="72" nullable="yes" modularize="icon"
1014 keyTable="Icon" keyColumn="1" category="identifier" description="Foreign key into the File table denoting the external icon file for the shortcut."/>
1015 <columnDefinition name="IconIndex" type="number" length="2" nullable="yes"
1016 minValue="-32767" maxValue="32767" description="The icon index for the shortcut."/>
1017 <columnDefinition name="ShowCmd" type="number" length="2" nullable="yes"
1018 set="1;3;7" description="The show command for the application window.The following values may be used."/>
1019 <columnDefinition name="WkDir" type="string" length="72" nullable="yes" modularize="column"
1020 category="identifier" description="Name of property defining location of working directory."/>
1021 <columnDefinition name="DisplayResourceDLL" type="string" length="255" nullable="yes" modularize="property"
1022 category="formatted" description="The Formatted string providing the full path to the language neutral file containing the MUI Manifest."/>
1023 <columnDefinition name="DisplayResourceId" type="number" length="2" nullable="yes"
1024 minValue="0" maxValue="32767" description="The display name index for the shortcut. This must be a non-negative number."/>
1025 <columnDefinition name="DescriptionResourceDLL" type="string" length="255" nullable="yes" modularize="property"
1026 category="formatted" description="The Formatted string providing the full path to the language neutral file containing the MUI Manifest."/>
1027 <columnDefinition name="DescriptionResourceId" type="number" length="2" nullable="yes"
1028 minValue="0" maxValue="32767" description="The description name index for the shortcut. This must be a non-negative number."/>
1029 </tableDefinition>
1030 <tableDefinition name="MsiShortcutProperty">
1031 <columnDefinition name="MsiShortcutProperty" type="string" length="72" primaryKey="yes" modularize="column"
1032 category="identifier" description="Primary key, non-localized token"/>
1033 <columnDefinition name="Shortcut_" type="string" length="72" modularize="column"
1034 keyTable="Shortcut" keyColumn="1" category="identifier" description="Foreign key into the Shortcut table"/>
1035 <columnDefinition name="PropertyKey" type="string" length="0" modularize="property"
1036 category="formatted" description="Canonical string representation of the Property Key being set"/>
1037 <columnDefinition name="PropVariantValue" type="string" length="0" modularize="property"
1038 category="formatted" description="String representation of the value in the property"/>
1039 </tableDefinition>
1040 <tableDefinition name="Signature" createSymbols="yes">
1041 <columnDefinition name="Signature" type="string" length="72" primaryKey="yes" modularize="column"
1042 category="identifier" description="The table key. The Signature represents a unique file signature."/>
1043 <columnDefinition name="FileName" type="string" length="255"
1044 category="text" description="The name of the file. This may contain a &quot;short name|long name&quot; pair."/>
1045 <columnDefinition name="MinVersion" type="string" length="20" nullable="yes"
1046 category="text" description="The minimum version of the file."/>
1047 <columnDefinition name="MaxVersion" type="string" length="20" nullable="yes"
1048 category="text" description="The maximum version of the file."/>
1049 <columnDefinition name="MinSize" type="number" length="4" nullable="yes"
1050 minValue="0" maxValue="2147483647" description="The minimum size of the file."/>
1051 <columnDefinition name="MaxSize" type="number" length="4" nullable="yes"
1052 minValue="0" maxValue="2147483647" description="The maximum size of the file. "/>
1053 <columnDefinition name="MinDate" type="number" length="4" nullable="yes"
1054 minValue="0" maxValue="2147483647" description="The minimum creation date of the file."/>
1055 <columnDefinition name="MaxDate" type="number" length="4" nullable="yes"
1056 minValue="0" maxValue="2147483647" description="The maximum creation date of the file."/>
1057 <columnDefinition name="Languages" type="string" length="255" nullable="yes"
1058 category="language" description="The languages supported by the file."/>
1059 </tableDefinition>
1060 <tableDefinition name="TextStyle">
1061 <columnDefinition name="TextStyle" type="string" length="72" primaryKey="yes"
1062 category="identifier" description="Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change."/>
1063 <columnDefinition name="FaceName" type="string" length="32" localizable="yes"
1064 category="text" description="A string indicating the name of the font used. Required. The string must be at most 31 characters long."/>
1065 <columnDefinition name="Size" type="number" length="2" localizable="yes"
1066 minValue="0" maxValue="32767" description="The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size."/>
1067 <columnDefinition name="Color" type="number" length="4" nullable="yes"
1068 minValue="0" maxValue="16777215" description="A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B)."/>
1069 <columnDefinition name="StyleBits" type="number" length="2" nullable="yes"
1070 minValue="0" maxValue="15" description="A combination of style bits."/>
1071 </tableDefinition>
1072 <tableDefinition name="TypeLib">
1073 <columnDefinition name="LibID" type="string" length="38" primaryKey="yes"
1074 category="guid" description="The GUID that represents the library."/>
1075 <columnDefinition name="Language" type="number" length="2" primaryKey="yes"
1076 minValue="0" maxValue="32767" description="The language of the library."/>
1077 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
1078 keyTable="Component" keyColumn="1" category="identifier" description="Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent."/>
1079 <columnDefinition name="Version" type="number" length="4" nullable="yes"
1080 minValue="0" maxValue="16777215" description="The version of the library. The minor version is in the lower 8 bits of the integer. The major version is in the next 16 bits. "/>
1081 <columnDefinition name="Description" type="localized" length="128" nullable="yes" escapeIdtCharacters="yes"
1082 category="text"/>
1083 <columnDefinition name="Directory_" type="string" length="72" nullable="yes" modularize="column"
1084 keyTable="Directory" keyColumn="1" category="identifier" description="Optional. The foreign key into the Directory table denoting the path to the help file for the type library."/>
1085 <columnDefinition name="Feature_" type="string" length="38"
1086 keyTable="Feature" keyColumn="1" category="identifier" description="Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational."/>
1087 <columnDefinition name="Cost" type="number" length="4" nullable="yes"
1088 minValue="0" maxValue="2147483647" description="The cost associated with the registration of the typelib. This column is currently optional."/>
1089 </tableDefinition>
1090 <tableDefinition name="UIText">
1091 <columnDefinition name="Key" type="string" length="72" primaryKey="yes"
1092 category="identifier" description="A unique key that identifies the particular string."/>
1093 <columnDefinition name="Text" type="localized" length="255" nullable="yes" escapeIdtCharacters="yes"
1094 category="text" description="The localized version of the string."/>
1095 </tableDefinition>
1096 <tableDefinition name="Upgrade">
1097 <columnDefinition name="UpgradeCode" type="string" length="38" primaryKey="yes"
1098 category="guid" description="The UpgradeCode GUID belonging to the products in this set."/>
1099 <columnDefinition name="VersionMin" type="string" length="20" primaryKey="yes" nullable="yes"
1100 category="text" description="The minimum ProductVersion of the products in this set. The set may or may not include products with this particular version."/>
1101 <columnDefinition name="VersionMax" type="string" length="20" primaryKey="yes" nullable="yes"
1102 category="text" description="The maximum ProductVersion of the products in this set. The set may or may not include products with this particular version."/>
1103 <columnDefinition name="Language" type="string" length="255" primaryKey="yes" nullable="yes" localizable="yes"
1104 category="language" description="A comma-separated list of languages for either products in this set or products not in this set."/>
1105 <columnDefinition name="Attributes" type="number" length="4" primaryKey="yes"
1106 minValue="0" maxValue="2147483647" description="The attributes of this product set."/>
1107 <columnDefinition name="Remove" type="string" length="255" nullable="yes"
1108 category="formatted" description="The list of features to remove when uninstalling a product from this set. The default is &quot;ALL&quot;."/>
1109 <columnDefinition name="ActionProperty" type="string" length="72"
1110 category="upperCase" description="The property to set when a product in this set is found."/>
1111 </tableDefinition>
1112 <tableDefinition name="Verb">
1113 <columnDefinition name="Extension_" type="string" length="255" primaryKey="yes"
1114 keyTable="Extension" keyColumn="1" category="text" description="The extension associated with the table row."/>
1115 <columnDefinition name="Verb" type="string" length="32" primaryKey="yes"
1116 category="text" description="The verb for the command."/>
1117 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
1118 minValue="0" maxValue="32767" description="Order within the verbs for a particular extension. Also used simply to specify the default verb."/>
1119 <columnDefinition name="Command" type="localized" length="255" nullable="yes" modularize="property"
1120 category="formatted" description="The command text."/>
1121 <columnDefinition name="Argument" type="localized" length="255" nullable="yes" modularize="property"
1122 category="formatted" description="Optional value for the command arguments."/>
1123 </tableDefinition>
1124 <!-- Merge Module -->
1125 <tableDefinition name="ModuleAdminExecuteSequence" tupleless="yes">
1126 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1127 category="identifier" description="Action to insert"/>
1128 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
1129 minValue="-4" maxValue="32767" description="Standard Sequence number"/>
1130 <columnDefinition name="BaseAction" type="string" length="64" nullable="yes" modularize="column"
1131 keyTable="ModuleAdminExecuteSequence" keyColumn="1" category="identifier" description="Base action to determine insert location."/>
1132 <columnDefinition name="After" type="number" length="2" nullable="yes"
1133 minValue="0" maxValue="1" description="Before (0) or After (1)"/>
1134 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1135 category="condition"/>
1136 </tableDefinition>
1137 <tableDefinition name="ModuleAdminUISequence" tupleless="yes">
1138 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1139 category="identifier" description="Action to insert"/>
1140 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
1141 minValue="-4" maxValue="32767" description="Standard Sequence number"/>
1142 <columnDefinition name="BaseAction" type="string" length="64" nullable="yes" modularize="column"
1143 keyTable="ModuleAdminUISequence" keyColumn="1" category="identifier" description="Base action to determine insert location."/>
1144 <columnDefinition name="After" type="number" length="2" nullable="yes"
1145 minValue="0" maxValue="1" description="Before (0) or After (1)"/>
1146 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1147 category="condition"/>
1148 </tableDefinition>
1149 <tableDefinition name="ModuleAdvtExecuteSequence" tupleless="yes">
1150 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1151 category="identifier" description="Action to insert"/>
1152 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
1153 minValue="-4" maxValue="32767" description="Standard Sequence number"/>
1154 <columnDefinition name="BaseAction" type="string" length="64" nullable="yes" modularize="column"
1155 keyTable="ModuleAdvtExecuteSequence" keyColumn="1" category="identifier" description="Base action to determine insert location."/>
1156 <columnDefinition name="After" type="number" length="2" nullable="yes"
1157 minValue="0" maxValue="1" description="Before (0) or After (1)"/>
1158 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1159 category="condition"/>
1160 </tableDefinition>
1161 <tableDefinition name="ModuleAdvtUISequence" tupleless="yes">
1162 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1163 category="identifier" description="Action to insert"/>
1164 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
1165 minValue="-4" maxValue="32767" description="Standard Sequence number"/>
1166 <columnDefinition name="BaseAction" type="string" length="64" nullable="yes" modularize="column"
1167 keyTable="ModuleAdvtUISequence" keyColumn="1" category="identifier" description="Base action to determine insert location."/>
1168 <columnDefinition name="After" type="number" length="2" nullable="yes"
1169 minValue="0" maxValue="1" description="Before (0) or After (1)"/>
1170 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1171 category="condition"/>
1172 </tableDefinition>
1173 <tableDefinition name="ModuleComponents">
1174 <columnDefinition name="Component" type="string" length="72" primaryKey="yes" modularize="column"
1175 keyTable="Component" keyColumn="1" category="identifier" description="Component contained in the module."/>
1176 <columnDefinition name="ModuleID" type="string" length="72" primaryKey="yes" modularize="column"
1177 keyTable="ModuleSignature" keyColumn="1" category="identifier" description="Module containing the component."/>
1178 <columnDefinition name="Language" type="number" length="2" primaryKey="yes" localizable="yes"
1179 keyTable="ModuleSignature" keyColumn="2" description="Default language ID for module (may be changed by transform)."/>
1180 </tableDefinition>
1181 <tableDefinition name="ModuleSignature">
1182 <columnDefinition name="ModuleID" type="string" length="72" primaryKey="yes" modularize="column"
1183 category="identifier" description="Module identifier (String.GUID)."/>
1184 <columnDefinition name="Language" type="number" length="2" primaryKey="yes" localizable="yes"
1185 description="Default decimal language of module."/>
1186 <columnDefinition name="Version" type="string" length="32"
1187 category="version" description="Version of the module."/>
1188 </tableDefinition>
1189 <tableDefinition name="ModuleConfiguration">
1190 <columnDefinition name="Name" type="string" length="72" primaryKey="yes"
1191 category="identifier" description="Unique identifier for this row."/>
1192 <columnDefinition name="Format" type="number" length="2"
1193 minValue="0" maxValue="3" description="Format of this item."/>
1194 <columnDefinition name="Type" type="string" length="72" nullable="yes"
1195 category="identifier" description="Additional type information for this item."/>
1196 <columnDefinition name="ContextData" type="localized" length="0" nullable="yes"
1197 category="text" description="Additional context information about this item."/>
1198 <columnDefinition name="DefaultValue" type="localized" length="0" nullable="yes"
1199 category="text" description="Default value for this item."/>
1200 <columnDefinition name="Attributes" type="number" length="4" nullable="yes"
1201 minValue="0" maxValue="3" description="Additional type-specific attributes."/>
1202 <columnDefinition name="DisplayName" type="localized" length="72" nullable="yes"
1203 category="text" description="A short human-readable name for this item."/>
1204 <columnDefinition name="Description" type="localized" length="0" nullable="yes"
1205 category="text" description="A human-readable description."/>
1206 <columnDefinition name="HelpLocation" type="string" length="0" nullable="yes"
1207 category="text" description="Filename or namespace of the context-sensitive help for this item."/>
1208 <columnDefinition name="HelpKeyword" type="string" length="0" nullable="yes"
1209 category="text" description="Keyword index into the HelpLocation for this item."/>
1210 </tableDefinition>
1211 <tableDefinition name="ModuleDependency">
1212 <columnDefinition name="ModuleID" type="string" length="72" primaryKey="yes" modularize="column"
1213 keyTable="ModuleSignature" keyColumn="1" category="identifier" description="Module requiring the dependency."/>
1214 <columnDefinition name="ModuleLanguage" type="number" length="2" primaryKey="yes" localizable="yes"
1215 keyTable="ModuleSignature" keyColumn="2" description="Language of module requiring the dependency."/>
1216 <columnDefinition name="RequiredID" type="string" length="72" primaryKey="yes"
1217 description="String.GUID of required module."/>
1218 <columnDefinition name="RequiredLanguage" type="number" length="2" primaryKey="yes" localizable="yes"
1219 description="LanguageID of the required module."/>
1220 <columnDefinition name="RequiredVersion" type="string" length="32" nullable="yes"
1221 category="version" description="Version of the required version."/>
1222 </tableDefinition>
1223 <tableDefinition name="ModuleExclusion">
1224 <columnDefinition name="ModuleID" type="string" length="72" primaryKey="yes" modularize="column"
1225 keyTable="ModuleSignature" keyColumn="1" category="identifier" description="String.GUID of module with exclusion requirement."/>
1226 <columnDefinition name="ModuleLanguage" type="number" length="2" primaryKey="yes" localizable="yes"
1227 keyTable="ModuleSignature" keyColumn="2" description="LanguageID of module with exclusion requirement."/>
1228 <columnDefinition name="ExcludedID" type="string" length="72" primaryKey="yes"
1229 description="String.GUID of excluded module."/>
1230 <columnDefinition name="ExcludedLanguage" type="number" length="2" primaryKey="yes" localizable="yes"
1231 description="Language of excluded module."/>
1232 <columnDefinition name="ExcludedMinVersion" type="string" length="32" nullable="yes"
1233 category="version" description="Minimum version of excluded module."/>
1234 <columnDefinition name="ExcludedMaxVersion" type="string" length="32" nullable="yes"
1235 category="version" description="Maximum version of excluded module."/>
1236 </tableDefinition>
1237 <tableDefinition name="ModuleIgnoreTable">
1238 <columnDefinition name="Table" type="string" length="72" primaryKey="yes"
1239 category="identifier" description="Table name to ignore during merge operation."/>
1240 </tableDefinition>
1241 <tableDefinition name="ModuleInstallExecuteSequence" tupleless="yes">
1242 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1243 category="identifier" description="Action to insert"/>
1244 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
1245 minValue="-4" maxValue="32767" description="Standard Sequence number"/>
1246 <columnDefinition name="BaseAction" type="string" length="64" nullable="yes" modularize="column"
1247 keyTable="ModuleInstallExecuteSequence" keyColumn="1" category="identifier" description="Base action to determine insert location."/>
1248 <columnDefinition name="After" type="number" length="2" nullable="yes"
1249 minValue="0" maxValue="1" description="Before (0) or After (1)"/>
1250 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1251 category="condition"/>
1252 </tableDefinition>
1253 <tableDefinition name="ModuleInstallUISequence" tupleless="yes">
1254 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1255 category="identifier" description="Action to insert"/>
1256 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
1257 minValue="-4" maxValue="32767" description="Standard Sequence number"/>
1258 <columnDefinition name="BaseAction" type="string" length="64" nullable="yes" modularize="column"
1259 keyTable="ModuleInstallUISequence" keyColumn="1" category="identifier" description="Base action to determine insert location."/>
1260 <columnDefinition name="After" type="number" length="2" nullable="yes"
1261 minValue="0" maxValue="1" description="Before (0) or After (1)"/>
1262 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1263 category="condition"/>
1264 </tableDefinition>
1265 <tableDefinition name="ModuleSubstitution">
1266 <columnDefinition name="Table" type="string" length="72" primaryKey="yes"
1267 category="identifier" description="Table containing the data to be modified."/>
1268 <columnDefinition name="Row" type="string" length="0" primaryKey="yes" modularize="semicolonDelimited"
1269 category="text" description="Row containing the data to be modified."/>
1270 <columnDefinition name="Column" type="string" length="72" primaryKey="yes"
1271 category="identifier" description="Column containing the data to be modified."/>
1272 <columnDefinition name="Value" type="localized" length="0" nullable="yes"
1273 category="text" description="Template for modification data."/>
1274 </tableDefinition>
1275 <tableDefinition name="Properties">
1276 <columnDefinition name="Name" type="string" length="72" primaryKey="yes"
1277 category="text" description="Primary key, non-localized token"/>
1278 <columnDefinition name="Value" type="string" length="0"
1279 category="text" description="Value of the property"/>
1280 </tableDefinition>
1281 <tableDefinition name="ImageFamilies">
1282 <columnDefinition name="Family" type="string" length="8" primaryKey="yes"
1283 category="text" description="Primary key"/>
1284 <columnDefinition name="MediaSrcPropName" type="string" length="72" nullable="yes"
1285 category="text"/>
1286 <columnDefinition name="MediaDiskId" type="number" length="0" nullable="yes"
1287 category="integer"/>
1288 <columnDefinition name="FileSequenceStart" type="number" length="4" nullable="yes"
1289 minValue="1" maxValue="214743647" category="integer"/>
1290 <columnDefinition name="DiskPrompt" type="string" length="128" nullable="yes" escapeIdtCharacters="yes" localizable="yes"
1291 category="text"/>
1292 <columnDefinition name="VolumeLabel" type="string" length="32" nullable="yes"
1293 category="text"/>
1294 </tableDefinition>
1295 <tableDefinition name="UpgradedImages">
1296 <columnDefinition name="Upgraded" type="string" length="13" primaryKey="yes"
1297 category="text" description="Primary key"/>
1298 <columnDefinition name="MsiPath" type="string" length="255"
1299 category="text"/>
1300 <columnDefinition name="PatchMsiPath" type="string" length="255" nullable="yes"
1301 category="text"/>
1302 <columnDefinition name="SymbolPaths" type="string" length="255" nullable="yes"
1303 category="text"/>
1304 <columnDefinition name="Family" type="string" length="8"
1305 keyTable="ImageFamilies" keyColumn="1" category="text" description="Foreign key, Family to which this image belongs"/>
1306 </tableDefinition>
1307 <tableDefinition name="UpgradedFilesToIgnore">
1308 <columnDefinition name="Upgraded" type="string" length="13" primaryKey="yes"
1309 keyTable="UpgradedImages" keyColumn="1" category="text" description="Foreign key, Upgraded image"/>
1310 <columnDefinition name="FTK" type="string" length="255" primaryKey="yes" modularize="column"
1311 keyTable="File" keyColumn="1" category="text" description="Foreign key, File to ignore"/>
1312 </tableDefinition>
1313 <tableDefinition name="UpgradedFiles_OptionalData">
1314 <columnDefinition name="Upgraded" type="string" length="13" primaryKey="yes"
1315 keyTable="UpgradedImages" keyColumn="1" category="text" description="Foreign key, Upgraded image"/>
1316 <columnDefinition name="FTK" type="string" length="255" primaryKey="yes" modularize="column"
1317 keyTable="File" keyColumn="1" category="text" description="Foreign key, File to ignore"/>
1318 <columnDefinition name="SymbolPaths" type="string" length="255" nullable="yes"
1319 category="text"/>
1320 <columnDefinition name="AllowIgnoreOnPatchError" type="number" length="0" nullable="yes"
1321 category="integer"/>
1322 <columnDefinition name="IncludeWholeFile" type="number" length="0" nullable="yes"
1323 category="integer"/>
1324 </tableDefinition>
1325 <tableDefinition name="TargetImages" createSymbols="yes">
1326 <columnDefinition name="Target" type="string" length="13" primaryKey="yes"
1327 category="text"/>
1328 <columnDefinition name="MsiPath" type="string" length="255"
1329 category="text"/>
1330 <columnDefinition name="SymbolPaths" type="string" length="255" nullable="yes"
1331 category="text"/>
1332 <columnDefinition name="Upgraded" type="string" length="13"
1333 keyTable="UpgradedImages" keyColumn="1" category="text" description="Foreign key, Upgraded image"/>
1334 <columnDefinition name="Order" type="number" length="0"
1335 category="integer"/>
1336 <columnDefinition name="ProductValidateFlags" type="string" length="16" nullable="yes"
1337 category="text"/>
1338 <columnDefinition name="IgnoreMissingSrcFiles" type="number" length="0"
1339 category="integer"/>
1340 </tableDefinition>
1341 <tableDefinition name="TargetFiles_OptionalData">
1342 <columnDefinition name="Target" type="string" length="13" primaryKey="yes"
1343 keyTable="TargetImages" keyColumn="1" category="text" description="Foreign key, Target image"/>
1344 <columnDefinition name="FTK" type="string" length="255" primaryKey="yes" modularize="column"
1345 keyTable="File" keyColumn="1" category="text" description="Foreign key, File to ignore"/>
1346 <columnDefinition name="SymbolPaths" type="string" length="255" nullable="yes"
1347 category="text"/>
1348 <columnDefinition name="IgnoreOffsets" type="string" length="255" nullable="yes"
1349 category="text"/>
1350 <columnDefinition name="IgnoreLengths" type="string" length="255" nullable="yes"
1351 category="text"/>
1352 <columnDefinition name="RetainOffsets" type="string" length="255" nullable="yes"
1353 category="text"/>
1354 </tableDefinition>
1355 <tableDefinition name="FamilyFileRanges">
1356 <columnDefinition name="Family" type="string" length="8" primaryKey="yes"
1357 keyTable="ImageFamilies" keyColumn="1" category="text" description="Foreign key, Family"/>
1358 <columnDefinition name="FTK" type="string" length="255" primaryKey="yes" modularize="column"
1359 keyTable="File" keyColumn="1" category="text" description="Foreign key, File to ignore"/>
1360 <columnDefinition name="RetainOffsets" type="string" length="128"
1361 category="text"/>
1362 <columnDefinition name="RetainLengths" type="string" length="128"
1363 category="text"/>
1364 </tableDefinition>
1365 <tableDefinition name="ExternalFiles">
1366 <columnDefinition name="Family" type="string" length="8" primaryKey="yes"
1367 keyTable="ImageFamilies" keyColumn="1" category="text" description="Foreign key, Family"/>
1368 <columnDefinition name="FTK" type="string" length="255" primaryKey="yes" modularize="column"
1369 keyTable="File" keyColumn="1" category="text" description="Foreign key, File to ignore"/>
1370 <columnDefinition name="FilePath" type="string" length="255" primaryKey="yes"
1371 category="text"/>
1372 <columnDefinition name="SymbolPaths" type="string" length="255" nullable="yes"
1373 category="text"/>
1374 <columnDefinition name="IgnoreOffsets" type="string" length="255" nullable="yes"
1375 category="text"/>
1376 <columnDefinition name="IgnoreLengths" type="string" length="255" nullable="yes"
1377 category="text"/>
1378 <columnDefinition name="RetainOffsets" type="string" length="255" nullable="yes"
1379 category="text"/>
1380 <columnDefinition name="Order" type="number" length="0"
1381 category="integer"/>
1382 </tableDefinition>
1383 <tableDefinition name="WixAction" createSymbols="yes" unreal="yes">
1384 <columnDefinition name="SequenceTable" type="string" length="62" primaryKey="yes"/>
1385 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"/>
1386 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"/>
1387 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"/>
1388 <columnDefinition name="Before" type="string" length="72" nullable="yes"/>
1389 <columnDefinition name="After" type="string" length="72" nullable="yes"/>
1390 <columnDefinition name="Overridable" type="number" length="2" nullable="yes"/>
1391 </tableDefinition>
1392 <tableDefinition name="WixBBControl" createSymbols="yes" unreal="yes" tupleless="yes">
1393 <columnDefinition name="Billboard_" type="string" length="50" primaryKey="yes" modularize="column"/>
1394 <columnDefinition name="BBControl_" type="string" length="50" primaryKey="yes"/>
1395 <columnDefinition name="SourceFile" type="object" length="0"/>
1396 </tableDefinition>
1397 <tableDefinition name="WixComplexReference" unreal="yes">
1398 <columnDefinition name="Parent" type="string" length="0" localizable="yes"/>
1399 <columnDefinition name="ParentAttributes" type="number" length="4"/>
1400 <columnDefinition name="ParentLanguage" type="string" length="0" nullable="yes"/>
1401 <columnDefinition name="Child" type="string" length="0" localizable="yes"/>
1402 <columnDefinition name="ChildAttributes" type="number" length="4"/>
1403 <columnDefinition name="Attributes" type="number" length="4"/>
1404 </tableDefinition>
1405 <tableDefinition name="WixComponentGroup" createSymbols="yes" unreal="yes">
1406 <columnDefinition name="WixComponentGroup" type="string" length="0" primaryKey="yes"/>
1407 </tableDefinition>
1408 <tableDefinition name="WixControl" unreal="yes" tupleless="yes">
1409 <columnDefinition name="Dialog_" type="string" length="72" primaryKey="yes" modularize="column"/>
1410 <columnDefinition name="Control_" type="string" length="50" primaryKey="yes"/>
1411 <columnDefinition name="SourceFile" type="object" length="0"/>
1412 </tableDefinition>
1413 <tableDefinition name="WixCustomRow" unreal="yes">
1414 <columnDefinition name="Table" type="string" length="62"/>
1415 <columnDefinition name="FieldData" type="string" length="0"/>
1416 </tableDefinition>
1417 <tableDefinition name="WixCustomTable" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1418 <columnDefinition name="Table" type="string" length="62" primaryKey="yes"/>
1419 <columnDefinition name="ColumnCount" type="number" length="2"/>
1420 <columnDefinition name="ColumnNames" type="string" length="0"/>
1421 <columnDefinition name="ColumnTypes" type="string" length="0"/>
1422 <columnDefinition name="PrimaryKeys" type="string" length="0"/>
1423 <columnDefinition name="MinValues" type="string" length="0"/>
1424 <columnDefinition name="MaxValues" type="string" length="0"/>
1425 <columnDefinition name="KeyTables" type="string" length="0"/>
1426 <columnDefinition name="KeyColumns" type="string" length="0"/>
1427 <columnDefinition name="Categories" type="string" length="0"/>
1428 <columnDefinition name="Sets" type="string" length="0"/>
1429 <columnDefinition name="Descriptions" type="string" length="0"/>
1430 <columnDefinition name="Modularizations" type="string" length="0"/>
1431 <columnDefinition name="BootstrapperApplicationData" type="number" length="2"/>
1432 </tableDefinition>
1433 <tableDefinition name="WixDirectory" unreal="yes" tupleless="yes">
1434 <columnDefinition name="Directory_" type="string" length="0" primaryKey="yes" modularize="column"/>
1435 <columnDefinition name="ComponentGuidGenerationSeed" type="string" length="38" nullable="yes"/>
1436 </tableDefinition>
1437 <tableDefinition name="WixEnsureTable" unreal="yes">
1438 <columnDefinition name="Table" type="string" length="31"/>
1439 </tableDefinition>
1440 <tableDefinition name="WixFeatureGroup" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1441 <columnDefinition name="WixFeatureGroup" type="string" length="0" primaryKey="yes"/>
1442 </tableDefinition>
1443 <tableDefinition name="WixPatchFamilyGroup" createSymbols="yes" unreal="yes">
1444 <columnDefinition name="WixPatchFamilyGroup" type="string" length="0" primaryKey="yes"/>
1445 </tableDefinition>
1446 <tableDefinition name="WixGroup" unreal="yes">
1447 <columnDefinition name="ParentId" type="string" length="0" primaryKey="yes" nullable="no" category="identifier"
1448 description="Primary key used to identify a particular record in a parent table."/>
1449 <columnDefinition name="ParentType" type="string" length="0" primaryKey="yes" nullable="no"
1450 description="Primary key used to identify a particular parent type in a parent table."/>
1451 <columnDefinition name="ChildId" type="string" length="0" primaryKey="yes" nullable="no" category="identifier"
1452 description="Primary key used to identify a particular record in a child table."/>
1453 <columnDefinition name="ChildType" type="string" length="0" primaryKey="yes" nullable="no"
1454 description="Primary key used to identify a particular child type in a child table."/>
1455 </tableDefinition>
1456 <tableDefinition name="WixFeatureModules" unreal="yes">
1457 <columnDefinition name="Feature_" type="string" length="38" primaryKey="yes"/>
1458 <columnDefinition name="WixMerge_" type="string" length="72" primaryKey="yes"/>
1459 </tableDefinition>
1460 <tableDefinition name="WixFile" unreal="yes" tupleless="yes">
1461 <columnDefinition name="File_" type="string" length="0" category="identifier" primaryKey="yes"
1462 modularize="column" keyTable="File" keyColumn="1" />
1463 <columnDefinition name="AssemblyType" type="number" length="2" minValue="0" maxValue="1" />
1464 <columnDefinition name="File_AssemblyManifest" type="string" length="72" category="identifier" nullable="yes"
1465 modularize="column" keyTable="File" keyColumn="1" />
1466 <columnDefinition name="File_AssemblyApplication" type="string" length="72" category="identifier" nullable="yes"
1467 modularize="column" keyTable="File" keyColumn="1" />
1468 <columnDefinition name="Directory_" type="string" length="72" modularize="column" keyTable="Directory" keyColumn="1" />
1469 <columnDefinition name="DiskId" type="number" length="4" nullable="yes"/>
1470 <columnDefinition name="Source" type="object" length="0"/>
1471 <columnDefinition name="ProcessorArchitecture" type="string" length="0" nullable="yes"/>
1472 <columnDefinition name="PatchGroup" type="number" length="4" />
1473 <columnDefinition name="Attributes" type="number" length="4"/>
1474 <columnDefinition name="PatchAttributes" type="number" length="4" nullable="yes"/>
1475 <columnDefinition name="DeltaPatchHeaderSource" type="string" length="0" nullable="yes"/>
1476 </tableDefinition>
1477 <tableDefinition name="WixBindUpdatedFiles" unreal="yes">
1478 <columnDefinition name="File_" type="string" length="0" primaryKey="yes" modularize="column" keyTable="File" keyColumn="1" category="identifier" />
1479 </tableDefinition>
1480 <tableDefinition name="WixBuildInfo" unreal="yes">
1481 <columnDefinition name="WixVersion" type="string" length="20"
1482 category="text" description="Version number of WiX."/>
1483 <columnDefinition name="WixOutputFile" type="string" length="0" nullable="yes" escapeIdtCharacters="yes"
1484 category="text" description="Path to output file, if supplied."/>
1485 <columnDefinition name="WixProjectFile" type="string" length="0" nullable="yes" escapeIdtCharacters="yes"
1486 category="text" description="Path to .wixproj file, if supplied."/>
1487 <columnDefinition name="WixPdbFile" type="string" length="0" nullable="yes" escapeIdtCharacters="yes"
1488 category="text" description="Path to .wixpdb file, if supplied."/>
1489 </tableDefinition>
1490 <tableDefinition name="WixFragment" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1491 <columnDefinition name="WixFragment" type="string" length="0" primaryKey="yes"/>
1492 </tableDefinition>
1493 <tableDefinition name="WixInstanceComponent" unreal="yes">
1494 <columnDefinition name="Component_" type="string" length="0" primaryKey="yes" modularize="column"/>
1495 </tableDefinition>
1496 <tableDefinition name="WixInstanceTransforms" unreal="yes" createSymbols="yes" tupleIdIsPrimaryKey="yes">
1497 <columnDefinition name="Id" type="string" length="0" primaryKey="yes"/>
1498 <columnDefinition name="PropertyId" type="string" length="0"/>
1499 <columnDefinition name="ProductCode" type="string" length="0" category="guid"/>
1500 <columnDefinition name="ProductName" type="localized" localizable="yes" length="0" nullable="yes"/>
1501 <columnDefinition name="UpgradeCode" type="string" length="38" category="guid" nullable="yes"/>
1502 </tableDefinition>
1503 <tableDefinition name="WixMedia" unreal="yes" tupleless="yes">
1504 <columnDefinition name="DiskId_" type="number" length="2" primaryKey="yes"/>
1505 <columnDefinition name="CompressionLevel" type="number" length="2" nullable="yes" minValue="0" maxValue="4" />
1506 <columnDefinition name="Layout" type="string" length="0" nullable="yes"/>
1507 </tableDefinition>
1508 <tableDefinition name="WixMediaTemplate" unreal="yes">
1509 <columnDefinition name="CabinetTemplate" type="string" length="0" nullable="yes"/>
1510 <columnDefinition name="CompressionLevel" type="number" length="2" nullable="yes" minValue="0" maxValue="4" />
1511 <columnDefinition name="DiskPrompt" type="string" length="0" nullable="yes"/>
1512 <columnDefinition name="VolumeLabel" type="string" length="0" nullable="yes"/>
1513 <columnDefinition name="MaximumUncompressedMediaSize" type="number" length="4" />
1514 <columnDefinition name="MaximumCabinetSizeForLargeFileSplitting" type="number" length="4" />
1515 </tableDefinition>
1516 <tableDefinition name="WixMerge" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1517 <columnDefinition name="WixMerge" type="string" length="72" primaryKey="yes"/>
1518 <columnDefinition name="Language" type="number" length="2" localizable="yes"/>
1519 <columnDefinition name="Directory_" type="string" nullable="yes" length="72"/>
1520 <columnDefinition name="SourceFile" type="object" length="0"/>
1521 <columnDefinition name="DiskId" type="number" length="2"/>
1522 <columnDefinition name="FileCompression" type="number" length="2" nullable="yes"/>
1523 <columnDefinition name="ConfigurationData" type="string" length="255" nullable="yes"/>
1524 <columnDefinition name="Feature_" type="string" length="72"/>
1525 </tableDefinition>
1526 <tableDefinition name="WixOrdering" createSymbols="yes" unreal="yes">
1527 <columnDefinition name="ItemType" type="string" length="0" primaryKey="yes" nullable="no"
1528 description="Primary key used to identify the item in another table."/>
1529 <columnDefinition name="ItemId_" type="string" length="72" category="identifier" primaryKey="yes"
1530 description="Reference to an entry in another table."/>
1531 <columnDefinition name="DependsOnType" type="string" length="0" primaryKey="yes" nullable="no"
1532 description="Primary key used to identify the item in another table."/>
1533 <columnDefinition name="DependsOnId_" type="string" length="72" category="identifier" primaryKey="yes"
1534 description="Reference to an entry in another table."/>
1535 </tableDefinition>
1536 <tableDefinition name="WixDeltaPatchFile" unreal="yes">
1537 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column" keyTable="File" keyColumn="1" />
1538 <columnDefinition name="RetainLengths" type="preserved" length="0" nullable="yes" category="text"/>
1539 <columnDefinition name="IgnoreOffsets" type="preserved" length="0" nullable="yes" category="text"/>
1540 <columnDefinition name="IgnoreLengths" type="preserved" length="0" nullable="yes" category="text"/>
1541 <columnDefinition name="RetainOffsets" type="preserved" length="0" nullable="yes" category="text"/>
1542 <columnDefinition name="SymbolPaths" type="preserved" length="0" nullable="yes" category="text"/>
1543 </tableDefinition>
1544 <tableDefinition name="WixDeltaPatchSymbolPaths" unreal="yes">
1545 <columnDefinition name="Id" type="string" length="72" primaryKey="yes" />
1546 <columnDefinition name="Type" type="number" length="2" primaryKey="yes" minValue="0" maxValue="4" />
1547 <columnDefinition name="SymbolPaths" type="preserved" length="0" category="text"/>
1548 </tableDefinition>
1549 <tableDefinition name="WixProperty" unreal="yes">
1550 <columnDefinition name="Property_" type="string" length="72" modularize="column"/>
1551 <columnDefinition name="Attributes" type="number" length="4"/>
1552 </tableDefinition>
1553 <tableDefinition name="WixSimpleReference" unreal="yes">
1554 <columnDefinition name="Table" type="string" length="32"/>
1555 <columnDefinition name="PrimaryKeys" type="string" length="0"/>
1556 </tableDefinition>
1557 <tableDefinition name="WixSuppressAction" unreal="yes">
1558 <columnDefinition name="SequenceTable" type="string" length="72" primaryKey="yes"/>
1559 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"/>
1560 </tableDefinition>
1561 <tableDefinition name="WixSuppressModularization" unreal="yes" tupleIdIsPrimaryKey="yes">
1562 <columnDefinition name="WixSuppressModularization" type="string" length="72"/>
1563 </tableDefinition>
1564 <tableDefinition name="WixPatchBaseline" unreal="yes">
1565 <columnDefinition name="WixPatchBaseline" type="string" length="72" primaryKey="yes"
1566 category="identifier" description="Primary key used to identify sets of transforms in a patch."/>
1567 <columnDefinition name="DiskId" type="number" length="2"/>
1568 <columnDefinition name="ValidationFlags" type="number" length="4" category="integer" description="Patch transform validation flags for the associated patch baseline."/>
1569 </tableDefinition>
1570 <tableDefinition name="WixPatchRef" unreal="yes">
1571 <columnDefinition name="Table" type="string" length="32"/>
1572 <columnDefinition name="PrimaryKeys" type="string" length="0"/>
1573 </tableDefinition>
1574 <tableDefinition name="WixPatchId" unreal="yes" tupleIdIsPrimaryKey="yes">
1575 <columnDefinition name="ProductCode" type="string" length="38" nullable="no"/>
1576 <columnDefinition name="ClientPatchId" type="string" length="72" nullable="no"/>
1577 <columnDefinition name="OptimizePatchSizeForLargeFiles" type="number" length="2" nullable="yes"
1578 minValue="0" maxValue="1"/>
1579 <columnDefinition name="ApiPatchingSymbolFlags" type="number" length="4" nullable="yes"
1580 minValue="0" maxValue="7"/>
1581 </tableDefinition>
1582 <tableDefinition name="WixPatchTarget" unreal="yes">
1583 <columnDefinition name="ProductCode" type="string" length="38" nullable="no" />
1584 </tableDefinition>
1585 <tableDefinition name="WixPatchMetadata" unreal="yes" tupleless="yes">
1586 <columnDefinition name="Property" type="string" length="72" primaryKey="yes"/>
1587 <columnDefinition name="Value" type="localized" length="0"/>
1588 </tableDefinition>
1589 <tableDefinition name="WixUI" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1590 <columnDefinition name="WixUI" type="string" length="0" primaryKey="yes"/>
1591 </tableDefinition>
1592 <tableDefinition name="WixVariable" unreal="yes" tupleIdIsPrimaryKey="yes">
1593 <columnDefinition name="WixVariable" type="string" length="0"/>
1594 <columnDefinition name="Value" type="localized" length="0" nullable="yes"/>
1595 <columnDefinition name="Attributes" type="number" length="4"/>
1596 </tableDefinition>
1597 <tableDefinition name="WixBundleContainer" createSymbols="yes" unreal="yes">
1598 <columnDefinition name="WixBundleContainer" type="string" length="0" category="identifier" primaryKey="yes"/>
1599 <columnDefinition name="Name" type="string" length="0"/>
1600 <columnDefinition name="Type" type="number" length="2" minValue="0" maxValue="1" />
1601 <columnDefinition name="DownloadUrl" type="string" length="0" nullable="yes" />
1602 <columnDefinition name="Size" type="number" length="4" minValue="0" nullable="yes" />
1603 <columnDefinition name="Hash" type="string" length="0" nullable="yes" />
1604 <columnDefinition name="AttachedContainerIndex" type="number" length="2" nullable="yes" />
1605 <columnDefinition name="WorkingPath" type="string" length="0" nullable="yes" />
1606 </tableDefinition>
1607 <tableDefinition name="WixBundlePayloadGroup" createSymbols="yes" unreal="yes">
1608 <columnDefinition name="WixBundlePayloadGroup" type="string" length="0" category="identifier" primaryKey="yes"/>
1609 </tableDefinition>
1610 <tableDefinition name="WixBundlePayload" createSymbols="yes" unreal="yes">
1611 <columnDefinition name="WixBundlePayload" type="string" length="0" category="identifier" primaryKey="yes"/>
1612 <columnDefinition name="Name" type="string" length="0" nullable="yes"/>
1613 <columnDefinition name="SourceFile" type="object" length="0" nullable="yes"/>
1614 <columnDefinition name="DownloadUrl" type="string" length="0" nullable="yes" />
1615 <columnDefinition name="Compressed" type="number" length="2" minValue="0" maxValue="2" />
1616 <columnDefinition name="UnresolvedSourceFile" type="string" length="0" nullable="yes" />
1617 <columnDefinition name="DisplayName" type="string" length="0" nullable="yes" />
1618 <columnDefinition name="Description" type="string" length="0" nullable="yes" />
1619 <columnDefinition name="EnableSignatureValidation" type="number" length="2" nullable="yes" minValue="0" maxValue="1" />
1620 <columnDefinition name="FileSize" type="number" length="4" minValue="0" maxValue="2147483647" nullable="yes" />
1621 <columnDefinition name="Version" type="string" length="24" nullable="yes" />
1622 <columnDefinition name="Hash" type="string" length="0" nullable="yes" />
1623 <columnDefinition name="PublicKey" type="string" length="0" nullable="yes" />
1624 <columnDefinition name="Thumbprint" type="string" length="0" nullable="yes" />
1625 <columnDefinition name="Catalog_" type="string" length="0" nullable="yes" category="identifier"
1626 keyTable="WixBundleCatalog" keyColumn="1" description="Reference to a catalog entry in the WixBundleCatalog table."/>
1627 <columnDefinition name="Container_" type="string" length="0" nullable="yes"
1628 keyTable="WixBundleContainer" keyColumn="1" description="Reference to a container entry in the WixBundleContainer table."/>
1629 <columnDefinition name="Package" type="string" length="0" nullable="yes" />
1630 <columnDefinition name="ContentFile" type="number" length="2" nullable="yes" minValue="0" maxValue="1" />
1631 <columnDefinition name="EmbeddedId" type="string" length="0" nullable="yes" />
1632 <columnDefinition name="LayoutOnly" type="number" length="2" nullable="yes" minValue="0" maxValue="1" />
1633 <columnDefinition name="Packaging" type="number" length="2" nullable="yes" minValue="1" maxValue="2" />
1634 <columnDefinition name="ParentPackagePayload_" type="string" length="0" nullable="yes" />
1635 </tableDefinition>
1636 <tableDefinition name="WixBundlePatchTargetCode" createSymbols="yes" unreal="yes">
1637 <columnDefinition name="PackageId" type="string" length="0" category="identifier" primaryKey="yes" />
1638 <columnDefinition name="TargetCode" type="string" length="0" nullable="yes" primaryKey="yes" />
1639 <columnDefinition name="Attributes" type="number" length="4" nullable="yes" minValue="0" maxValue="2147483647" />
1640 </tableDefinition>
1641 <tableDefinition name="WixBundle" unreal="yes">
1642 <columnDefinition name="Version" type="string" length="24" />
1643 <columnDefinition name="Copyright" type="string" length="0" nullable="yes" />
1644 <columnDefinition name="Name" type="string" length="0" nullable="yes" />
1645 <columnDefinition name="AboutUrl" type="string" length="0" nullable="yes" />
1646 <columnDefinition name="DisableModify" type="number" length="2" nullable="yes" minValue="0" maxValue="2"/>
1647 <columnDefinition name="DisableRemove" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
1648 <columnDefinition name="DisableRepair" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
1649 <columnDefinition name="HelpTelephone" type="string" length="0" nullable="yes" />
1650 <columnDefinition name="HelpUrl" type="string" length="0" nullable="yes" />
1651 <columnDefinition name="Manufacturer" type="string" length="0" nullable="yes" />
1652 <columnDefinition name="UpdateUrl" type="string" length="0" nullable="yes" />
1653 <columnDefinition name="Compressed" type="number" length="2" nullable="yes" minValue="0" maxValue="1" />
1654 <columnDefinition name="LogPrefixAndExtension" type="string" length="0" nullable="yes" />
1655 <columnDefinition name="IconSourceFile" type="object" length="0" nullable="yes" />
1656 <columnDefinition name="SplashScreenSourceFile" type="object" length="0" nullable="yes" />
1657 <columnDefinition name="Condition" type="string" length="0" nullable="yes" />
1658 <columnDefinition name="Tag" type="string" length="0" nullable="yes" />
1659 <columnDefinition name="Platform" type="string" length="4" />
1660 <columnDefinition name="ParentName" type="string" length="0" nullable="yes" />
1661 <columnDefinition name="UpgradeCode" type="string" length="38" category="guid" />
1662 <columnDefinition name="BundleId" type="string" length="38" category="guid" description="Only valid after binding." />
1663 <columnDefinition name="ProviderKey" type="string" length="38" category="guid" nullable="yes" description="Only valid after binding." />
1664 <columnDefinition name="PerMachine" type="number" length="2" nullable="yes" minValue="0" maxValue="1" description="Only valid after binding." />
1665 </tableDefinition>
1666 <tableDefinition name="WixApprovedExeForElevation" createSymbols="yes" unreal="yes">
1667 <columnDefinition name="Id" type="string" length="0" category="identifier" primaryKey="yes" />
1668 <columnDefinition name="Key" type="string" length="0" />
1669 <columnDefinition name="Value" type="string" length="0" nullable="yes" />
1670 <columnDefinition name="Attributes" type="number" length="4" minValue="0" maxValue="1" />
1671 </tableDefinition>
1672 <tableDefinition name="WixBundleUpdate" unreal="yes">
1673 <columnDefinition name="Location" type="string" length="0" />
1674 <columnDefinition name="Attributes" type="number" length="4" nullable="yes" />
1675 </tableDefinition>
1676 <tableDefinition name="WixBootstrapperApplication" createSymbols="yes" unreal="yes">
1677 <columnDefinition name="Id" type="string" length="0" category="identifier" primaryKey="yes"/>
1678 </tableDefinition>
1679 <tableDefinition name="WixUpdateRegistration" unreal="yes">
1680 <columnDefinition name="Manufacturer" type="string" length="0" />
1681 <columnDefinition name="Department" type="string" length="0" nullable="yes" />
1682 <columnDefinition name="ProductFamily" type="string" length="0" nullable="yes" />
1683 <columnDefinition name="Name" type="string" length="0" />
1684 <columnDefinition name="Classification" type="string" length="0" />
1685 </tableDefinition>
1686 <tableDefinition name="WixBundleCatalog" createSymbols="yes" unreal="yes">
1687 <columnDefinition name="WixBundleCatalog" type="string" length="0" category="identifier" primaryKey="yes"/>
1688 <columnDefinition name="Payload_" type="string" length="0" category="identifier"
1689 keyTable="WixBundlePayload" keyColumn="1" description="Reference to a payload entry in the WixBundlePayload table." />
1690 </tableDefinition>
1691 <tableDefinition name="WixChain" unreal="yes">
1692 <columnDefinition name="Attributes" type="number" length="4" nullable="no" minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to the chain."/>
1693 </tableDefinition>
1694 <tableDefinition name="WixChainItem" createSymbols="yes" unreal="yes">
1695 <columnDefinition name="Id" type="string" length="0" category="identifier" primaryKey="yes"/>
1696 </tableDefinition>
1697 <tableDefinition name="WixBundleRollbackBoundary" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1698 <columnDefinition name="WixChainItem_" type="string" length="0" category="identifier" primaryKey="yes"
1699 keyTable="WixChainItem" keyColumn="1" description="Reference to a WixChainItem entry in the WixChainItem table."/>
1700 <columnDefinition name="Vital" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
1701 <columnDefinition name="Transaction" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
1702 </tableDefinition>
1703 <tableDefinition name="WixBundlePackageGroup" createSymbols="yes" unreal="yes">
1704 <columnDefinition name="WixBundlePackageGroup" type="string" length="0" category="identifier" primaryKey="yes"/>
1705 </tableDefinition>
1706 <tableDefinition name="WixBundlePackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1707 <columnDefinition name="WixChainItem_" type="string" length="0" category="identifier" primaryKey="yes"
1708 keyTable="WixChainItem" keyColumn="1" description="Reference to a WixChainItem entry in the WixChainItem table."/>
1709 <columnDefinition name="Type" type="number" length="2" minValue="0" maxValue="3" />
1710 <columnDefinition name="Payload_" type="string" length="0" category="identifier"
1711 keyTable="WixBundlePayload" keyColumn="1" description="Reference to a payload entry in the WixBundlePayload table."/>
1712 <columnDefinition name="Attributes" type="number" length="4" nullable="no" minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this package."/>
1713 <columnDefinition name="InstallCondition" type="string" length="0" nullable="yes"/>
1714 <columnDefinition name="Cache" type="number" length="2" nullable="yes" minValue="0" maxValue="2"/>
1715 <columnDefinition name="CacheId" type="string" length="0" nullable="yes"/>
1716 <columnDefinition name="Vital" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
1717 <columnDefinition name="PerMachine" type="number" length="2" nullable="yes" minValue="0" maxValue="2"/>
1718 <columnDefinition name="LogPathVariable" type="string" length="0" nullable="yes"/>
1719 <columnDefinition name="RollbackLogPathVariable" type="string" length="0" nullable="yes"/>
1720 <columnDefinition name="Size" type="number" length="4"/>
1721 <columnDefinition name="InstallSize" type="number" length="4"/>
1722 <columnDefinition name="Version" type="string" length="24" category="version" nullable="yes" />
1723 <columnDefinition name="Language" type="number" length="2" nullable="yes" />
1724 <columnDefinition name="DisplayName" type="string" length="0" nullable="yes" />
1725 <columnDefinition name="Description" type="string" length="0" nullable="yes" />
1726 <columnDefinition name="RollbackBoundary_" type="string" length="0" nullable="yes"
1727 keyTable="WixBundleRollbackBoundary" keyColumn="1" description="Reference to a rollback boundary entry in the WixBundleRollbackBoundary table."/>
1728 <columnDefinition name="RollbackBoundaryBackward_" type="string" length="0" nullable="yes"
1729 keyTable="WixBundleRollbackBoundary" keyColumn="1" description="Reference to a rollback boundary entry in the WixBundleRollbackBoundary table."/>
1730 <columnDefinition name="x64" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
1731 </tableDefinition>
1732 <tableDefinition name="WixBundleExePackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1733 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1734 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1735 <columnDefinition name="Attributes" type="number" length="4" nullable="no" minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this MSI package."/>
1736 <columnDefinition name="DetectCondition" type="string" length="0" nullable="yes"/>
1737 <columnDefinition name="InstallCommand" type="string" length="0" nullable="yes"/>
1738 <columnDefinition name="RepairCommand" type="string" length="0" nullable="yes"/>
1739 <columnDefinition name="UninstallCommand" type="string" length="0" nullable="yes"/>
1740 <columnDefinition name="ExeProtocol" type="string" length="0" nullable="yes"/>
1741 </tableDefinition>
1742 <tableDefinition name="WixBundleMsiPackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1743 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1744 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1745 <columnDefinition name="Attributes" type="number" length="4" nullable="no" minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this MSI package."/>
1746 <columnDefinition name="ProductCode" type="string" length="38" category="guid" />
1747 <columnDefinition name="UpgradeCode" type="string" length="38" category="guid" nullable="yes" />
1748 <columnDefinition name="ProductVersion" type="string" length="20" />
1749 <columnDefinition name="ProductLanguage" type="number" length="2" />
1750 <columnDefinition name="ProductName" type="string" length="0" />
1751 <columnDefinition name="Manufacturer" type="string" length="0" nullable="yes" />
1752 </tableDefinition>
1753 <tableDefinition name="WixBundleMspPackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1754 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1755 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1756 <columnDefinition name="Attributes" type="number" length="2" nullable="yes" minValue="0" maxValue="1" />
1757 <columnDefinition name="PatchCode" type="string" length="38" category="guid" nullable="yes" />
1758 <columnDefinition name="Manufacturer" type="string" length="0" nullable="yes" />
1759 <columnDefinition name="PatchXml" type="string" length="0" nullable="yes" />
1760 </tableDefinition>
1761 <tableDefinition name="WixBundleMsuPackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1762 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1763 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1764 <columnDefinition name="DetectCondition" type="string" length="0" nullable="yes"/>
1765 <columnDefinition name="MsuKB" type="string" length="0" nullable="yes"/>
1766 </tableDefinition>
1767 <tableDefinition name="WixBundlePackageExitCode" createSymbols="yes" unreal="yes">
1768 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1769 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table for the parent Exe."/>
1770 <columnDefinition name="Code" type="number" length="0" category="integer" nullable="yes" primaryKey="yes" />
1771 <columnDefinition name="Behavior" type="number" length="2" category="integer" minValue="0" maxValue="3" />
1772 </tableDefinition>
1773 <tableDefinition name="WixBundleMsiFeature" createSymbols="yes" unreal="yes">
1774 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1775 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1776 <columnDefinition name="Name" type="string" length="0" category="identifier" primaryKey="yes" />
1777 <columnDefinition name="Size" type="number" length="4" />
1778 <columnDefinition name="Parent" type="string" length="0" />
1779 <columnDefinition name="Title" type="string" length="0" />
1780 <columnDefinition name="Description" type="string" length="0" />
1781 <columnDefinition name="Display" type="number" length="2" />
1782 <columnDefinition name="Level" type="number" length="2" />
1783 <columnDefinition name="Directory" type="string" length="0" />
1784 <columnDefinition name="Attributes" type="number" length="2" />
1785 </tableDefinition>
1786 <tableDefinition name="WixBundleMsiProperty" createSymbols="yes" unreal="yes">
1787 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1788 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1789 <columnDefinition name="Name" type="string" length="0" category="identifier" primaryKey="yes" />
1790 <columnDefinition name="Value" type="string" length="0" />
1791 <columnDefinition name="Condition" type="string" length="0" nullable="yes" />
1792 </tableDefinition>
1793 <tableDefinition name="WixBundleSlipstreamMsp" createSymbols="yes" unreal="yes">
1794 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1795 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table for the parent Msi."/>
1796 <columnDefinition name="WixBundlePackage_Msp" type="string" length="0" category="identifier" primaryKey="yes"
1797 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table for the referenced Msp." />
1798 </tableDefinition>
1799 <tableDefinition name="WixBundlePackageCommandLine" createSymbols="yes" unreal="yes">
1800 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1801 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table." />
1802 <columnDefinition name="InstallArgument" type="string" length="0" nullable="yes" />
1803 <columnDefinition name="UninstallArgument" type="string" length="0" nullable="yes" />
1804 <columnDefinition name="RepairArgument" type="string" length="0" nullable="yes" />
1805 <columnDefinition name="Condition" type="string" length="0" nullable="yes" />
1806 </tableDefinition>
1807 <tableDefinition name="WixRelatedBundle" unreal="yes">
1808 <columnDefinition name="Id" type="string" length="38" category="guid" primaryKey="yes" />
1809 <columnDefinition name="Action" type="number" length="4" />
1810 </tableDefinition>
1811 <tableDefinition name="WixBundleRelatedPackage" unreal="yes">
1812 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1813 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1814 <columnDefinition name="Id" type="string" length="0" category="identifier" primaryKey="yes" />
1815 <columnDefinition name="MinVersion" type="string" length="0" />
1816 <columnDefinition name="MaxVersion" type="string" length="0" />
1817 <columnDefinition name="Languages" type="string" length="0" />
1818 <columnDefinition name="MinInclusive" type="number" length="2" minValue="0" maxValue="1"/>
1819 <columnDefinition name="MaxInclusive" type="number" length="2" minValue="0" maxValue="1"/>
1820 <columnDefinition name="LangInclusive" type="number" length="2" minValue="0" maxValue="1"/>
1821 <columnDefinition name="OnlyDetect" type="number" length="2" minValue="0" maxValue="1"/>
1822 </tableDefinition>
1823 <tableDefinition name="WixBundleVariable" createSymbols="yes" unreal="yes">
1824 <columnDefinition name="WixBundleVariable" type="string" length="0" category="identifier" primaryKey="yes" />
1825 <columnDefinition name="Value" type="string" length="0" nullable="yes" />
1826 <columnDefinition name="Type" type="string" length="0" nullable="yes" />
1827 <columnDefinition name="Hidden" type="number" length="2" minValue="0" maxValue="1"/>
1828 <columnDefinition name="Persisted" type="number" length="2" minValue="0" maxValue="1"/>
1829 </tableDefinition>
1830 <tableDefinition name="WixBundleProperties" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1831 <columnDefinition name="DisplayName" type="string" length="0" nullable="yes"/>
1832 <columnDefinition name="LogPathVariable" type="string" length="0" nullable="yes"/>
1833 <columnDefinition name="Compressed" type="string" length="0" nullable="yes"/>
1834 <columnDefinition name="Id" type="string" length="0" nullable="yes"/>
1835 <columnDefinition name="UpgradeCode" type="string" length="0" nullable="yes"/>
1836 <columnDefinition name="PerMachine" type="string" length="0" nullable="yes"/>
1837 </tableDefinition>
1838 <tableDefinition name="WixPackageFeatureInfo" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1839 <columnDefinition name="Package" type="string" length="0" />
1840 <columnDefinition name="Feature" type="string" length="0" />
1841 <columnDefinition name="Size" type="string" length="0" />
1842 <columnDefinition name="Parent" type="string" length="0" nullable="yes" />
1843 <columnDefinition name="Title" type="string" length="0" nullable="yes" />
1844 <columnDefinition name="Description" type="string" length="0" nullable="yes" />
1845 <columnDefinition name="Display" type="string" length="0" nullable="yes" />
1846 <columnDefinition name="Level" type="string" length="0" />
1847 <columnDefinition name="Directory" type="string" length="0" nullable="yes"/>
1848 <columnDefinition name="Attributes" type="string" length="0" />
1849 </tableDefinition>
1850 <tableDefinition name="WixPackageProperties" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1851 <columnDefinition name="Package" type="string" length="0" category="identifier" primaryKey="yes"
1852 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1853 <columnDefinition name="Vital" type="string" length="0" nullable="yes" minValue="0" maxValue="1" />
1854 <columnDefinition name="DisplayName" type="string" length="0" nullable="yes"/>
1855 <columnDefinition name="Description" type="string" length="0" nullable="yes"/>
1856 <columnDefinition name="DownloadSize" type="string" length="0" nullable="yes"/>
1857 <columnDefinition name="PackageSize" type="string" length="0" nullable="yes"/>
1858 <columnDefinition name="InstalledSize" type="string" length="0" nullable="yes"/>
1859 <columnDefinition name="PackageType" type="string" length="0" nullable="no"/>
1860 <columnDefinition name="Permanent" type="string" length="0" nullable="yes"/>
1861 <columnDefinition name="LogPathVariable" type="string" length="0" nullable="yes"/>
1862 <columnDefinition name="RollbackLogPathVariable" type="string" length="0" nullable="yes"/>
1863 <columnDefinition name="Compressed" type="string" length="0" nullable="yes"/>
1864 <columnDefinition name="DisplayInternalUI" type="string" length="0" nullable="yes"/>
1865 <columnDefinition name="ProductCode" type="string" length="0" nullable="yes"/>
1866 <columnDefinition name="UpgradeCode" type="string" length="0" nullable="yes"/>
1867 <columnDefinition name="Version" type="string" length="0" nullable="yes"/>
1868 <columnDefinition name="InstallCondition" type="string" length="0" nullable="yes" />
1869 <columnDefinition name="Cache" type="string" length="0" nullable="yes" minValue="0" maxValue="2" />
1870 </tableDefinition>
1871 <tableDefinition name="WixPayloadProperties" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1872 <columnDefinition name="Payload" type="string" length="0" category="identifier" primaryKey="yes" />
1873 <columnDefinition name="Package" type="string" length="0" category="identifier" primaryKey="yes" nullable="yes"
1874 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1875 <columnDefinition name="Container" type="string" length="0" nullable="yes"
1876 keyTable="WixBundleContainer" keyColumn="1" description="Reference to a container entry in the WixBundleContainer table."/>
1877 <columnDefinition name="Name" type="string" length="0" />
1878 <columnDefinition name="Size" type="string" length="0" />
1879 <columnDefinition name="DownloadUrl" type="string" length="0" nullable="yes" />
1880 <columnDefinition name="LayoutOnly" type="string" length="3" nullable="no" />
1881 </tableDefinition>
1882 <tableDefinition name="_Streams" unreal="yes" tupleless="yes">
1883 <columnDefinition name="Name" type="string" length="62" primaryKey="yes"/>
1884 <columnDefinition name="Data" type="object" length="0" nullable="yes"/>
1885 </tableDefinition>
1886 <tableDefinition name="_SummaryInformation">
1887 <columnDefinition name="PropertyId" type="number" length="2" primaryKey="yes"/>
1888 <columnDefinition name="Value" type="localized" length="255" escapeIdtCharacters="yes"/>
1889 </tableDefinition>
1890 <tableDefinition name="_TransformView" unreal="yes" tupleless="yes">
1891 <columnDefinition name="Table" type="string" length="0" primaryKey="yes"/>
1892 <columnDefinition name="Column" type="string" length="0" primaryKey="yes"/>
1893 <columnDefinition name="Row" type="string" length="0"/>
1894 <columnDefinition name="Data" type="string" length="0"/>
1895 <columnDefinition name="Current" type="string" length="0"/>
1896 </tableDefinition>
1897 <tableDefinition name="_Validation" tupleless="yes">
1898 <columnDefinition name="Table" type="string" length="32" primaryKey="yes"
1899 category="identifier" description="Name of table"/>
1900 <columnDefinition name="Column" type="string" length="32" primaryKey="yes"
1901 category="identifier" description="Name of column"/>
1902 <columnDefinition name="Nullable" type="string" length="4"
1903 set="Y;N" description="Whether the column is nullable"/>
1904 <columnDefinition name="MinValue" type="number" length="4" nullable="yes"
1905 minValue="-2147483647" maxValue="2147483647" description="Minimum value allowed"/>
1906 <columnDefinition name="MaxValue" type="number" length="4" nullable="yes"
1907 minValue="-2147483647" maxValue="2147483647" description="Maximum value allowed"/>
1908 <columnDefinition name="KeyTable" type="string" length="255" nullable="yes"
1909 category="identifier" description="For foreign key, Name of table to which data must link"/>
1910 <columnDefinition name="KeyColumn" type="number" length="2" nullable="yes"
1911 minValue="1" maxValue="32" description="Column to which foreign key connects"/>
1912 <columnDefinition name="Category" type="string" length="32" nullable="yes"
1913 set="Text;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;CustomSource;Property;Cabinet;Shortcut;FormattedSDDLText;Integer;DoubleInteger;TimeDate;DefaultDir" description="String category"/>
1914 <columnDefinition name="Set" type="string" length="255" nullable="yes"
1915 category="text" description="Set of values that are permitted"/>
1916 <columnDefinition name="Description" type="string" length="255" nullable="yes"
1917 category="text" description="Description of column"/>
1918 </tableDefinition>
1919 <!-- WixSearch tables are used by multiple extensions and binder knows about them. -->
1920 <tableDefinition name="WixSearch" createSymbols="yes" unreal="yes">
1921 <columnDefinition name="WixSearch" type="string" length="72" category="identifier" primaryKey="yes" />
1922 <columnDefinition name="Variable" type="string" length="72" category="identifier" nullable="yes" />
1923 <columnDefinition name="Condition" type="string" length="255" category="condition" nullable="yes" />
1924 </tableDefinition>
1925 <tableDefinition name="WixSearchRelation" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1926 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1927 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1928 <columnDefinition name="ParentId_" type="string" length="72" category="identifier" primaryKey="yes"
1929 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1930 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1931 </tableDefinition>
1932 <tableDefinition name="WixFileSearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1933 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1934 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1935 <columnDefinition name="Path" type="string" category="text" length="255" />
1936 <columnDefinition name="MinVersion" type="string" length="24" category="version" nullable="yes" />
1937 <columnDefinition name="MaxVersion" type="string" length="24" category="version" nullable="yes" />
1938 <columnDefinition name="MinSize" type="number" length="4" category="doubleInteger" nullable="yes" />
1939 <columnDefinition name="MaxSize" type="number" length="4" category="doubleInteger" nullable="yes" />
1940 <columnDefinition name="MinDate" type="number" length="4" category="doubleInteger" nullable="yes" />
1941 <columnDefinition name="MaxDate" type="number" length="4" category="doubleInteger" nullable="yes" />
1942 <columnDefinition name="Languages" type="string" category="text" length="0" nullable="yes" />
1943 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1944 </tableDefinition>
1945 <tableDefinition name="WixRegistrySearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1946 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1947 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1948 <columnDefinition name="Root" type="number" length="2" category="doubleInteger" />
1949 <columnDefinition name="Key" type="string" category="text" length="255" />
1950 <columnDefinition name="Value" type="string" category="text" length="255" nullable="yes" />
1951 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1952 </tableDefinition>
1953 <tableDefinition name="WixComponentSearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1954 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1955 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1956 <columnDefinition name="Guid" type="string" length="38" category="guid" />
1957 <columnDefinition name="ProductCode" type="string" length="38" category="guid" nullable="yes" />
1958 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1959 </tableDefinition>
1960 <tableDefinition name="WixProductSearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1961 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1962 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1963 <columnDefinition name="Guid" type="string" length="38" category="guid" />
1964 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1965 </tableDefinition>
1966</tableDefinitions>
diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
index aa8921ed..ea9cac07 100644
--- a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
@@ -116,7 +116,7 @@ namespace WixToolset.Core.WindowsInstaller
116 } 116 }
117 117
118 // add any missing standard and wix-specific table definitions 118 // add any missing standard and wix-specific table definitions
119 foreach (var tableDefinition in WindowsInstallerStandardInternal.GetTableDefinitions()) 119 foreach (var tableDefinition in WindowsInstallerTableDefinitions.All)
120 { 120 {
121 if (!this.tableDefinitions.Contains(tableDefinition.Name)) 121 if (!this.tableDefinitions.Contains(tableDefinition.Name))
122 { 122 {
diff --git a/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs b/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs
index 582e179e..256d3476 100644
--- a/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Inscribe/InscribeMsiPackageCommand.cs
@@ -21,7 +21,7 @@ namespace WixToolset.Core.WindowsInstaller.Inscribe
21 { 21 {
22 this.Context = context; 22 this.Context = context;
23 this.Messaging = context.ServiceProvider.GetService<IMessaging>(); 23 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
24 this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions(); 24 this.TableDefinitions = new TableDefinitionCollection(WindowsInstallerTableDefinitions.All);
25 } 25 }
26 26
27 private IInscribeContext Context { get; } 27 private IInscribeContext Context { get; }
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs
index fb4b4ee3..1f43a025 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs
@@ -30,7 +30,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
30 this.SuppressDemodularization = suppressDemodularization; 30 this.SuppressDemodularization = suppressDemodularization;
31 this.SkipSummaryInfo = skipSummaryInfo; 31 this.SkipSummaryInfo = skipSummaryInfo;
32 32
33 this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions(); 33 this.TableDefinitions = new TableDefinitionCollection(WindowsInstallerTableDefinitions.All);
34 } 34 }
35 35
36 public IMessaging Messaging { get; } 36 public IMessaging Messaging { get; }
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs
index 9261fda0..de2c5e37 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs
@@ -24,7 +24,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
24 this.ExportBasePath = exportBasePath; 24 this.ExportBasePath = exportBasePath;
25 this.IntermediateFolder = intermediateFolder; 25 this.IntermediateFolder = intermediateFolder;
26 26
27 this.TableDefinitions = WindowsInstallerStandardInternal.GetTableDefinitions(); 27 this.TableDefinitions = new TableDefinitionCollection(WindowsInstallerTableDefinitions.All);
28 } 28 }
29 29
30 private IMessaging Messaging { get; } 30 private IMessaging Messaging { get; }
diff --git a/src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs b/src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs
deleted file mode 100644
index 33f1ba04..00000000
--- a/src/WixToolset.Core.WindowsInstaller/WindowsInstallerStandardInternal.cs
+++ /dev/null
@@ -1,40 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Core.WindowsInstaller
4{
5 using System.Reflection;
6 using System.Xml;
7 using WixToolset.Data.WindowsInstaller;
8
9 /// <summary>
10 /// Represents the Windows Installer standard objects.
11 /// </summary>
12 internal static class WindowsInstallerStandardInternal
13 {
14 private static readonly object lockObject = new object();
15
16 private static TableDefinitionCollection tableDefinitions;
17
18 /// <summary>
19 /// Gets the table definitions stored in this assembly.
20 /// </summary>
21 /// <returns>Table definition collection for tables stored in this assembly.</returns>
22 public static TableDefinitionCollection GetTableDefinitions()
23 {
24 // TODO: make the data static data structures instead of parsing an XML file and consider
25 // moving it all to WixToolset.Data.WindowsInstallerStandard class.
26 lock (lockObject)
27 {
28 if (null == WindowsInstallerStandardInternal.tableDefinitions)
29 {
30 using (XmlReader reader = XmlReader.Create(Assembly.GetExecutingAssembly().GetManifestResourceStream("WixToolset.Core.WindowsInstaller.Data.tables.xml")))
31 {
32 WindowsInstallerStandardInternal.tableDefinitions = TableDefinitionCollection.Load(reader);
33 }
34 }
35 }
36
37 return WindowsInstallerStandardInternal.tableDefinitions;
38 }
39 }
40}
diff --git a/src/WixToolset.Core.WindowsInstaller/WixToolset.Core.WindowsInstaller.csproj b/src/WixToolset.Core.WindowsInstaller/WixToolset.Core.WindowsInstaller.csproj
index 07007525..5d68bfe4 100644
--- a/src/WixToolset.Core.WindowsInstaller/WixToolset.Core.WindowsInstaller.csproj
+++ b/src/WixToolset.Core.WindowsInstaller/WixToolset.Core.WindowsInstaller.csproj
@@ -11,10 +11,6 @@
11 </PropertyGroup> 11 </PropertyGroup>
12 12
13 <ItemGroup> 13 <ItemGroup>
14 <EmbeddedResource Include="Data\tables.xml" />
15 </ItemGroup>
16
17 <ItemGroup>
18 <ProjectReference Include="..\WixToolset.Core\WixToolset.Core.csproj" /> 14 <ProjectReference Include="..\WixToolset.Core\WixToolset.Core.csproj" />
19 </ItemGroup> 15 </ItemGroup>
20 16