@joebigelow / wix / commits / d0d447ad

Change TableDefinition to have TupleDefinition instead of TupleDefinitionName.

Sean Hall committed Apr 13, 2020 at 11:36 UTC d0d447ad64afdd5956856c4c6b6599f69a522d6b
3 files changed +209 -210
src/WixToolset.Data/WindowsInstaller/TableDefinition.cs
+8 -25
@@ -22,14 +22,15 @@ namespace WixToolset.Data.WindowsInstaller
22 /// Creates a table definition.
23 /// </summary>
24 /// <param name="name">Name of table to create.</param>
25 + /// <param name="tupleDefinition">Optional tuple definition for this table.</param>
26 /// <param name="columns">Column definitions for the table.</param>
27 /// <param name="unreal">Flag if table is unreal.</param>
27 - /// <param name="tupleDefinitionName">Optional name of tuple definition for this table.</param>
28 /// <param name="tupleIdIsPrimaryKey">Whether the primary key is the id of the tuple definition associated with this table.</param>
29 - public TableDefinition(string name, IEnumerable<ColumnDefinition> columns, bool unreal = false, string tupleDefinitionName = null, bool? tupleIdIsPrimaryKey = null)
29 + public TableDefinition(string name, IntermediateTupleDefinition tupleDefinition, IEnumerable<ColumnDefinition> columns, bool unreal = false, bool tupleIdIsPrimaryKey = false)
30 {
31 this.Name = name;
32 - this.TupleDefinitionName = tupleDefinitionName ?? name;
32 + this.TupleDefinition = tupleDefinition;
33 + this.TupleIdIsPrimaryKey = tupleIdIsPrimaryKey;
34 this.Unreal = unreal;
35 this.Columns = columns?.ToArray();
36
@@ -37,7 +38,6 @@ namespace WixToolset.Data.WindowsInstaller
38 {
39 throw new ArgumentOutOfRangeException(nameof(columns));
40 }
40 - this.TupleIdIsPrimaryKey = tupleIdIsPrimaryKey ?? DeriveTupleIdIsPrimaryKey(this.Columns);
41 }
42
43 /// <summary>
@@ -47,10 +47,10 @@ namespace WixToolset.Data.WindowsInstaller
47 public string Name { get; }
48
49 /// <summary>
50 - /// Gets the name of the tuple definition associated with this table.
50 + /// Gets the tuple definition associated with this table.
51 /// </summary>
52 - /// <value>Name of the tuple definition.</value>
53 - public string TupleDefinitionName { get; }
52 + /// <value>The tuple definition.</value>
53 + public IntermediateTupleDefinition TupleDefinition { get; }
54
55 /// <summary>
56 /// Gets if the table is unreal.
@@ -130,9 +130,7 @@ namespace WixToolset.Data.WindowsInstaller
130 {
131 var empty = reader.IsEmptyElement;
132 string name = null;
133 - string tupleDefinitionName = null;
133 var unreal = false;
135 - bool? tupleIdIsPrimaryKey = null;
134
135 while (reader.MoveToNextAttribute())
136 {
@@ -141,12 +139,6 @@ namespace WixToolset.Data.WindowsInstaller
139 case "name":
140 name = reader.Value;
141 break;
144 - case "tupleDefinitionName":
145 - tupleDefinitionName = reader.Value;
146 - break;
147 - case "tupleIdIsPrimaryKey":
148 - tupleIdIsPrimaryKey = reader.Value.Equals("yes");
149 - break;
142 case "unreal":
143 unreal = reader.Value.Equals("yes");
144 break;
@@ -203,7 +195,7 @@ namespace WixToolset.Data.WindowsInstaller
195 }
196 }
197
206 - return new TableDefinition(name, columns.ToArray(), unreal, tupleDefinitionName, tupleIdIsPrimaryKey);
198 + return new TableDefinition(name, null, columns.ToArray(), unreal);
199 }
200
201 /// <summary>
@@ -228,14 +220,5 @@ namespace WixToolset.Data.WindowsInstaller
220
221 writer.WriteEndElement();
222 }
231 -
232 - private static bool DeriveTupleIdIsPrimaryKey(ColumnDefinition[] columns)
233 - {
234 - return columns[0].PrimaryKey &&
235 - columns[0].Type == ColumnType.String &&
236 - columns[0].Category == ColumnCategory.Identifier &&
237 - !columns[0].Name.EndsWith("_") &&
238 - (columns.Length == 1 || !columns.Skip(1).Any(t => t.PrimaryKey));
239 - }
223 }
224 }
src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs
-13
@@ -76,19 +76,6 @@ namespace WixToolset.Data.WindowsInstaller
76 /// <returns>True if table definition was found otherwise false.</returns>
77 public bool TryGet(string tableName, out TableDefinition table) => this.collection.TryGetValue(tableName, out table);
78
79 - /// <summary>
80 - /// Load a table definition collection from an XmlReader.
81 - /// </summary>
82 - /// <param name="reader">Reader to get data from.</param>
83 - /// <param name="suppressSchema">Suppress xml schema validation while loading.</param>
84 - /// <returns>The TableDefinitionCollection represented by the xml.</returns>
85 - public static TableDefinitionCollection Load(XmlReader reader)
86 - {
87 - reader.MoveToContent();
88 -
89 - return Read(reader);
90 - }
91 -
79 /// <summary>
80 /// Adds a table definition to the collection.
81 /// </summary>
src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs
+201 -172
@@ -6,18 +6,19 @@ namespace WixToolset.Data.WindowsInstaller
6 {
7 public static readonly TableDefinition ActionText = new TableDefinition(
8 "ActionText",
9 + TupleDefinitions.ActionText,
10 new[]
11 {
12 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to be described.", modularizeType: ColumnModularizeType.Column),
13 new ColumnDefinition("Description", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Localized description displayed in progress dialog and log when action is executing."),
14 new ColumnDefinition("Template", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Template, description: "Optional localized format template used to format action data records for display during action execution.", modularizeType: ColumnModularizeType.Property),
15 },
15 - tupleDefinitionName: TupleDefinitions.ActionText.Name,
16 tupleIdIsPrimaryKey: false
17 );
18
19 public static readonly TableDefinition AdminExecuteSequence = new TableDefinition(
20 "AdminExecuteSequence",
21 + null,
22 new[]
23 {
24 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to invoke, either in the engine or the handler DLL."),
@@ -29,18 +30,19 @@ namespace WixToolset.Data.WindowsInstaller
30
31 public static readonly TableDefinition Condition = new TableDefinition(
32 "Condition",
33 + TupleDefinitions.Condition,
34 new[]
35 {
36 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Reference to a Feature entry in Feature table."),
37 new ColumnDefinition("Level", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "New selection Level to set in Feature table if Condition evaluates to TRUE."),
38 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Expression evaluated to determine if Level in the Feature table is to change.", forceLocalizable: true),
39 },
38 - tupleDefinitionName: TupleDefinitions.Condition.Name,
40 tupleIdIsPrimaryKey: false
41 );
42
43 public static readonly TableDefinition AdminUISequence = new TableDefinition(
44 "AdminUISequence",
45 + null,
46 new[]
47 {
48 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to invoke, either in the engine or the handler DLL."),
@@ -52,6 +54,7 @@ namespace WixToolset.Data.WindowsInstaller
54
55 public static readonly TableDefinition AdvtExecuteSequence = new TableDefinition(
56 "AdvtExecuteSequence",
57 + null,
58 new[]
59 {
60 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to invoke, either in the engine or the handler DLL."),
@@ -63,6 +66,7 @@ namespace WixToolset.Data.WindowsInstaller
66
67 public static readonly TableDefinition AdvtUISequence = new TableDefinition(
68 "AdvtUISequence",
69 + null,
70 new[]
71 {
72 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to invoke, either in the engine or the handler DLL."),
@@ -74,6 +78,7 @@ namespace WixToolset.Data.WindowsInstaller
78
79 public static readonly TableDefinition AppId = new TableDefinition(
80 "AppId",
81 + TupleDefinitions.AppId,
82 new[]
83 {
84 new ColumnDefinition("AppId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid),
@@ -84,34 +89,34 @@ namespace WixToolset.Data.WindowsInstaller
89 new ColumnDefinition("ActivateAtStorage", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
90 new ColumnDefinition("RunAsInteractiveUser", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
91 },
87 - tupleDefinitionName: TupleDefinitions.AppId.Name,
92 tupleIdIsPrimaryKey: false
93 );
94
95 public static readonly TableDefinition AppSearch = new TableDefinition(
96 "AppSearch",
97 + TupleDefinitions.AppSearch,
98 new[]
99 {
100 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The property associated with a Signature", modularizeType: ColumnModularizeType.Column),
101 new ColumnDefinition("Signature_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Signature;RegLocator;IniLocator;DrLocator;CompLocator", keyColumn: 1, description: "The Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.", modularizeType: ColumnModularizeType.Column),
102 },
98 - tupleDefinitionName: TupleDefinitions.AppSearch.Name,
103 tupleIdIsPrimaryKey: false
104 );
105
106 public static readonly TableDefinition Property = new TableDefinition(
107 "Property",
108 + TupleDefinitions.Property,
109 new[]
110 {
111 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of property, uppercase if settable by launcher or loader.", modularizeType: ColumnModularizeType.Column),
112 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "String value for property. Never null or empty."),
113 },
109 - tupleDefinitionName: TupleDefinitions.Property.Name,
114 tupleIdIsPrimaryKey: true
115 );
116
117 public static readonly TableDefinition BBControl = new TableDefinition(
118 "BBControl",
119 + TupleDefinitions.BBControl,
120 new[]
121 {
122 new ColumnDefinition("Billboard_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Billboard", keyColumn: 1, description: "External key to the Billboard table, name of the billboard.", modularizeType: ColumnModularizeType.Column),
@@ -124,12 +129,12 @@ namespace WixToolset.Data.WindowsInstaller
129 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "A 32-bit word that specifies the attribute flags to be applied to this control."),
130 new ColumnDefinition("Text", ColumnType.Localized, 50, primaryKey: false, nullable: true, ColumnCategory.Text, description: "A string used to set the initial text contained within a control (if appropriate)."),
131 },
127 - tupleDefinitionName: TupleDefinitions.BBControl.Name,
132 tupleIdIsPrimaryKey: false
133 );
134
135 public static readonly TableDefinition Billboard = new TableDefinition(
136 "Billboard",
137 + TupleDefinitions.Billboard,
138 new[]
139 {
140 new ColumnDefinition("Billboard", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the billboard.", modularizeType: ColumnModularizeType.Column),
@@ -137,12 +142,12 @@ namespace WixToolset.Data.WindowsInstaller
142 new ColumnDefinition("Action", ColumnType.String, 50, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "The name of an action. The billboard is displayed during the progress messages received from this action."),
143 new ColumnDefinition("Ordering", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, 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."),
144 },
140 - tupleDefinitionName: TupleDefinitions.Billboard.Name,
145 tupleIdIsPrimaryKey: true
146 );
147
148 public static readonly TableDefinition Feature = new TableDefinition(
149 "Feature",
150 + TupleDefinitions.Feature,
151 new[]
152 {
153 new ColumnDefinition("Feature", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular feature record."),
@@ -154,23 +159,23 @@ namespace WixToolset.Data.WindowsInstaller
159 new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.UpperCase, keyTable: "Directory", keyColumn: 1, description: "The name of the Directory that can be configured by the UI. A non-null value will enable the browse button.", modularizeType: ColumnModularizeType.Column),
160 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "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"),
161 },
157 - tupleDefinitionName: TupleDefinitions.Feature.Name,
162 tupleIdIsPrimaryKey: true
163 );
164
165 public static readonly TableDefinition Binary = new TableDefinition(
166 "Binary",
167 + TupleDefinitions.Binary,
168 new[]
169 {
170 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique key identifying the binary data.", modularizeType: ColumnModularizeType.Column),
171 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "The unformatted binary data."),
172 },
168 - tupleDefinitionName: TupleDefinitions.Binary.Name,
173 tupleIdIsPrimaryKey: true
174 );
175
176 public static readonly TableDefinition BindImage = new TableDefinition(
177 "BindImage",
178 + null,
179 new[]
180 {
181 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "The index into the File table. This must be an executable file.", modularizeType: ColumnModularizeType.Column),
@@ -181,6 +186,7 @@ namespace WixToolset.Data.WindowsInstaller
186
187 public static readonly TableDefinition File = new TableDefinition(
188 "File",
189 + TupleDefinitions.File,
190 new[]
191 {
192 new ColumnDefinition("File", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token, must match identifier in cabinet. For uncompressed files, this field is ignored.", modularizeType: ColumnModularizeType.Column),
@@ -194,33 +200,33 @@ namespace WixToolset.Data.WindowsInstaller
200 new ColumnDefinition("DiskId", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "Disk identifier for the file.", unreal: true),
201 new ColumnDefinition("Source", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Path to source of file.", unreal: true),
202 },
197 - tupleDefinitionName: TupleDefinitions.File.Name,
203 tupleIdIsPrimaryKey: true
204 );
205
206 public static readonly TableDefinition CCPSearch = new TableDefinition(
207 "CCPSearch",
208 + TupleDefinitions.CCPSearch,
209 new[]
210 {
211 new ColumnDefinition("Signature_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Signature;RegLocator;IniLocator;DrLocator;CompLocator", keyColumn: 1, description: "The Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables."),
212 },
207 - tupleDefinitionName: TupleDefinitions.CCPSearch.Name,
213 tupleIdIsPrimaryKey: true
214 );
215
216 public static readonly TableDefinition CheckBox = new TableDefinition(
217 "CheckBox",
218 + TupleDefinitions.CheckBox,
219 new[]
220 {
221 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A named property to be tied to the item.", modularizeType: ColumnModularizeType.Column),
222 new ColumnDefinition("Value", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value string associated with the item.", modularizeType: ColumnModularizeType.Property),
223 },
218 - tupleDefinitionName: TupleDefinitions.CheckBox.Name,
224 tupleIdIsPrimaryKey: false
225 );
226
227 public static readonly TableDefinition Class = new TableDefinition(
228 "Class",
229 + TupleDefinitions.Class,
230 new[]
231 {
232 new ColumnDefinition("CLSID", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The CLSID of an OLE factory."),
@@ -237,12 +243,12 @@ namespace WixToolset.Data.WindowsInstaller
243 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational."),
244 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, maxValue: 32767, description: "Class registration attributes."),
245 },
240 - tupleDefinitionName: TupleDefinitions.Class.Name,
246 tupleIdIsPrimaryKey: false
247 );
248
249 public static readonly TableDefinition Component = new TableDefinition(
250 "Component",
251 + TupleDefinitions.Component,
252 new[]
253 {
254 new ColumnDefinition("Component", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular component record.", modularizeType: ColumnModularizeType.Column),
@@ -252,23 +258,23 @@ namespace WixToolset.Data.WindowsInstaller
258 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.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.", modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
259 new ColumnDefinition("KeyPath", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "File;Registry;ODBCDataSource", keyColumn: 1, 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.", modularizeType: ColumnModularizeType.Column),
260 },
255 - tupleDefinitionName: TupleDefinitions.Component.Name,
261 tupleIdIsPrimaryKey: true
262 );
263
264 public static readonly TableDefinition Icon = new TableDefinition(
265 "Icon",
266 + TupleDefinitions.Icon,
267 new[]
268 {
269 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. Name of the icon file.", modularizeType: ColumnModularizeType.Icon),
270 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format."),
271 },
266 - tupleDefinitionName: TupleDefinitions.Icon.Name,
272 tupleIdIsPrimaryKey: true
273 );
274
275 public static readonly TableDefinition ProgId = new TableDefinition(
276 "ProgId",
277 + TupleDefinitions.ProgId,
278 new[]
279 {
280 new ColumnDefinition("ProgId", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The Program Identifier. Primary key."),
@@ -278,12 +284,12 @@ namespace WixToolset.Data.WindowsInstaller
284 new ColumnDefinition("Icon_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Icon", keyColumn: 1, description: "Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.", modularizeType: ColumnModularizeType.Icon),
285 new ColumnDefinition("IconIndex", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -32767, maxValue: 32767, description: "Optional icon index."),
286 },
281 - tupleDefinitionName: TupleDefinitions.ProgId.Name,
287 tupleIdIsPrimaryKey: false
288 );
289
290 public static readonly TableDefinition ComboBox = new TableDefinition(
291 "ComboBox",
292 + TupleDefinitions.ComboBox,
293 new[]
294 {
295 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.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.", modularizeType: ColumnModularizeType.Column),
@@ -291,47 +297,47 @@ namespace WixToolset.Data.WindowsInstaller
297 new ColumnDefinition("Value", ColumnType.String, 64, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The value string associated with this item. Selecting the line will set the associated property to this value.", modularizeType: ColumnModularizeType.Property, forceLocalizable: true),
298 new ColumnDefinition("Text", ColumnType.Localized, 64, primaryKey: false, nullable: true, ColumnCategory.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.", modularizeType: ColumnModularizeType.Property),
299 },
294 - tupleDefinitionName: TupleDefinitions.ComboBox.Name,
300 tupleIdIsPrimaryKey: false
301 );
302
303 public static readonly TableDefinition CompLocator = new TableDefinition(
304 "CompLocator",
305 + TupleDefinitions.CompLocator,
306 new[]
307 {
308 new ColumnDefinition("Signature_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.", modularizeType: ColumnModularizeType.Column),
309 new ColumnDefinition("ComponentId", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid, description: "A string GUID unique to this component, version, and language."),
310 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "A boolean value that determines if the registry value is a filename or a directory location."),
311 },
306 - tupleDefinitionName: TupleDefinitions.CompLocator.Name,
312 tupleIdIsPrimaryKey: false
313 );
314
315 public static readonly TableDefinition Complus = new TableDefinition(
316 "Complus",
317 + TupleDefinitions.Complus,
318 new[]
319 {
320 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the ComPlus component.", modularizeType: ColumnModularizeType.Column),
321 new ColumnDefinition("ExpType", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "ComPlus component attributes."),
322 },
317 - tupleDefinitionName: TupleDefinitions.Complus.Name,
323 tupleIdIsPrimaryKey: false
324 );
325
326 public static readonly TableDefinition Directory = new TableDefinition(
327 "Directory",
328 + TupleDefinitions.Directory,
329 new[]
330 {
331 new ColumnDefinition("Directory", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.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.", modularizeType: ColumnModularizeType.Column),
332 new ColumnDefinition("Directory_Parent", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, 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.", modularizeType: ColumnModularizeType.Column),
333 new ColumnDefinition("DefaultDir", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.DefaultDir, description: "The default sub-path under parent's path."),
334 },
329 - tupleDefinitionName: TupleDefinitions.Directory.Name,
335 tupleIdIsPrimaryKey: true
336 );
337
338 public static readonly TableDefinition Control = new TableDefinition(
339 "Control",
340 + TupleDefinitions.Control,
341 new[]
342 {
343 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Dialog", keyColumn: 1, description: "External key to the Dialog table, name of the dialog.", modularizeType: ColumnModularizeType.Column),
@@ -347,12 +353,12 @@ namespace WixToolset.Data.WindowsInstaller
353 new ColumnDefinition("Control_Next", ColumnType.String, 50, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Control", keyColumn: 2, 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!"),
354 new ColumnDefinition("Help", ColumnType.Localized, 50, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The help strings used with the button. The text is optional. "),
355 },
350 - tupleDefinitionName: TupleDefinitions.Control.Name,
356 tupleIdIsPrimaryKey: false
357 );
358
359 public static readonly TableDefinition Dialog = new TableDefinition(
360 "Dialog",
361 + TupleDefinitions.Dialog,
362 new[]
363 {
364 new ColumnDefinition("Dialog", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the dialog.", modularizeType: ColumnModularizeType.Column),
@@ -366,12 +372,12 @@ namespace WixToolset.Data.WindowsInstaller
372 new ColumnDefinition("Control_Default", ColumnType.String, 50, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Control", keyColumn: 2, description: "Defines the default control. Hitting return is equivalent to pushing this button."),
373 new ColumnDefinition("Control_Cancel", ColumnType.String, 50, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Control", keyColumn: 2, description: "Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button."),
374 },
369 - tupleDefinitionName: TupleDefinitions.Dialog.Name,
375 tupleIdIsPrimaryKey: true
376 );
377
378 public static readonly TableDefinition ControlCondition = new TableDefinition(
379 "ControlCondition",
380 + TupleDefinitions.ControlCondition,
381 new[]
382 {
383 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Dialog", keyColumn: 1, description: "A foreign key to the Dialog table, name of the dialog.", modularizeType: ColumnModularizeType.Column),
@@ -379,12 +385,12 @@ namespace WixToolset.Data.WindowsInstaller
385 new ColumnDefinition("Action", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Unknown, possibilities: "Default;Disable;Enable;Hide;Show", description: "The desired action to be taken on the specified control."),
386 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Condition, description: "A standard conditional statement that specifies under which conditions the action should be triggered.", modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
387 },
382 - tupleDefinitionName: TupleDefinitions.ControlCondition.Name,
388 tupleIdIsPrimaryKey: false
389 );
390
391 public static readonly TableDefinition ControlEvent = new TableDefinition(
392 "ControlEvent",
393 + TupleDefinitions.ControlEvent,
394 new[]
395 {
396 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Dialog", keyColumn: 1, description: "A foreign key to the Dialog table, name of the dialog.", modularizeType: ColumnModularizeType.Column),
@@ -394,23 +400,23 @@ namespace WixToolset.Data.WindowsInstaller
400 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: true, nullable: true, ColumnCategory.Condition, description: "A standard conditional statement that specifies under which conditions an event should be triggered.", modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
401 new ColumnDefinition("Ordering", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "An integer used to order several events tied to the same control. Can be left blank."),
402 },
397 - tupleDefinitionName: TupleDefinitions.ControlEvent.Name,
403 tupleIdIsPrimaryKey: false
404 );
405
406 public static readonly TableDefinition CreateFolder = new TableDefinition(
407 "CreateFolder",
408 + TupleDefinitions.CreateFolder,
409 new[]
410 {
411 new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Primary key, could be foreign key into the Directory table.", modularizeType: ColumnModularizeType.Column),
412 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table.", modularizeType: ColumnModularizeType.Column),
413 },
408 - tupleDefinitionName: TupleDefinitions.CreateFolder.Name,
414 tupleIdIsPrimaryKey: false
415 );
416
417 public static readonly TableDefinition CustomAction = new TableDefinition(
418 "CustomAction",
419 + TupleDefinitions.CustomAction,
420 new[]
421 {
422 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, name of action, normally appears in sequence table unless private use.", modularizeType: ColumnModularizeType.Column),
@@ -419,12 +425,12 @@ namespace WixToolset.Data.WindowsInstaller
425 new ColumnDefinition("Target", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Excecution parameter, depends on the type of custom action", modularizeType: ColumnModularizeType.Property, forceLocalizable: true),
426 new ColumnDefinition("ExtendedType", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "A numeric custom action type that extends code type or option flags of the Type column."),
427 },
422 - tupleDefinitionName: TupleDefinitions.CustomAction.Name,
428 tupleIdIsPrimaryKey: true
429 );
430
431 public static readonly TableDefinition DrLocator = new TableDefinition(
432 "DrLocator",
433 + TupleDefinitions.DrLocator,
434 new[]
435 {
436 new ColumnDefinition("Signature_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The Signature_ represents a unique file signature and is also the foreign key in the Signature table.", modularizeType: ColumnModularizeType.Column),
@@ -432,12 +438,12 @@ namespace WixToolset.Data.WindowsInstaller
438 new ColumnDefinition("Path", ColumnType.String, 255, primaryKey: true, nullable: true, ColumnCategory.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.", modularizeType: ColumnModularizeType.Property),
439 new ColumnDefinition("Depth", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, 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."),
440 },
435 - tupleDefinitionName: TupleDefinitions.DrLocator.Name,
441 tupleIdIsPrimaryKey: false
442 );
443
444 public static readonly TableDefinition DuplicateFile = new TableDefinition(
445 "DuplicateFile",
446 + TupleDefinitions.DuplicateFile,
447 new[]
448 {
449 new ColumnDefinition("FileKey", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular file entry", modularizeType: ColumnModularizeType.Column),
@@ -446,12 +452,12 @@ namespace WixToolset.Data.WindowsInstaller
452 new ColumnDefinition("DestName", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Filename, description: "Filename to be given to the duplicate file."),
453 new ColumnDefinition("DestFolder", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Name of a property whose value is assumed to resolve to the full pathname to a destination folder.", modularizeType: ColumnModularizeType.Column),
454 },
449 - tupleDefinitionName: TupleDefinitions.DuplicateFile.Name,
455 tupleIdIsPrimaryKey: true
456 );
457
458 public static readonly TableDefinition Environment = new TableDefinition(
459 "Environment",
460 + TupleDefinitions.Environment,
461 new[]
462 {
463 new ColumnDefinition("Environment", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique identifier for the environmental variable setting", modularizeType: ColumnModularizeType.Column),
@@ -459,23 +465,23 @@ namespace WixToolset.Data.WindowsInstaller
465 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value to set in the environmental settings.", modularizeType: ColumnModularizeType.Property),
466 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table referencing component that controls the installing of the environmental value.", modularizeType: ColumnModularizeType.Column),
467 },
462 - tupleDefinitionName: TupleDefinitions.Environment.Name,
468 tupleIdIsPrimaryKey: true
469 );
470
471 public static readonly TableDefinition Error = new TableDefinition(
472 "Error",
473 + TupleDefinitions.Error,
474 new[]
475 {
476 new ColumnDefinition("Error", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Integer error number, obtained from header file IError(...) macros."),
477 new ColumnDefinition("Message", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Template, description: "Error formatting template, obtained from user ed. or localizers.", modularizeType: ColumnModularizeType.Property, useCData: true),
478 },
473 - tupleDefinitionName: TupleDefinitions.Error.Name,
479 tupleIdIsPrimaryKey: true
480 );
481
482 public static readonly TableDefinition EventMapping = new TableDefinition(
483 "EventMapping",
484 + TupleDefinitions.EventMapping,
485 new[]
486 {
487 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Dialog", keyColumn: 1, description: "A foreign key to the Dialog table, name of the Dialog.", modularizeType: ColumnModularizeType.Column),
@@ -483,12 +489,12 @@ namespace WixToolset.Data.WindowsInstaller
489 new ColumnDefinition("Event", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "An identifier that specifies the type of the event that the control subscribes to."),
490 new ColumnDefinition("Attribute", ColumnType.String, 50, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "The name of the control attribute, that is set when this event is received."),
491 },
486 - tupleDefinitionName: TupleDefinitions.EventMapping.Name,
492 tupleIdIsPrimaryKey: false
493 );
494
495 public static readonly TableDefinition Extension = new TableDefinition(
496 "Extension",
497 + TupleDefinitions.Extension,
498 new[]
499 {
500 new ColumnDefinition("Extension", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The extension associated with the table row."),
@@ -497,58 +503,58 @@ namespace WixToolset.Data.WindowsInstaller
503 new ColumnDefinition("MIME_", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Text, keyTable: "MIME", keyColumn: 1, description: "Optional Context identifier, typically \"type/format\" associated with the extension"),
504 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational."),
505 },
500 - tupleDefinitionName: TupleDefinitions.Extension.Name,
506 tupleIdIsPrimaryKey: false
507 );
508
509 public static readonly TableDefinition MIME = new TableDefinition(
510 "MIME",
511 + TupleDefinitions.MIME,
512 new[]
513 {
514 new ColumnDefinition("ContentType", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key. Context identifier, typically \"type/format\"."),
515 new ColumnDefinition("Extension_", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, keyTable: "Extension", keyColumn: 1, description: "Optional associated extension (without dot)"),
516 new ColumnDefinition("CLSID", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, description: "Optional associated CLSID."),
517 },
512 - tupleDefinitionName: TupleDefinitions.MIME.Name,
518 tupleIdIsPrimaryKey: false
519 );
520
521 public static readonly TableDefinition FeatureComponents = new TableDefinition(
522 "FeatureComponents",
523 + TupleDefinitions.FeatureComponents,
524 new[]
525 {
526 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into Feature table."),
527 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into Component table.", modularizeType: ColumnModularizeType.Column),
528 },
523 - tupleDefinitionName: TupleDefinitions.FeatureComponents.Name,
529 tupleIdIsPrimaryKey: false
530 );
531
532 public static readonly TableDefinition FileSFPCatalog = new TableDefinition(
533 "FileSFPCatalog",
534 + TupleDefinitions.FileSFPCatalog,
535 new[]
536 {
537 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "File associated with the catalog", modularizeType: ColumnModularizeType.Column),
538 new ColumnDefinition("SFPCatalog_", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Filename, keyTable: "SFPCatalog", keyColumn: 1, description: "Catalog associated with the file"),
539 },
534 - tupleDefinitionName: TupleDefinitions.FileSFPCatalog.Name,
540 tupleIdIsPrimaryKey: false
541 );
542
543 public static readonly TableDefinition SFPCatalog = new TableDefinition(
544 "SFPCatalog",
545 + TupleDefinitions.SFPCatalog,
546 new[]
547 {
548 new ColumnDefinition("SFPCatalog", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Filename, description: "File name for the catalog."),
549 new ColumnDefinition("Catalog", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "SFP Catalog"),
550 new ColumnDefinition("Dependency", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Parent catalog - only used by SFP", modularizeType: ColumnModularizeType.Property),
551 },
546 - tupleDefinitionName: TupleDefinitions.SFPCatalog.Name,
552 tupleIdIsPrimaryKey: false
553 );
554
555 public static readonly TableDefinition Font = new TableDefinition(
556 "Font",
557 + null,
558 new[]
559 {
560 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Primary key, foreign key into File table referencing font file.", modularizeType: ColumnModularizeType.Column),
@@ -559,6 +565,7 @@ namespace WixToolset.Data.WindowsInstaller
565
566 public static readonly TableDefinition IniFile = new TableDefinition(
567 "IniFile",
568 + TupleDefinitions.IniFile,
569 new[]
570 {
571 new ColumnDefinition("IniFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -570,12 +577,12 @@ namespace WixToolset.Data.WindowsInstaller
577 new ColumnDefinition("Action", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "0;1;3", description: "The type of modification to be made, one of iifEnum"),
578 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table referencing component that controls the installing of the .INI value.", modularizeType: ColumnModularizeType.Column),
579 },
573 - tupleDefinitionName: TupleDefinitions.IniFile.Name,
580 tupleIdIsPrimaryKey: true
581 );
582
583 public static readonly TableDefinition IniLocator = new TableDefinition(
584 "IniLocator",
585 + TupleDefinitions.IniLocator,
586 new[]
587 {
588 new ColumnDefinition("Signature_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.", modularizeType: ColumnModularizeType.Column),
@@ -585,12 +592,12 @@ namespace WixToolset.Data.WindowsInstaller
592 new ColumnDefinition("Field", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The field in the .INI line. If Field is null or 0 the entire line is read."),
593 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, 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."),
594 },
588 - tupleDefinitionName: TupleDefinitions.IniLocator.Name,
595 tupleIdIsPrimaryKey: false
596 );
597
598 public static readonly TableDefinition InstallExecuteSequence = new TableDefinition(
599 "InstallExecuteSequence",
600 + null,
601 new[]
602 {
603 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to invoke, either in the engine or the handler DLL."),
@@ -602,6 +609,7 @@ namespace WixToolset.Data.WindowsInstaller
609
610 public static readonly TableDefinition InstallUISequence = new TableDefinition(
611 "InstallUISequence",
612 + null,
613 new[]
614 {
615 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to invoke, either in the engine or the handler DLL."),
@@ -613,28 +621,29 @@ namespace WixToolset.Data.WindowsInstaller
621
622 public static readonly TableDefinition IsolatedComponent = new TableDefinition(
623 "IsolatedComponent",
624 + TupleDefinitions.IsolatedComponent,
625 new[]
626 {
627 new ColumnDefinition("Component_Shared", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Key to Component table item to be isolated", modularizeType: ColumnModularizeType.Column),
628 new ColumnDefinition("Component_Application", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Key to Component table item for application", modularizeType: ColumnModularizeType.Column),
629 },
621 - tupleDefinitionName: TupleDefinitions.IsolatedComponent.Name,
630 tupleIdIsPrimaryKey: false
631 );
632
633 public static readonly TableDefinition LaunchCondition = new TableDefinition(
634 "LaunchCondition",
635 + TupleDefinitions.LaunchCondition,
636 new[]
637 {
638 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Condition, description: "Expression which must evaluate to TRUE in order for install to commence.", forceLocalizable: true),
639 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Localizable text to display when condition fails and install must abort."),
640 },
632 - tupleDefinitionName: TupleDefinitions.LaunchCondition.Name,
641 tupleIdIsPrimaryKey: false
642 );
643
644 public static readonly TableDefinition ListBox = new TableDefinition(
645 "ListBox",
646 + TupleDefinitions.ListBox,
647 new[]
648 {
649 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.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.", modularizeType: ColumnModularizeType.Column),
@@ -642,12 +651,12 @@ namespace WixToolset.Data.WindowsInstaller
651 new ColumnDefinition("Value", ColumnType.String, 64, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The value string associated with this item. Selecting the line will set the associated property to this value.", modularizeType: ColumnModularizeType.Property),
652 new ColumnDefinition("Text", ColumnType.Localized, 64, primaryKey: false, nullable: true, ColumnCategory.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."),
653 },
645 - tupleDefinitionName: TupleDefinitions.ListBox.Name,
654 tupleIdIsPrimaryKey: false
655 );
656
657 public static readonly TableDefinition ListView = new TableDefinition(
658 "ListView",
659 + TupleDefinitions.ListView,
660 new[]
661 {
662 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.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.", modularizeType: ColumnModularizeType.Column),
@@ -656,12 +665,12 @@ namespace WixToolset.Data.WindowsInstaller
665 new ColumnDefinition("Text", ColumnType.Localized, 64, primaryKey: false, nullable: true, ColumnCategory.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.", modularizeType: ColumnModularizeType.Property),
666 new ColumnDefinition("Binary_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Binary", keyColumn: 1, description: "The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.", modularizeType: ColumnModularizeType.Column),
667 },
659 - tupleDefinitionName: TupleDefinitions.ListView.Name,
668 tupleIdIsPrimaryKey: false
669 );
670
671 public static readonly TableDefinition LockPermissions = new TableDefinition(
672 "LockPermissions",
673 + TupleDefinitions.LockPermissions,
674 new[]
675 {
676 new ColumnDefinition("LockObject", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Foreign key into Registry or File table", modularizeType: ColumnModularizeType.Column),
@@ -670,12 +679,12 @@ namespace WixToolset.Data.WindowsInstaller
679 new ColumnDefinition("User", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "User for permissions to be set. (usually a property)", modularizeType: ColumnModularizeType.Property),
680 new ColumnDefinition("Permission", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Permission Access mask. Full Control = 268435456 (GENERIC_ALL = 0x10000000)"),
681 },
673 - tupleDefinitionName: TupleDefinitions.LockPermissions.Name,
682 tupleIdIsPrimaryKey: false
683 );
684
685 public static readonly TableDefinition MsiLockPermissionsEx = new TableDefinition(
686 "MsiLockPermissionsEx",
687 + TupleDefinitions.MsiLockPermissionsEx,
688 new[]
689 {
690 new ColumnDefinition("MsiLockPermissionsEx", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column),
@@ -684,12 +693,12 @@ namespace WixToolset.Data.WindowsInstaller
693 new ColumnDefinition("SDDLText", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.FormattedSDDLText, description: "String to indicate permissions to be applied to the LockObject", modularizeType: ColumnModularizeType.Property),
694 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Expression which must evaluate to TRUE in order for this set of permissions to be applied", modularizeType: ColumnModularizeType.Property),
695 },
687 - tupleDefinitionName: TupleDefinitions.MsiLockPermissionsEx.Name,
696 tupleIdIsPrimaryKey: true
697 );
698
699 public static readonly TableDefinition Media = new TableDefinition(
700 "Media",
701 + TupleDefinitions.Media,
702 new[]
703 {
704 new ColumnDefinition("DiskId", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "Primary key, integer to determine sort order for table."),
@@ -699,12 +708,12 @@ namespace WixToolset.Data.WindowsInstaller
708 new ColumnDefinition("VolumeLabel", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The label attributed to the volume."),
709 new ColumnDefinition("Source", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Property, description: "The property defining the location of the cabinet file."),
710 },
702 - tupleDefinitionName: TupleDefinitions.Media.Name,
711 tupleIdIsPrimaryKey: false
712 );
713
714 public static readonly TableDefinition MoveFile = new TableDefinition(
715 "MoveFile",
716 + TupleDefinitions.MoveFile,
717 new[]
718 {
719 new ColumnDefinition("FileKey", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key that uniquely identifies a particular MoveFile record", modularizeType: ColumnModularizeType.Column),
@@ -715,12 +724,12 @@ namespace WixToolset.Data.WindowsInstaller
724 new ColumnDefinition("DestFolder", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "Name of a property whose value is assumed to resolve to the full path to the destination directory", modularizeType: ColumnModularizeType.Column),
725 new ColumnDefinition("Options", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Integer value specifying the MoveFile operating mode, one of imfoEnum"),
726 },
718 - tupleDefinitionName: TupleDefinitions.MoveFile.Name,
727 tupleIdIsPrimaryKey: true
728 );
729
730 public static readonly TableDefinition MsiAssembly = new TableDefinition(
731 "MsiAssembly",
732 + TupleDefinitions.Assembly,
733 new[]
734 {
735 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into Component table.", modularizeType: ColumnModularizeType.Column),
@@ -729,35 +738,35 @@ namespace WixToolset.Data.WindowsInstaller
738 new ColumnDefinition("File_Application", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies.", modularizeType: ColumnModularizeType.Column),
739 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Assembly attributes"),
740 },
732 - tupleDefinitionName: TupleDefinitions.Assembly.Name,
741 tupleIdIsPrimaryKey: false
742 );
743
744 public static readonly TableDefinition MsiAssemblyName = new TableDefinition(
745 "MsiAssemblyName",
746 + TupleDefinitions.MsiAssemblyName,
747 new[]
748 {
749 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into Component table.", modularizeType: ColumnModularizeType.Column),
750 new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The name part of the name-value pairs for the assembly name."),
751 new ColumnDefinition("Value", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The value part of the name-value pairs for the assembly name."),
752 },
744 - tupleDefinitionName: TupleDefinitions.MsiAssemblyName.Name,
753 tupleIdIsPrimaryKey: false
754 );
755
756 public static readonly TableDefinition MsiDigitalCertificate = new TableDefinition(
757 "MsiDigitalCertificate",
758 + TupleDefinitions.MsiDigitalCertificate,
759 new[]
760 {
761 new ColumnDefinition("DigitalCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique identifier for the row"),
762 new ColumnDefinition("CertData", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "A certificate context blob for a signer certificate"),
763 },
755 - tupleDefinitionName: TupleDefinitions.MsiDigitalCertificate.Name,
764 tupleIdIsPrimaryKey: true
765 );
766
767 public static readonly TableDefinition MsiDigitalSignature = new TableDefinition(
768 "MsiDigitalSignature",
769 + TupleDefinitions.MsiDigitalSignature,
770 new[]
771 {
772 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Unknown, possibilities: "Media", description: "Reference to another table name (only Media table is supported)"),
@@ -765,12 +774,12 @@ namespace WixToolset.Data.WindowsInstaller
774 new ColumnDefinition("DigitalCertificate_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "MsiDigitalCertificate", keyColumn: 1, description: "Foreign key to MsiDigitalCertificate table identifying the signer certificate"),
775 new ColumnDefinition("Hash", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Binary, description: "The encoded hash blob from the digital signature"),
776 },
768 - tupleDefinitionName: TupleDefinitions.MsiDigitalSignature.Name,
777 tupleIdIsPrimaryKey: false
778 );
779
780 public static readonly TableDefinition MsiEmbeddedChainer = new TableDefinition(
781 "MsiEmbeddedChainer",
782 + TupleDefinitions.MsiEmbeddedChainer,
783 new[]
784 {
785 new ColumnDefinition("MsiEmbeddedChainer", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key for the table.", modularizeType: ColumnModularizeType.Column),
@@ -779,12 +788,12 @@ namespace WixToolset.Data.WindowsInstaller
788 new ColumnDefinition("Source", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.CustomSource, description: "The location of the executable file for the user-defined function.", modularizeType: ColumnModularizeType.Column),
789 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "2;18;50", description: "The functions listed in the MsiEmbeddedChainer table are described using the following custom action numeric types."),
790 },
782 - tupleDefinitionName: TupleDefinitions.MsiEmbeddedChainer.Name,
791 tupleIdIsPrimaryKey: true
792 );
793
794 public static readonly TableDefinition MsiEmbeddedUI = new TableDefinition(
795 "MsiEmbeddedUI",
796 + TupleDefinitions.MsiEmbeddedUI,
797 new[]
798 {
799 new ColumnDefinition("MsiEmbeddedUI", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key for the table.", modularizeType: ColumnModularizeType.Column),
@@ -793,12 +802,12 @@ namespace WixToolset.Data.WindowsInstaller
802 new ColumnDefinition("MessageFilter", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Specifies the types of messages that are sent to the user interface DLL."),
803 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "This column contains binary information."),
804 },
796 - tupleDefinitionName: TupleDefinitions.MsiEmbeddedUI.Name,
805 tupleIdIsPrimaryKey: true
806 );
807
808 public static readonly TableDefinition MsiFileHash = new TableDefinition(
809 "MsiFileHash",
810 + TupleDefinitions.MsiFileHash,
811 new[]
812 {
813 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Primary key, foreign key into File table referencing file with this hash", modularizeType: ColumnModularizeType.Column),
@@ -808,92 +817,92 @@ namespace WixToolset.Data.WindowsInstaller
817 new ColumnDefinition("HashPart3", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Size of file in bytes (long integer)."),
818 new ColumnDefinition("HashPart4", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Size of file in bytes (long integer)."),
819 },
811 - tupleDefinitionName: TupleDefinitions.MsiFileHash.Name,
820 tupleIdIsPrimaryKey: true
821 );
822
823 public static readonly TableDefinition MsiPackageCertificate = new TableDefinition(
824 "MsiPackageCertificate",
825 + TupleDefinitions.MsiPackageCertificate,
826 new[]
827 {
828 new ColumnDefinition("PackageCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."),
829 new ColumnDefinition("DigitalCertificate_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "MsiDigitalCertificate", keyColumn: 1, description: "Foreign key to MsiDigitalCertificate table identifying the signer certificate."),
830 },
822 - tupleDefinitionName: TupleDefinitions.MsiPackageCertificate.Name,
831 tupleIdIsPrimaryKey: false
832 );
833
834 public static readonly TableDefinition MsiPatchCertificate = new TableDefinition(
835 "MsiPatchCertificate",
836 + TupleDefinitions.MsiPatchCertificate,
837 new[]
838 {
839 new ColumnDefinition("PatchCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."),
840 new ColumnDefinition("DigitalCertificate_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "MsiDigitalCertificate", keyColumn: 1, description: "Foreign key to MsiDigitalCertificate table identifying the signer certificate."),
841 },
833 - tupleDefinitionName: TupleDefinitions.MsiPatchCertificate.Name,
842 tupleIdIsPrimaryKey: false
843 );
844
845 public static readonly TableDefinition MsiPatchHeaders = new TableDefinition(
846 "MsiPatchHeaders",
847 + TupleDefinitions.MsiPatchHeaders,
848 new[]
849 {
850 new ColumnDefinition("StreamRef", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."),
851 new ColumnDefinition("Header", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Binary stream. The patch header, used for patch validation."),
852 },
844 - tupleDefinitionName: TupleDefinitions.MsiPatchHeaders.Name,
853 tupleIdIsPrimaryKey: false
854 );
855
856 public static readonly TableDefinition PatchMetadata = new TableDefinition(
857 "PatchMetadata",
858 + TupleDefinitions.PatchMetadata,
859 new[]
860 {
861 new ColumnDefinition("Company", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Identifier, description: "Primary key. The name of the company."),
862 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. The name of the property."),
863 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Non-null, non-empty value of the metadata property."),
864 },
856 - tupleDefinitionName: TupleDefinitions.PatchMetadata.Name,
865 tupleIdIsPrimaryKey: false
866 );
867
868 public static readonly TableDefinition MsiPatchMetadata = new TableDefinition(
869 "MsiPatchMetadata",
870 + TupleDefinitions.MsiPatchMetadata,
871 new[]
872 {
873 new ColumnDefinition("Company", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Unknown),
874 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
875 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
876 },
868 - tupleDefinitionName: TupleDefinitions.MsiPatchMetadata.Name,
877 tupleIdIsPrimaryKey: false
878 );
879
880 public static readonly TableDefinition MsiPatchOldAssemblyFile = new TableDefinition(
881 "MsiPatchOldAssemblyFile",
882 + TupleDefinitions.MsiPatchOldAssemblyFile,
883 new[]
884 {
885 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Foreign key into File table. Patch-only table.", modularizeType: ColumnModularizeType.Column),
886 new ColumnDefinition("Assembly_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "MsiPatchOldAssemblyName", keyColumn: 1, description: "Foreign key into MsiPatchOldAssemblyName table.", modularizeType: ColumnModularizeType.Column),
887 },
879 - tupleDefinitionName: TupleDefinitions.MsiPatchOldAssemblyFile.Name,
888 tupleIdIsPrimaryKey: false
889 );
890
891 public static readonly TableDefinition MsiPatchOldAssemblyName = new TableDefinition(
892 "MsiPatchOldAssemblyName",
893 + TupleDefinitions.MsiPatchOldAssemblyName,
894 new[]
895 {
896 new ColumnDefinition("Assembly", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique identifier for the row.", modularizeType: ColumnModularizeType.Column),
897 new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The name part of the name-value pairs for the assembly name. This represents the old name for the assembly."),
898 new ColumnDefinition("Value", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The value part of the name-value pairs for the assembly name. This represents the old name for the assembly."),
899 },
891 - tupleDefinitionName: TupleDefinitions.MsiPatchOldAssemblyName.Name,
900 tupleIdIsPrimaryKey: false
901 );
902
903 public static readonly TableDefinition PatchSequence = new TableDefinition(
904 "PatchSequence",
905 + TupleDefinitions.PatchSequence,
906 new[]
907 {
908 new ColumnDefinition("PatchFamily", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. The name of the family for the patch."),
@@ -901,12 +910,12 @@ namespace WixToolset.Data.WindowsInstaller
910 new ColumnDefinition("Sequence", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Sequence information in version (x.x.x.x) format."),
911 new ColumnDefinition("Supersede", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Indicates that this patch supersedes earlier patches."),
912 },
904 - tupleDefinitionName: TupleDefinitions.PatchSequence.Name,
913 tupleIdIsPrimaryKey: false
914 );
915
916 public static readonly TableDefinition MsiPatchSequence = new TableDefinition(
917 "MsiPatchSequence",
918 + TupleDefinitions.MsiPatchSequence,
919 new[]
920 {
921 new ColumnDefinition("PatchFamily", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -914,24 +923,24 @@ namespace WixToolset.Data.WindowsInstaller
923 new ColumnDefinition("Sequence", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
924 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown),
925 },
917 - tupleDefinitionName: TupleDefinitions.MsiPatchSequence.Name,
926 tupleIdIsPrimaryKey: false
927 );
928
929 public static readonly TableDefinition ODBCAttribute = new TableDefinition(
930 "ODBCAttribute",
931 + TupleDefinitions.ODBCAttribute,
932 new[]
933 {
934 new ColumnDefinition("Driver_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "ODBCDriver", keyColumn: 1, description: "Reference to ODBC driver in ODBCDriver table", modularizeType: ColumnModularizeType.Column),
935 new ColumnDefinition("Attribute", ColumnType.String, 40, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Name of ODBC driver attribute"),
936 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Value for ODBC driver attribute"),
937 },
929 - tupleDefinitionName: TupleDefinitions.ODBCAttribute.Name,
938 tupleIdIsPrimaryKey: false
939 );
940
941 public static readonly TableDefinition ODBCDriver = new TableDefinition(
942 "ODBCDriver",
943 + TupleDefinitions.ODBCDriver,
944 new[]
945 {
946 new ColumnDefinition("Driver", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized.internal token for driver", modularizeType: ColumnModularizeType.Column),
@@ -940,12 +949,12 @@ namespace WixToolset.Data.WindowsInstaller
949 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Reference to key driver file", modularizeType: ColumnModularizeType.Column),
950 new ColumnDefinition("File_Setup", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Optional reference to key driver setup DLL", modularizeType: ColumnModularizeType.Column),
951 },
943 - tupleDefinitionName: TupleDefinitions.ODBCDriver.Name,
952 tupleIdIsPrimaryKey: true
953 );
954
955 public static readonly TableDefinition ODBCDataSource = new TableDefinition(
956 "ODBCDataSource",
957 + TupleDefinitions.ODBCDataSource,
958 new[]
959 {
960 new ColumnDefinition("DataSource", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized.internal token for data source", modularizeType: ColumnModularizeType.Column),
@@ -954,24 +963,24 @@ namespace WixToolset.Data.WindowsInstaller
963 new ColumnDefinition("DriverDescription", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Reference to driver description, may be existing driver"),
964 new ColumnDefinition("Registration", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Registration option: 0=machine, 1=user, others t.b.d."),
965 },
957 - tupleDefinitionName: TupleDefinitions.ODBCDataSource.Name,
966 tupleIdIsPrimaryKey: true
967 );
968
969 public static readonly TableDefinition ODBCSourceAttribute = new TableDefinition(
970 "ODBCSourceAttribute",
971 + TupleDefinitions.ODBCSourceAttribute,
972 new[]
973 {
974 new ColumnDefinition("DataSource_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "ODBCDataSource", keyColumn: 1, description: "Reference to ODBC data source in ODBCDataSource table", modularizeType: ColumnModularizeType.Column),
975 new ColumnDefinition("Attribute", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Name of ODBC data source attribute"),
976 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Value for ODBC data source attribute"),
977 },
969 - tupleDefinitionName: TupleDefinitions.ODBCSourceAttribute.Name,
978 tupleIdIsPrimaryKey: false
979 );
980
981 public static readonly TableDefinition ODBCTranslator = new TableDefinition(
982 "ODBCTranslator",
983 + TupleDefinitions.ODBCTranslator,
984 new[]
985 {
986 new ColumnDefinition("Translator", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized.internal token for translator", modularizeType: ColumnModularizeType.Column),
@@ -980,12 +989,12 @@ namespace WixToolset.Data.WindowsInstaller
989 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Reference to key translator file", modularizeType: ColumnModularizeType.Column),
990 new ColumnDefinition("File_Setup", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Optional reference to key translator setup DLL", modularizeType: ColumnModularizeType.Column),
991 },
983 - tupleDefinitionName: TupleDefinitions.ODBCTranslator.Name,
992 tupleIdIsPrimaryKey: true
993 );
994
995 public static readonly TableDefinition Patch = new TableDefinition(
996 "Patch",
997 + TupleDefinitions.Patch,
998 new[]
999 {
1000 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token, foreign key to File table, must match identifier in cabinet.", modularizeType: ColumnModularizeType.Column),
@@ -995,23 +1004,23 @@ namespace WixToolset.Data.WindowsInstaller
1004 new ColumnDefinition("Header", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Binary, description: "Binary stream. The patch header, used for patch validation."),
1005 new ColumnDefinition("StreamRef_", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Identifier. Foreign key to the StreamRef column of the MsiPatchHeaders table."),
1006 },
998 - tupleDefinitionName: TupleDefinitions.Patch.Name,
1007 tupleIdIsPrimaryKey: false
1008 );
1009
1010 public static readonly TableDefinition PatchPackage = new TableDefinition(
1011 "PatchPackage",
1012 + TupleDefinitions.PatchPackage,
1013 new[]
1014 {
1015 new ColumnDefinition("PatchId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "A unique string GUID representing this patch."),
1016 new ColumnDefinition("Media_", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Foreign key to DiskId column of Media table. Indicates the disk containing the patch package."),
1017 },
1009 - tupleDefinitionName: TupleDefinitions.PatchPackage.Name,
1018 tupleIdIsPrimaryKey: false
1019 );
1020
1021 public static readonly TableDefinition PublishComponent = new TableDefinition(
1022 "PublishComponent",
1023 + TupleDefinitions.PublishComponent,
1024 new[]
1025 {
1026 new ColumnDefinition("ComponentId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "A string GUID that represents the component id that will be requested by the alien product."),
@@ -1020,12 +1029,12 @@ namespace WixToolset.Data.WindowsInstaller
1029 new ColumnDefinition("AppData", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "This is localisable Application specific data that can be associated with a Qualified Component."),
1030 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into the Feature table."),
1031 },
1023 - tupleDefinitionName: TupleDefinitions.PublishComponent.Name,
1032 tupleIdIsPrimaryKey: false
1033 );
1034
1035 public static readonly TableDefinition RadioButton = new TableDefinition(
1036 "RadioButton",
1037 + TupleDefinitions.RadioButton,
1038 new[]
1039 {
1040 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.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.", modularizeType: ColumnModularizeType.Column),
@@ -1038,12 +1047,12 @@ namespace WixToolset.Data.WindowsInstaller
1047 new ColumnDefinition("Text", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The visible title to be assigned to the radio button."),
1048 new ColumnDefinition("Help", ColumnType.Localized, 50, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The help strings used with the button. The text is optional."),
1049 },
1041 - tupleDefinitionName: TupleDefinitions.RadioButton.Name,
1050 tupleIdIsPrimaryKey: false
1051 );
1052
1053 public static readonly TableDefinition Registry = new TableDefinition(
1054 "Registry",
1055 + TupleDefinitions.Registry,
1056 new[]
1057 {
1058 new ColumnDefinition("Registry", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -1053,12 +1062,12 @@ namespace WixToolset.Data.WindowsInstaller
1062 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value.", modularizeType: ColumnModularizeType.Property),
1063 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table referencing component that controls the installing of the registry value.", modularizeType: ColumnModularizeType.Column),
1064 },
1056 - tupleDefinitionName: TupleDefinitions.Registry.Name,
1065 tupleIdIsPrimaryKey: true
1066 );
1067
1068 public static readonly TableDefinition RegLocator = new TableDefinition(
1069 "RegLocator",
1070 + TupleDefinitions.RegLocator,
1071 new[]
1072 {
1073 new ColumnDefinition("Signature_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.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.", modularizeType: ColumnModularizeType.Column),
@@ -1067,12 +1076,12 @@ namespace WixToolset.Data.WindowsInstaller
1076 new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value name.", modularizeType: ColumnModularizeType.Property, forceLocalizable: true),
1077 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, 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."),
1078 },
1070 - tupleDefinitionName: TupleDefinitions.RegLocator.Name,
1079 tupleIdIsPrimaryKey: true
1080 );
1081
1082 public static readonly TableDefinition RemoveFile = new TableDefinition(
1083 "RemoveFile",
1084 + TupleDefinitions.RemoveFile,
1085 new[]
1086 {
1087 new ColumnDefinition("FileKey", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular file entry", modularizeType: ColumnModularizeType.Column),
@@ -1081,12 +1090,12 @@ namespace WixToolset.Data.WindowsInstaller
1090 new ColumnDefinition("DirProperty", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.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.", modularizeType: ColumnModularizeType.Column),
1091 new ColumnDefinition("InstallMode", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "1;2;3", description: "Installation option, one of iimEnum."),
1092 },
1084 - tupleDefinitionName: TupleDefinitions.RemoveFile.Name,
1093 tupleIdIsPrimaryKey: true
1094 );
1095
1096 public static readonly TableDefinition RemoveIniFile = new TableDefinition(
1097 "RemoveIniFile",
1098 + null,
1099 new[]
1100 {
1101 new ColumnDefinition("RemoveIniFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -1103,6 +1112,7 @@ namespace WixToolset.Data.WindowsInstaller
1112
1113 public static readonly TableDefinition RemoveRegistry = new TableDefinition(
1114 "RemoveRegistry",
1115 + TupleDefinitions.RemoveRegistry,
1116 new[]
1117 {
1118 new ColumnDefinition("RemoveRegistry", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -1111,12 +1121,12 @@ namespace WixToolset.Data.WindowsInstaller
1121 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value name.", modularizeType: ColumnModularizeType.Property),
1122 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table referencing component that controls the deletion of the registry value.", modularizeType: ColumnModularizeType.Column),
1123 },
1114 - tupleDefinitionName: TupleDefinitions.RemoveRegistry.Name,
1124 tupleIdIsPrimaryKey: true
1125 );
1126
1127 public static readonly TableDefinition ReserveCost = new TableDefinition(
1128 "ReserveCost",
1129 + TupleDefinitions.ReserveCost,
1130 new[]
1131 {
1132 new ColumnDefinition("ReserveKey", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key that uniquely identifies a particular ReserveCost record", modularizeType: ColumnModularizeType.Column),
@@ -1125,12 +1135,12 @@ namespace WixToolset.Data.WindowsInstaller
1135 new ColumnDefinition("ReserveLocal", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Disk space to reserve if linked component is installed locally."),
1136 new ColumnDefinition("ReserveSource", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Disk space to reserve if linked component is installed to run from the source location."),
1137 },
1128 - tupleDefinitionName: TupleDefinitions.ReserveCost.Name,
1138 tupleIdIsPrimaryKey: true
1139 );
1140
1141 public static readonly TableDefinition SelfReg = new TableDefinition(
1142 "SelfReg",
1143 + null,
1144 new[]
1145 {
1146 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Foreign key into the File table denoting the module that needs to be registered.", modularizeType: ColumnModularizeType.Column),
@@ -1141,6 +1151,7 @@ namespace WixToolset.Data.WindowsInstaller
1151
1152 public static readonly TableDefinition ServiceControl = new TableDefinition(
1153 "ServiceControl",
1154 + TupleDefinitions.ServiceControl,
1155 new[]
1156 {
1157 new ColumnDefinition("ServiceControl", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -1150,12 +1161,12 @@ namespace WixToolset.Data.WindowsInstaller
1161 new ColumnDefinition("Wait", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Boolean for whether to wait for the service to fully start"),
1162 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Required foreign key into the Component Table that controls the startup of the service", modularizeType: ColumnModularizeType.Column),
1163 },
1153 - tupleDefinitionName: TupleDefinitions.ServiceControl.Name,
1164 tupleIdIsPrimaryKey: true
1165 );
1166
1167 public static readonly TableDefinition ServiceInstall = new TableDefinition(
1168 "ServiceInstall",
1169 + TupleDefinitions.ServiceInstall,
1170 new[]
1171 {
1172 new ColumnDefinition("ServiceInstall", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -1172,12 +1183,12 @@ namespace WixToolset.Data.WindowsInstaller
1183 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Required foreign key into the Component Table that controls the startup of the service", modularizeType: ColumnModularizeType.Column),
1184 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Description of service.", modularizeType: ColumnModularizeType.Property),
1185 },
1175 - tupleDefinitionName: TupleDefinitions.ServiceInstall.Name,
1186 tupleIdIsPrimaryKey: true
1187 );
1188
1189 public static readonly TableDefinition MsiServiceConfig = new TableDefinition(
1190 "MsiServiceConfig",
1191 + TupleDefinitions.MsiServiceConfig,
1192 new[]
1193 {
1194 new ColumnDefinition("MsiServiceConfig", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -1187,12 +1198,12 @@ namespace WixToolset.Data.WindowsInstaller
1198 new ColumnDefinition("Argument", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Argument(s) for service configuration. Value depends on the content of the ConfigType field"),
1199 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Required foreign key into the Component Table that controls the configuration of the service", modularizeType: ColumnModularizeType.Column),
1200 },
1190 - tupleDefinitionName: TupleDefinitions.MsiServiceConfig.Name,
1201 tupleIdIsPrimaryKey: true
1202 );
1203
1204 public static readonly TableDefinition MsiServiceConfigFailureActions = new TableDefinition(
1205 "MsiServiceConfigFailureActions",
1206 + TupleDefinitions.MsiServiceConfigFailureActions,
1207 new[]
1208 {
1209 new ColumnDefinition("MsiServiceConfigFailureActions", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column),
@@ -1205,12 +1216,12 @@ namespace WixToolset.Data.WindowsInstaller
1216 new ColumnDefinition("DelayActions", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "A list of delays (time in milli-seconds), separated by [~] delmiters, to wait before taking the corresponding Action. Terminate with [~][~]"),
1217 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Required foreign key into the Component Table that controls the configuration of failure actions for the service", modularizeType: ColumnModularizeType.Column),
1218 },
1208 - tupleDefinitionName: TupleDefinitions.MsiServiceConfigFailureActions.Name,
1219 tupleIdIsPrimaryKey: true
1220 );
1221
1222 public static readonly TableDefinition Shortcut = new TableDefinition(
1223 "Shortcut",
1224 + TupleDefinitions.Shortcut,
1225 new[]
1226 {
1227 new ColumnDefinition("Shortcut", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
@@ -1230,12 +1241,12 @@ namespace WixToolset.Data.WindowsInstaller
1241 new ColumnDefinition("DescriptionResourceDLL", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The Formatted string providing the full path to the language neutral file containing the MUI Manifest.", modularizeType: ColumnModularizeType.Property),
1242 new ColumnDefinition("DescriptionResourceId", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The description name index for the shortcut. This must be a non-negative number."),
1243 },
1233 - tupleDefinitionName: TupleDefinitions.Shortcut.Name,
1244 tupleIdIsPrimaryKey: true
1245 );
1246
1247 public static readonly TableDefinition MsiShortcutProperty = new TableDefinition(
1248 "MsiShortcutProperty",
1249 + TupleDefinitions.MsiShortcutProperty,
1250 new[]
1251 {
1252 new ColumnDefinition("MsiShortcutProperty", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column),
@@ -1243,12 +1254,12 @@ namespace WixToolset.Data.WindowsInstaller
1254 new ColumnDefinition("PropertyKey", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Canonical string representation of the Property Key being set", modularizeType: ColumnModularizeType.Property),
1255 new ColumnDefinition("PropVariantValue", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "String representation of the value in the property", modularizeType: ColumnModularizeType.Property),
1256 },
1246 - tupleDefinitionName: TupleDefinitions.MsiShortcutProperty.Name,
1257 tupleIdIsPrimaryKey: true
1258 );
1259
1260 public static readonly TableDefinition Signature = new TableDefinition(
1261 "Signature",
1262 + TupleDefinitions.Signature,
1263 new[]
1264 {
1265 new ColumnDefinition("Signature", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The table key. The Signature represents a unique file signature.", modularizeType: ColumnModularizeType.Column),
@@ -1261,12 +1272,12 @@ namespace WixToolset.Data.WindowsInstaller
1272 new ColumnDefinition("MaxDate", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "The maximum creation date of the file."),
1273 new ColumnDefinition("Languages", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Language, description: "The languages supported by the file."),
1274 },
1264 - tupleDefinitionName: TupleDefinitions.Signature.Name,
1275 tupleIdIsPrimaryKey: true
1276 );
1277
1278 public static readonly TableDefinition TextStyle = new TableDefinition(
1279 "TextStyle",
1280 + TupleDefinitions.TextStyle,
1281 new[]
1282 {
1283 new ColumnDefinition("TextStyle", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change."),
@@ -1275,12 +1286,12 @@ namespace WixToolset.Data.WindowsInstaller
1286 new ColumnDefinition("Color", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, 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)."),
1287 new ColumnDefinition("StyleBits", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 15, description: "A combination of style bits."),
1288 },
1278 - tupleDefinitionName: TupleDefinitions.TextStyle.Name,
1289 tupleIdIsPrimaryKey: true
1290 );
1291
1292 public static readonly TableDefinition TypeLib = new TableDefinition(
1293 "TypeLib",
1294 + TupleDefinitions.TypeLib,
1295 new[]
1296 {
1297 new ColumnDefinition("LibID", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The GUID that represents the library."),
@@ -1292,23 +1303,23 @@ namespace WixToolset.Data.WindowsInstaller
1303 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational."),
1304 new ColumnDefinition("Cost", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "The cost associated with the registration of the typelib. This column is currently optional."),
1305 },
1295 - tupleDefinitionName: TupleDefinitions.TypeLib.Name,
1306 tupleIdIsPrimaryKey: false
1307 );
1308
1309 public static readonly TableDefinition UIText = new TableDefinition(
1310 "UIText",
1311 + TupleDefinitions.UIText,
1312 new[]
1313 {
1314 new ColumnDefinition("Key", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique key that identifies the particular string."),
1315 new ColumnDefinition("Text", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The localized version of the string."),
1316 },
1306 - tupleDefinitionName: TupleDefinitions.UIText.Name,
1317 tupleIdIsPrimaryKey: true
1318 );
1319
1320 public static readonly TableDefinition Upgrade = new TableDefinition(
1321 "Upgrade",
1322 + TupleDefinitions.Upgrade,
1323 new[]
1324 {
1325 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The UpgradeCode GUID belonging to the products in this set."),
@@ -1319,12 +1330,12 @@ namespace WixToolset.Data.WindowsInstaller
1330 new ColumnDefinition("Remove", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The list of features to remove when uninstalling a product from this set. The default is \"ALL\"."),
1331 new ColumnDefinition("ActionProperty", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.UpperCase, description: "The property to set when a product in this set is found."),
1332 },
1322 - tupleDefinitionName: TupleDefinitions.Upgrade.Name,
1333 tupleIdIsPrimaryKey: false
1334 );
1335
1336 public static readonly TableDefinition Verb = new TableDefinition(
1337 "Verb",
1338 + TupleDefinitions.Verb,
1339 new[]
1340 {
1341 new ColumnDefinition("Extension_", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "Extension", keyColumn: 1, description: "The extension associated with the table row."),
@@ -1333,12 +1344,12 @@ namespace WixToolset.Data.WindowsInstaller
1344 new ColumnDefinition("Command", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The command text.", modularizeType: ColumnModularizeType.Property),
1345 new ColumnDefinition("Argument", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Optional value for the command arguments.", modularizeType: ColumnModularizeType.Property),
1346 },
1336 - tupleDefinitionName: TupleDefinitions.Verb.Name,
1347 tupleIdIsPrimaryKey: false
1348 );
1349
1350 public static readonly TableDefinition ModuleAdminExecuteSequence = new TableDefinition(
1351 "ModuleAdminExecuteSequence",
1352 + null,
1353 new[]
1354 {
1355 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
@@ -1352,6 +1363,7 @@ namespace WixToolset.Data.WindowsInstaller
1363
1364 public static readonly TableDefinition ModuleAdminUISequence = new TableDefinition(
1365 "ModuleAdminUISequence",
1366 + null,
1367 new[]
1368 {
1369 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
@@ -1365,6 +1377,7 @@ namespace WixToolset.Data.WindowsInstaller
1377
1378 public static readonly TableDefinition ModuleAdvtExecuteSequence = new TableDefinition(
1379 "ModuleAdvtExecuteSequence",
1380 + null,
1381 new[]
1382 {
1383 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
@@ -1378,6 +1391,7 @@ namespace WixToolset.Data.WindowsInstaller
1391
1392 public static readonly TableDefinition ModuleAdvtUISequence = new TableDefinition(
1393 "ModuleAdvtUISequence",
1394 + null,
1395 new[]
1396 {
1397 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
@@ -1391,30 +1405,31 @@ namespace WixToolset.Data.WindowsInstaller
1405
1406 public static readonly TableDefinition ModuleComponents = new TableDefinition(
1407 "ModuleComponents",
1408 + TupleDefinitions.ModuleComponents,
1409 new[]
1410 {
1411 new ColumnDefinition("Component", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Component contained in the module.", modularizeType: ColumnModularizeType.Column),
1412 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "ModuleSignature", keyColumn: 1, description: "Module containing the component.", modularizeType: ColumnModularizeType.Column),
1413 new ColumnDefinition("Language", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, keyTable: "ModuleSignature", keyColumn: 2, description: "Default language ID for module (may be changed by transform).", forceLocalizable: true),
1414 },
1400 - tupleDefinitionName: TupleDefinitions.ModuleComponents.Name,
1415 tupleIdIsPrimaryKey: false
1416 );
1417
1418 public static readonly TableDefinition ModuleSignature = new TableDefinition(
1419 "ModuleSignature",
1420 + TupleDefinitions.ModuleSignature,
1421 new[]
1422 {
1423 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Module identifier (String.GUID).", modularizeType: ColumnModularizeType.Column),
1424 new ColumnDefinition("Language", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Default decimal language of module.", forceLocalizable: true),
1425 new ColumnDefinition("Version", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Version, description: "Version of the module."),
1426 },
1412 - tupleDefinitionName: TupleDefinitions.ModuleSignature.Name,
1427 tupleIdIsPrimaryKey: false
1428 );
1429
1430 public static readonly TableDefinition ModuleConfiguration = new TableDefinition(
1431 "ModuleConfiguration",
1432 + TupleDefinitions.ModuleConfiguration,
1433 new[]
1434 {
1435 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique identifier for this row."),
@@ -1428,12 +1443,12 @@ namespace WixToolset.Data.WindowsInstaller
1443 new ColumnDefinition("HelpLocation", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Filename or namespace of the context-sensitive help for this item."),
1444 new ColumnDefinition("HelpKeyword", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Keyword index into the HelpLocation for this item."),
1445 },
1431 - tupleDefinitionName: TupleDefinitions.ModuleConfiguration.Name,
1446 tupleIdIsPrimaryKey: true
1447 );
1448
1449 public static readonly TableDefinition ModuleDependency = new TableDefinition(
1450 "ModuleDependency",
1451 + TupleDefinitions.ModuleDependency,
1452 new[]
1453 {
1454 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "ModuleSignature", keyColumn: 1, description: "Module requiring the dependency.", modularizeType: ColumnModularizeType.Column),
@@ -1442,12 +1457,12 @@ namespace WixToolset.Data.WindowsInstaller
1457 new ColumnDefinition("RequiredLanguage", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "LanguageID of the required module.", forceLocalizable: true),
1458 new ColumnDefinition("RequiredVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Version of the required version."),
1459 },
1445 - tupleDefinitionName: TupleDefinitions.ModuleDependency.Name,
1460 tupleIdIsPrimaryKey: false
1461 );
1462
1463 public static readonly TableDefinition ModuleExclusion = new TableDefinition(
1464 "ModuleExclusion",
1465 + TupleDefinitions.ModuleExclusion,
1466 new[]
1467 {
1468 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "ModuleSignature", keyColumn: 1, description: "String.GUID of module with exclusion requirement.", modularizeType: ColumnModularizeType.Column),
@@ -1457,22 +1472,22 @@ namespace WixToolset.Data.WindowsInstaller
1472 new ColumnDefinition("ExcludedMinVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Minimum version of excluded module."),
1473 new ColumnDefinition("ExcludedMaxVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Maximum version of excluded module."),
1474 },
1460 - tupleDefinitionName: TupleDefinitions.ModuleExclusion.Name,
1475 tupleIdIsPrimaryKey: false
1476 );
1477
1478 public static readonly TableDefinition ModuleIgnoreTable = new TableDefinition(
1479 "ModuleIgnoreTable",
1480 + TupleDefinitions.ModuleIgnoreTable,
1481 new[]
1482 {
1483 new ColumnDefinition("Table", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Table name to ignore during merge operation."),
1484 },
1470 - tupleDefinitionName: TupleDefinitions.ModuleIgnoreTable.Name,
1485 tupleIdIsPrimaryKey: true
1486 );
1487
1488 public static readonly TableDefinition ModuleInstallExecuteSequence = new TableDefinition(
1489 "ModuleInstallExecuteSequence",
1490 + null,
1491 new[]
1492 {
1493 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
@@ -1486,6 +1501,7 @@ namespace WixToolset.Data.WindowsInstaller
1501
1502 public static readonly TableDefinition ModuleInstallUISequence = new TableDefinition(
1503 "ModuleInstallUISequence",
1504 + null,
1505 new[]
1506 {
1507 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
@@ -1499,6 +1515,7 @@ namespace WixToolset.Data.WindowsInstaller
1515
1516 public static readonly TableDefinition ModuleSubstitution = new TableDefinition(
1517 "ModuleSubstitution",
1518 + TupleDefinitions.ModuleSubstitution,
1519 new[]
1520 {
1521 new ColumnDefinition("Table", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Table containing the data to be modified."),
@@ -1506,23 +1523,23 @@ namespace WixToolset.Data.WindowsInstaller
1523 new ColumnDefinition("Column", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Column containing the data to be modified."),
1524 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Template for modification data."),
1525 },
1509 - tupleDefinitionName: TupleDefinitions.ModuleSubstitution.Name,
1526 tupleIdIsPrimaryKey: false
1527 );
1528
1529 public static readonly TableDefinition Properties = new TableDefinition(
1530 "Properties",
1531 + TupleDefinitions.Properties,
1532 new[]
1533 {
1534 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key, non-localized token"),
1535 new ColumnDefinition("Value", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Value of the property"),
1536 },
1520 - tupleDefinitionName: TupleDefinitions.Properties.Name,
1537 tupleIdIsPrimaryKey: false
1538 );
1539
1540 public static readonly TableDefinition ImageFamilies = new TableDefinition(
1541 "ImageFamilies",
1542 + TupleDefinitions.ImageFamilies,
1543 new[]
1544 {
1545 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"),
@@ -1532,12 +1549,12 @@ namespace WixToolset.Data.WindowsInstaller
1549 new ColumnDefinition("DiskPrompt", ColumnType.String, 128, primaryKey: false, nullable: true, ColumnCategory.Text, forceLocalizable: true),
1550 new ColumnDefinition("VolumeLabel", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Text),
1551 },
1535 - tupleDefinitionName: TupleDefinitions.ImageFamilies.Name,
1552 tupleIdIsPrimaryKey: false
1553 );
1554
1555 public static readonly TableDefinition UpgradedImages = new TableDefinition(
1556 "UpgradedImages",
1557 + TupleDefinitions.UpgradedImages,
1558 new[]
1559 {
1560 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"),
@@ -1546,23 +1563,23 @@ namespace WixToolset.Data.WindowsInstaller
1563 new ColumnDefinition("SymbolPaths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1564 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: false, nullable: false, ColumnCategory.Text, keyTable: "ImageFamilies", keyColumn: 1, description: "Foreign key, Family to which this image belongs"),
1565 },
1549 - tupleDefinitionName: TupleDefinitions.UpgradedImages.Name,
1566 tupleIdIsPrimaryKey: false
1567 );
1568
1569 public static readonly TableDefinition UpgradedFilesToIgnore = new TableDefinition(
1570 "UpgradedFilesToIgnore",
1571 + TupleDefinitions.UpgradedFilesToIgnore,
1572 new[]
1573 {
1574 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "UpgradedImages", keyColumn: 1, description: "Foreign key, Upgraded image"),
1575 new ColumnDefinition("FTK", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "File", keyColumn: 1, description: "Foreign key, File to ignore", modularizeType: ColumnModularizeType.Column),
1576 },
1560 - tupleDefinitionName: TupleDefinitions.UpgradedFilesToIgnore.Name,
1577 tupleIdIsPrimaryKey: false
1578 );
1579
1564 - public static readonly TableDefinition UpgradedFiles_OptionalData = new TableDefinition(
1580 + public static readonly TableDefinition UpgradedFilesOptionalData = new TableDefinition(
1581 "UpgradedFiles_OptionalData",
1582 + TupleDefinitions.UpgradedFilesOptionalData,
1583 new[]
1584 {
1585 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "UpgradedImages", keyColumn: 1, description: "Foreign key, Upgraded image"),
@@ -1571,12 +1588,12 @@ namespace WixToolset.Data.WindowsInstaller
1588 new ColumnDefinition("AllowIgnoreOnPatchError", ColumnType.Number, 0, primaryKey: false, nullable: true, ColumnCategory.Integer),
1589 new ColumnDefinition("IncludeWholeFile", ColumnType.Number, 0, primaryKey: false, nullable: true, ColumnCategory.Integer),
1590 },
1574 - tupleDefinitionName: TupleDefinitions.UpgradedFilesOptionalData.Name,
1591 tupleIdIsPrimaryKey: false
1592 );
1593
1594 public static readonly TableDefinition TargetImages = new TableDefinition(
1595 "TargetImages",
1596 + TupleDefinitions.TargetImages,
1597 new[]
1598 {
1599 new ColumnDefinition("Target", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text),
@@ -1587,12 +1604,12 @@ namespace WixToolset.Data.WindowsInstaller
1604 new ColumnDefinition("ProductValidateFlags", ColumnType.String, 16, primaryKey: false, nullable: true, ColumnCategory.Text),
1605 new ColumnDefinition("IgnoreMissingSrcFiles", ColumnType.Number, 0, primaryKey: false, nullable: false, ColumnCategory.Integer),
1606 },
1590 - tupleDefinitionName: TupleDefinitions.TargetImages.Name,
1607 tupleIdIsPrimaryKey: false
1608 );
1609
1594 - public static readonly TableDefinition TargetFiles_OptionalData = new TableDefinition(
1610 + public static readonly TableDefinition TargetFilesOptionalData = new TableDefinition(
1611 "TargetFiles_OptionalData",
1612 + TupleDefinitions.TargetFilesOptionalData,
1613 new[]
1614 {
1615 new ColumnDefinition("Target", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "TargetImages", keyColumn: 1, description: "Foreign key, Target image"),
@@ -1602,12 +1619,12 @@ namespace WixToolset.Data.WindowsInstaller
1619 new ColumnDefinition("IgnoreLengths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1620 new ColumnDefinition("RetainOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1621 },
1605 - tupleDefinitionName: TupleDefinitions.TargetFilesOptionalData.Name,
1622 tupleIdIsPrimaryKey: false
1623 );
1624
1625 public static readonly TableDefinition FamilyFileRanges = new TableDefinition(
1626 "FamilyFileRanges",
1627 + TupleDefinitions.FamilyFileRanges,
1628 new[]
1629 {
1630 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "ImageFamilies", keyColumn: 1, description: "Foreign key, Family"),
@@ -1615,12 +1632,12 @@ namespace WixToolset.Data.WindowsInstaller
1632 new ColumnDefinition("RetainOffsets", ColumnType.String, 128, primaryKey: false, nullable: false, ColumnCategory.Text),
1633 new ColumnDefinition("RetainLengths", ColumnType.String, 128, primaryKey: false, nullable: false, ColumnCategory.Text),
1634 },
1618 - tupleDefinitionName: TupleDefinitions.FamilyFileRanges.Name,
1635 tupleIdIsPrimaryKey: false
1636 );
1637
1638 public static readonly TableDefinition ExternalFiles = new TableDefinition(
1639 "ExternalFiles",
1640 + TupleDefinitions.ExternalFiles,
1641 new[]
1642 {
1643 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "ImageFamilies", keyColumn: 1, description: "Foreign key, Family"),
@@ -1632,12 +1649,12 @@ namespace WixToolset.Data.WindowsInstaller
1649 new ColumnDefinition("RetainOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1650 new ColumnDefinition("Order", ColumnType.Number, 0, primaryKey: false, nullable: false, ColumnCategory.Integer),
1651 },
1635 - tupleDefinitionName: TupleDefinitions.ExternalFiles.Name,
1652 tupleIdIsPrimaryKey: false
1653 );
1654
1655 public static readonly TableDefinition WixAction = new TableDefinition(
1656 "WixAction",
1657 + TupleDefinitions.WixAction,
1658 new[]
1659 {
1660 new ColumnDefinition("SequenceTable", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1649,12 +1666,12 @@ namespace WixToolset.Data.WindowsInstaller
1666 new ColumnDefinition("Overridable", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1667 },
1668 unreal: true,
1652 - tupleDefinitionName: TupleDefinitions.WixAction.Name,
1669 tupleIdIsPrimaryKey: false
1670 );
1671
1672 public static readonly TableDefinition WixBBControl = new TableDefinition(
1673 "WixBBControl",
1674 + null,
1675 new[]
1676 {
1677 new ColumnDefinition("Billboard_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
@@ -1667,6 +1684,7 @@ namespace WixToolset.Data.WindowsInstaller
1684
1685 public static readonly TableDefinition WixComplexReference = new TableDefinition(
1686 "WixComplexReference",
1687 + TupleDefinitions.WixComplexReference,
1688 new[]
1689 {
1690 new ColumnDefinition("Parent", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown, forceLocalizable: true),
@@ -1677,23 +1695,23 @@ namespace WixToolset.Data.WindowsInstaller
1695 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1696 },
1697 unreal: true,
1680 - tupleDefinitionName: TupleDefinitions.WixComplexReference.Name,
1698 tupleIdIsPrimaryKey: false
1699 );
1700
1701 public static readonly TableDefinition WixComponentGroup = new TableDefinition(
1702 "WixComponentGroup",
1703 + TupleDefinitions.WixComponentGroup,
1704 new[]
1705 {
1706 new ColumnDefinition("WixComponentGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1707 },
1708 unreal: true,
1691 - tupleDefinitionName: TupleDefinitions.WixComponentGroup.Name,
1709 tupleIdIsPrimaryKey: false
1710 );
1711
1712 public static readonly TableDefinition WixControl = new TableDefinition(
1713 "WixControl",
1714 + null,
1715 new[]
1716 {
1717 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
@@ -1706,18 +1724,19 @@ namespace WixToolset.Data.WindowsInstaller
1724
1725 public static readonly TableDefinition WixCustomRow = new TableDefinition(
1726 "WixCustomRow",
1727 + TupleDefinitions.WixCustomRow,
1728 new[]
1729 {
1730 new ColumnDefinition("Table", ColumnType.String, 62, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1731 new ColumnDefinition("FieldData", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1732 },
1733 unreal: true,
1715 - tupleDefinitionName: TupleDefinitions.WixCustomRow.Name,
1734 tupleIdIsPrimaryKey: false
1735 );
1736
1737 public static readonly TableDefinition WixCustomTable = new TableDefinition(
1738 "WixCustomTable",
1739 + TupleDefinitions.WixCustomTable,
1740 new[]
1741 {
1742 new ColumnDefinition("Table", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1736,12 +1755,12 @@ namespace WixToolset.Data.WindowsInstaller
1755 new ColumnDefinition("BootstrapperApplicationData", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1756 },
1757 unreal: true,
1739 - tupleDefinitionName: TupleDefinitions.WixCustomTable.Name,
1758 tupleIdIsPrimaryKey: true
1759 );
1760
1761 public static readonly TableDefinition WixDirectory = new TableDefinition(
1762 "WixDirectory",
1763 + null,
1764 new[]
1765 {
1766 new ColumnDefinition("Directory_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
@@ -1753,39 +1772,40 @@ namespace WixToolset.Data.WindowsInstaller
1772
1773 public static readonly TableDefinition WixEnsureTable = new TableDefinition(
1774 "WixEnsureTable",
1775 + TupleDefinitions.WixEnsureTable,
1776 new[]
1777 {
1778 new ColumnDefinition("Table", ColumnType.String, 31, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1779 },
1780 unreal: true,
1761 - tupleDefinitionName: TupleDefinitions.WixEnsureTable.Name,
1781 tupleIdIsPrimaryKey: false
1782 );
1783
1784 public static readonly TableDefinition WixFeatureGroup = new TableDefinition(
1785 "WixFeatureGroup",
1786 + TupleDefinitions.WixFeatureGroup,
1787 new[]
1788 {
1789 new ColumnDefinition("WixFeatureGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1790 },
1791 unreal: true,
1772 - tupleDefinitionName: TupleDefinitions.WixFeatureGroup.Name,
1792 tupleIdIsPrimaryKey: true
1793 );
1794
1795 public static readonly TableDefinition WixPatchFamilyGroup = new TableDefinition(
1796 "WixPatchFamilyGroup",
1797 + TupleDefinitions.WixPatchFamilyGroup,
1798 new[]
1799 {
1800 new ColumnDefinition("WixPatchFamilyGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1801 },
1802 unreal: true,
1783 - tupleDefinitionName: TupleDefinitions.WixPatchFamilyGroup.Name,
1803 tupleIdIsPrimaryKey: false
1804 );
1805
1806 public static readonly TableDefinition WixGroup = new TableDefinition(
1807 "WixGroup",
1808 + TupleDefinitions.WixGroup,
1809 new[]
1810 {
1811 new ColumnDefinition("ParentId", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular record in a parent table."),
@@ -1794,24 +1814,24 @@ namespace WixToolset.Data.WindowsInstaller
1814 new ColumnDefinition("ChildType", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Primary key used to identify a particular child type in a child table."),
1815 },
1816 unreal: true,
1797 - tupleDefinitionName: TupleDefinitions.WixGroup.Name,
1817 tupleIdIsPrimaryKey: false
1818 );
1819
1820 public static readonly TableDefinition WixFeatureModules = new TableDefinition(
1821 "WixFeatureModules",
1822 + TupleDefinitions.WixFeatureModules,
1823 new[]
1824 {
1825 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1826 new ColumnDefinition("WixMerge_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1827 },
1828 unreal: true,
1809 - tupleDefinitionName: TupleDefinitions.WixFeatureModules.Name,
1829 tupleIdIsPrimaryKey: false
1830 );
1831
1832 public static readonly TableDefinition WixFile = new TableDefinition(
1833 "WixFile",
1834 + null,
1835 new[]
1836 {
1837 new ColumnDefinition("File_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
@@ -1833,17 +1853,18 @@ namespace WixToolset.Data.WindowsInstaller
1853
1854 public static readonly TableDefinition WixBindUpdatedFiles = new TableDefinition(
1855 "WixBindUpdatedFiles",
1856 + TupleDefinitions.WixBindUpdatedFiles,
1857 new[]
1858 {
1859 new ColumnDefinition("File_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1860 },
1861 unreal: true,
1841 - tupleDefinitionName: TupleDefinitions.WixBindUpdatedFiles.Name,
1862 tupleIdIsPrimaryKey: false
1863 );
1864
1865 public static readonly TableDefinition WixBuildInfo = new TableDefinition(
1866 "WixBuildInfo",
1867 + TupleDefinitions.WixBuildInfo,
1868 new[]
1869 {
1870 new ColumnDefinition("WixVersion", ColumnType.String, 20, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Version number of WiX."),
@@ -1852,34 +1873,34 @@ namespace WixToolset.Data.WindowsInstaller
1873 new ColumnDefinition("WixPdbFile", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Path to .wixpdb file, if supplied."),
1874 },
1875 unreal: true,
1855 - tupleDefinitionName: TupleDefinitions.WixBuildInfo.Name,
1876 tupleIdIsPrimaryKey: false
1877 );
1878
1879 public static readonly TableDefinition WixFragment = new TableDefinition(
1880 "WixFragment",
1881 + TupleDefinitions.WixFragment,
1882 new[]
1883 {
1884 new ColumnDefinition("WixFragment", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1885 },
1886 unreal: true,
1866 - tupleDefinitionName: TupleDefinitions.WixFragment.Name,
1887 tupleIdIsPrimaryKey: true
1888 );
1889
1890 public static readonly TableDefinition WixInstanceComponent = new TableDefinition(
1891 "WixInstanceComponent",
1892 + TupleDefinitions.WixInstanceComponent,
1893 new[]
1894 {
1895 new ColumnDefinition("Component_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
1896 },
1897 unreal: true,
1877 - tupleDefinitionName: TupleDefinitions.WixInstanceComponent.Name,
1898 tupleIdIsPrimaryKey: false
1899 );
1900
1901 public static readonly TableDefinition WixInstanceTransforms = new TableDefinition(
1902 "WixInstanceTransforms",
1903 + TupleDefinitions.WixInstanceTransforms,
1904 new[]
1905 {
1906 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1889,12 +1910,12 @@ namespace WixToolset.Data.WindowsInstaller
1910 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid),
1911 },
1912 unreal: true,
1892 - tupleDefinitionName: TupleDefinitions.WixInstanceTransforms.Name,
1913 tupleIdIsPrimaryKey: true
1914 );
1915
1916 public static readonly TableDefinition WixMedia = new TableDefinition(
1917 "WixMedia",
1918 + null,
1919 new[]
1920 {
1921 new ColumnDefinition("DiskId_", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1907,6 +1928,7 @@ namespace WixToolset.Data.WindowsInstaller
1928
1929 public static readonly TableDefinition WixMediaTemplate = new TableDefinition(
1930 "WixMediaTemplate",
1931 + TupleDefinitions.WixMediaTemplate,
1932 new[]
1933 {
1934 new ColumnDefinition("CabinetTemplate", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
@@ -1917,12 +1939,12 @@ namespace WixToolset.Data.WindowsInstaller
1939 new ColumnDefinition("MaximumCabinetSizeForLargeFileSplitting", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1940 },
1941 unreal: true,
1920 - tupleDefinitionName: TupleDefinitions.WixMediaTemplate.Name,
1942 tupleIdIsPrimaryKey: false
1943 );
1944
1945 public static readonly TableDefinition WixMerge = new TableDefinition(
1946 "WixMerge",
1947 + TupleDefinitions.WixMerge,
1948 new[]
1949 {
1950 new ColumnDefinition("WixMerge", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1935,12 +1957,12 @@ namespace WixToolset.Data.WindowsInstaller
1957 new ColumnDefinition("Feature_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1958 },
1959 unreal: true,
1938 - tupleDefinitionName: TupleDefinitions.WixMerge.Name,
1960 tupleIdIsPrimaryKey: true
1961 );
1962
1963 public static readonly TableDefinition WixOrdering = new TableDefinition(
1964 "WixOrdering",
1965 + TupleDefinitions.WixOrdering,
1966 new[]
1967 {
1968 new ColumnDefinition("ItemType", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Primary key used to identify the item in another table."),
@@ -1949,12 +1971,12 @@ namespace WixToolset.Data.WindowsInstaller
1971 new ColumnDefinition("DependsOnId_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Reference to an entry in another table."),
1972 },
1973 unreal: true,
1952 - tupleDefinitionName: TupleDefinitions.WixOrdering.Name,
1974 tupleIdIsPrimaryKey: false
1975 );
1976
1977 public static readonly TableDefinition WixDeltaPatchFile = new TableDefinition(
1978 "WixDeltaPatchFile",
1979 + TupleDefinitions.WixDeltaPatchFile,
1980 new[]
1981 {
1982 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
@@ -1965,12 +1987,12 @@ namespace WixToolset.Data.WindowsInstaller
1987 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
1988 },
1989 unreal: true,
1968 - tupleDefinitionName: TupleDefinitions.WixDeltaPatchFile.Name,
1990 tupleIdIsPrimaryKey: false
1991 );
1992
1993 public static readonly TableDefinition WixDeltaPatchSymbolPaths = new TableDefinition(
1994 "WixDeltaPatchSymbolPaths",
1995 + TupleDefinitions.WixDeltaPatchSymbolPaths,
1996 new[]
1997 {
1998 new ColumnDefinition("Id", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1978,59 +2000,59 @@ namespace WixToolset.Data.WindowsInstaller
2000 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: false, ColumnCategory.Text),
2001 },
2002 unreal: true,
1981 - tupleDefinitionName: TupleDefinitions.WixDeltaPatchSymbolPaths.Name,
2003 tupleIdIsPrimaryKey: false
2004 );
2005
2006 public static readonly TableDefinition WixProperty = new TableDefinition(
2007 "WixProperty",
2008 + TupleDefinitions.WixProperty,
2009 new[]
2010 {
2011 new ColumnDefinition("Property_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
2012 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2013 },
2014 unreal: true,
1993 - tupleDefinitionName: TupleDefinitions.WixProperty.Name,
2015 tupleIdIsPrimaryKey: false
2016 );
2017
2018 public static readonly TableDefinition WixSimpleReference = new TableDefinition(
2019 "WixSimpleReference",
2020 + TupleDefinitions.WixSimpleReference,
2021 new[]
2022 {
2023 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2024 new ColumnDefinition("PrimaryKeys", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2025 },
2026 unreal: true,
2005 - tupleDefinitionName: TupleDefinitions.WixSimpleReference.Name,
2027 tupleIdIsPrimaryKey: false
2028 );
2029
2030 public static readonly TableDefinition WixSuppressAction = new TableDefinition(
2031 "WixSuppressAction",
2032 + TupleDefinitions.WixSuppressAction,
2033 new[]
2034 {
2035 new ColumnDefinition("SequenceTable", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2036 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2037 },
2038 unreal: true,
2017 - tupleDefinitionName: TupleDefinitions.WixSuppressAction.Name,
2039 tupleIdIsPrimaryKey: false
2040 );
2041
2042 public static readonly TableDefinition WixSuppressModularization = new TableDefinition(
2043 "WixSuppressModularization",
2044 + TupleDefinitions.WixSuppressModularization,
2045 new[]
2046 {
2047 new ColumnDefinition("WixSuppressModularization", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2048 },
2049 unreal: true,
2028 - tupleDefinitionName: TupleDefinitions.WixSuppressModularization.Name,
2050 tupleIdIsPrimaryKey: true
2051 );
2052
2053 public static readonly TableDefinition WixPatchBaseline = new TableDefinition(
2054 "WixPatchBaseline",
2055 + TupleDefinitions.WixPatchBaseline,
2056 new[]
2057 {
2058 new ColumnDefinition("WixPatchBaseline", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify sets of transforms in a patch."),
@@ -2038,24 +2060,24 @@ namespace WixToolset.Data.WindowsInstaller
2060 new ColumnDefinition("ValidationFlags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Integer, description: "Patch transform validation flags for the associated patch baseline."),
2061 },
2062 unreal: true,
2041 - tupleDefinitionName: TupleDefinitions.WixPatchBaseline.Name,
2063 tupleIdIsPrimaryKey: true
2064 );
2065
2066 public static readonly TableDefinition WixPatchRef = new TableDefinition(
2067 "WixPatchRef",
2068 + TupleDefinitions.WixPatchRef,
2069 new[]
2070 {
2071 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2072 new ColumnDefinition("PrimaryKeys", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2073 },
2074 unreal: true,
2053 - tupleDefinitionName: TupleDefinitions.WixPatchRef.Name,
2075 tupleIdIsPrimaryKey: false
2076 );
2077
2078 public static readonly TableDefinition WixPatchId = new TableDefinition(
2079 "WixPatchId",
2080 + TupleDefinitions.WixPatchId,
2081 new[]
2082 {
2083 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2064,23 +2086,23 @@ namespace WixToolset.Data.WindowsInstaller
2086 new ColumnDefinition("ApiPatchingSymbolFlags", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 7),
2087 },
2088 unreal: true,
2067 - tupleDefinitionName: TupleDefinitions.WixPatchId.Name,
2089 tupleIdIsPrimaryKey: true
2090 );
2091
2092 public static readonly TableDefinition WixPatchTarget = new TableDefinition(
2093 "WixPatchTarget",
2094 + TupleDefinitions.WixPatchTarget,
2095 new[]
2096 {
2097 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2098 },
2099 unreal: true,
2078 - tupleDefinitionName: TupleDefinitions.WixPatchTarget.Name,
2100 tupleIdIsPrimaryKey: false
2101 );
2102
2103 public static readonly TableDefinition WixPatchMetadata = new TableDefinition(
2104 "WixPatchMetadata",
2105 + null,
2106 new[]
2107 {
2108 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -2092,17 +2114,18 @@ namespace WixToolset.Data.WindowsInstaller
2114
2115 public static readonly TableDefinition WixUI = new TableDefinition(
2116 "WixUI",
2117 + TupleDefinitions.WixUI,
2118 new[]
2119 {
2120 new ColumnDefinition("WixUI", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2121 },
2122 unreal: true,
2100 - tupleDefinitionName: TupleDefinitions.WixUI.Name,
2123 tupleIdIsPrimaryKey: true
2124 );
2125
2126 public static readonly TableDefinition WixVariable = new TableDefinition(
2127 "WixVariable",
2128 + TupleDefinitions.WixVariable,
2129 new[]
2130 {
2131 new ColumnDefinition("WixVariable", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2110,12 +2133,12 @@ namespace WixToolset.Data.WindowsInstaller
2133 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2134 },
2135 unreal: true,
2113 - tupleDefinitionName: TupleDefinitions.WixVariable.Name,
2136 tupleIdIsPrimaryKey: true
2137 );
2138
2139 public static readonly TableDefinition WixBundleContainer = new TableDefinition(
2140 "WixBundleContainer",
2141 + TupleDefinitions.WixBundleContainer,
2142 new[]
2143 {
2144 new ColumnDefinition("WixBundleContainer", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2128,23 +2151,23 @@ namespace WixToolset.Data.WindowsInstaller
2151 new ColumnDefinition("WorkingPath", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2152 },
2153 unreal: true,
2131 - tupleDefinitionName: TupleDefinitions.WixBundleContainer.Name,
2154 tupleIdIsPrimaryKey: true
2155 );
2156
2157 public static readonly TableDefinition WixBundlePayloadGroup = new TableDefinition(
2158 "WixBundlePayloadGroup",
2159 + TupleDefinitions.WixBundlePayloadGroup,
2160 new[]
2161 {
2162 new ColumnDefinition("WixBundlePayloadGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2163 },
2164 unreal: true,
2142 - tupleDefinitionName: TupleDefinitions.WixBundlePayloadGroup.Name,
2165 tupleIdIsPrimaryKey: true
2166 );
2167
2168 public static readonly TableDefinition WixBundlePayload = new TableDefinition(
2169 "WixBundlePayload",
2170 + TupleDefinitions.WixBundlePayload,
2171 new[]
2172 {
2173 new ColumnDefinition("WixBundlePayload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2171,12 +2194,12 @@ namespace WixToolset.Data.WindowsInstaller
2194 new ColumnDefinition("ParentPackagePayload_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2195 },
2196 unreal: true,
2174 - tupleDefinitionName: TupleDefinitions.WixBundlePayload.Name,
2197 tupleIdIsPrimaryKey: true
2198 );
2199
2200 public static readonly TableDefinition WixBundlePatchTargetCode = new TableDefinition(
2201 "WixBundlePatchTargetCode",
2202 + TupleDefinitions.WixBundlePatchTargetCode,
2203 new[]
2204 {
2205 new ColumnDefinition("PackageId", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2184,12 +2207,12 @@ namespace WixToolset.Data.WindowsInstaller
2207 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647),
2208 },
2209 unreal: true,
2187 - tupleDefinitionName: TupleDefinitions.WixBundlePatchTargetCode.Name,
2210 tupleIdIsPrimaryKey: false
2211 );
2212
2213 public static readonly TableDefinition WixBundle = new TableDefinition(
2214 "WixBundle",
2215 + TupleDefinitions.WixBundle,
2216 new[]
2217 {
2218 new ColumnDefinition("Version", ColumnType.String, 24, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2217,12 +2240,12 @@ namespace WixToolset.Data.WindowsInstaller
2240 new ColumnDefinition("PerMachine", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Only valid after binding."),
2241 },
2242 unreal: true,
2220 - tupleDefinitionName: TupleDefinitions.WixBundle.Name,
2243 tupleIdIsPrimaryKey: false
2244 );
2245
2246 public static readonly TableDefinition WixApprovedExeForElevation = new TableDefinition(
2247 "WixApprovedExeForElevation",
2248 + TupleDefinitions.WixApprovedExeForElevation,
2249 new[]
2250 {
2251 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2231,35 +2254,35 @@ namespace WixToolset.Data.WindowsInstaller
2254 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2255 },
2256 unreal: true,
2234 - tupleDefinitionName: TupleDefinitions.WixApprovedExeForElevation.Name,
2257 tupleIdIsPrimaryKey: true
2258 );
2259
2260 public static readonly TableDefinition WixBundleUpdate = new TableDefinition(
2261 "WixBundleUpdate",
2262 + TupleDefinitions.WixBundleUpdate,
2263 new[]
2264 {
2265 new ColumnDefinition("Location", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2266 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2267 },
2268 unreal: true,
2246 - tupleDefinitionName: TupleDefinitions.WixBundleUpdate.Name,
2269 tupleIdIsPrimaryKey: false
2270 );
2271
2272 public static readonly TableDefinition WixBootstrapperApplication = new TableDefinition(
2273 "WixBootstrapperApplication",
2274 + TupleDefinitions.WixBootstrapperApplication,
2275 new[]
2276 {
2277 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2278 },
2279 unreal: true,
2257 - tupleDefinitionName: TupleDefinitions.WixBootstrapperApplication.Name,
2280 tupleIdIsPrimaryKey: true
2281 );
2282
2283 public static readonly TableDefinition WixUpdateRegistration = new TableDefinition(
2284 "WixUpdateRegistration",
2285 + TupleDefinitions.WixUpdateRegistration,
2286 new[]
2287 {
2288 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2269,46 +2292,46 @@ namespace WixToolset.Data.WindowsInstaller
2292 new ColumnDefinition("Classification", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2293 },
2294 unreal: true,
2272 - tupleDefinitionName: TupleDefinitions.WixUpdateRegistration.Name,
2295 tupleIdIsPrimaryKey: false
2296 );
2297
2298 public static readonly TableDefinition WixBundleCatalog = new TableDefinition(
2299 "WixBundleCatalog",
2300 + TupleDefinitions.WixBundleCatalog,
2301 new[]
2302 {
2303 new ColumnDefinition("WixBundleCatalog", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2304 new ColumnDefinition("Payload_", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePayload", keyColumn: 1, description: "Reference to a payload entry in the WixBundlePayload table."),
2305 },
2306 unreal: true,
2284 - tupleDefinitionName: TupleDefinitions.WixBundleCatalog.Name,
2307 tupleIdIsPrimaryKey: true
2308 );
2309
2310 public static readonly TableDefinition WixChain = new TableDefinition(
2311 "WixChain",
2312 + TupleDefinitions.WixChain,
2313 new[]
2314 {
2315 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "A 32-bit word that specifies the attribute flags to be applied to the chain."),
2316 },
2317 unreal: true,
2295 - tupleDefinitionName: TupleDefinitions.WixChain.Name,
2318 tupleIdIsPrimaryKey: false
2319 );
2320
2321 public static readonly TableDefinition WixChainItem = new TableDefinition(
2322 "WixChainItem",
2323 + TupleDefinitions.WixChainItem,
2324 new[]
2325 {
2326 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2327 },
2328 unreal: true,
2306 - tupleDefinitionName: TupleDefinitions.WixChainItem.Name,
2329 tupleIdIsPrimaryKey: true
2330 );
2331
2332 public static readonly TableDefinition WixBundleRollbackBoundary = new TableDefinition(
2333 "WixBundleRollbackBoundary",
2334 + TupleDefinitions.WixBundleRollbackBoundary,
2335 new[]
2336 {
2337 new ColumnDefinition("WixChainItem_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixChainItem", keyColumn: 1, description: "Reference to a WixChainItem entry in the WixChainItem table."),
@@ -2316,23 +2339,23 @@ namespace WixToolset.Data.WindowsInstaller
2339 new ColumnDefinition("Transaction", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2340 },
2341 unreal: true,
2319 - tupleDefinitionName: TupleDefinitions.WixBundleRollbackBoundary.Name,
2342 tupleIdIsPrimaryKey: true
2343 );
2344
2345 public static readonly TableDefinition WixBundlePackageGroup = new TableDefinition(
2346 "WixBundlePackageGroup",
2347 + TupleDefinitions.WixBundlePackageGroup,
2348 new[]
2349 {
2350 new ColumnDefinition("WixBundlePackageGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2351 },
2352 unreal: true,
2330 - tupleDefinitionName: TupleDefinitions.WixBundlePackageGroup.Name,
2353 tupleIdIsPrimaryKey: true
2354 );
2355
2356 public static readonly TableDefinition WixBundlePackage = new TableDefinition(
2357 "WixBundlePackage",
2358 + TupleDefinitions.WixBundlePackage,
2359 new[]
2360 {
2361 new ColumnDefinition("WixChainItem_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixChainItem", keyColumn: 1, description: "Reference to a WixChainItem entry in the WixChainItem table."),
@@ -2357,12 +2380,12 @@ namespace WixToolset.Data.WindowsInstaller
2380 new ColumnDefinition("x64", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2381 },
2382 unreal: true,
2360 - tupleDefinitionName: TupleDefinitions.WixBundlePackage.Name,
2383 tupleIdIsPrimaryKey: true
2384 );
2385
2386 public static readonly TableDefinition WixBundleExePackage = new TableDefinition(
2387 "WixBundleExePackage",
2388 + TupleDefinitions.WixBundleExePackage,
2389 new[]
2390 {
2391 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2374,12 +2397,12 @@ namespace WixToolset.Data.WindowsInstaller
2397 new ColumnDefinition("ExeProtocol", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2398 },
2399 unreal: true,
2377 - tupleDefinitionName: TupleDefinitions.WixBundleExePackage.Name,
2400 tupleIdIsPrimaryKey: true
2401 );
2402
2403 public static readonly TableDefinition WixBundleMsiPackage = new TableDefinition(
2404 "WixBundleMsiPackage",
2405 + TupleDefinitions.WixBundleMsiPackage,
2406 new[]
2407 {
2408 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2392,12 +2415,12 @@ namespace WixToolset.Data.WindowsInstaller
2415 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2416 },
2417 unreal: true,
2395 - tupleDefinitionName: TupleDefinitions.WixBundleMsiPackage.Name,
2418 tupleIdIsPrimaryKey: true
2419 );
2420
2421 public static readonly TableDefinition WixBundleMspPackage = new TableDefinition(
2422 "WixBundleMspPackage",
2423 + TupleDefinitions.WixBundleMspPackage,
2424 new[]
2425 {
2426 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2407,12 +2430,12 @@ namespace WixToolset.Data.WindowsInstaller
2430 new ColumnDefinition("PatchXml", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2431 },
2432 unreal: true,
2410 - tupleDefinitionName: TupleDefinitions.WixBundleMspPackage.Name,
2433 tupleIdIsPrimaryKey: true
2434 );
2435
2436 public static readonly TableDefinition WixBundleMsuPackage = new TableDefinition(
2437 "WixBundleMsuPackage",
2438 + TupleDefinitions.WixBundleMsuPackage,
2439 new[]
2440 {
2441 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2420,12 +2443,12 @@ namespace WixToolset.Data.WindowsInstaller
2443 new ColumnDefinition("MsuKB", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2444 },
2445 unreal: true,
2423 - tupleDefinitionName: TupleDefinitions.WixBundleMsuPackage.Name,
2446 tupleIdIsPrimaryKey: true
2447 );
2448
2449 public static readonly TableDefinition WixBundlePackageExitCode = new TableDefinition(
2450 "WixBundlePackageExitCode",
2451 + TupleDefinitions.WixBundlePackageExitCode,
2452 new[]
2453 {
2454 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table for the parent Exe."),
@@ -2433,12 +2456,12 @@ namespace WixToolset.Data.WindowsInstaller
2456 new ColumnDefinition("Behavior", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Integer, minValue: 0, maxValue: 3),
2457 },
2458 unreal: true,
2436 - tupleDefinitionName: TupleDefinitions.WixBundlePackageExitCode.Name,
2459 tupleIdIsPrimaryKey: false
2460 );
2461
2462 public static readonly TableDefinition WixBundleMsiFeature = new TableDefinition(
2463 "WixBundleMsiFeature",
2464 + TupleDefinitions.WixBundleMsiFeature,
2465 new[]
2466 {
2467 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2453,12 +2476,12 @@ namespace WixToolset.Data.WindowsInstaller
2476 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2477 },
2478 unreal: true,
2456 - tupleDefinitionName: TupleDefinitions.WixBundleMsiFeature.Name,
2479 tupleIdIsPrimaryKey: false
2480 );
2481
2482 public static readonly TableDefinition WixBundleMsiProperty = new TableDefinition(
2483 "WixBundleMsiProperty",
2484 + TupleDefinitions.WixBundleMsiProperty,
2485 new[]
2486 {
2487 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2467,24 +2490,24 @@ namespace WixToolset.Data.WindowsInstaller
2490 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2491 },
2492 unreal: true,
2470 - tupleDefinitionName: TupleDefinitions.WixBundleMsiProperty.Name,
2493 tupleIdIsPrimaryKey: false
2494 );
2495
2496 public static readonly TableDefinition WixBundleSlipstreamMsp = new TableDefinition(
2497 "WixBundleSlipstreamMsp",
2498 + TupleDefinitions.WixBundleSlipstreamMsp,
2499 new[]
2500 {
2501 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table for the parent Msi."),
2502 new ColumnDefinition("WixBundlePackage_Msp", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table for the referenced Msp."),
2503 },
2504 unreal: true,
2482 - tupleDefinitionName: TupleDefinitions.WixBundleSlipstreamMsp.Name,
2505 tupleIdIsPrimaryKey: false
2506 );
2507
2508 public static readonly TableDefinition WixBundlePackageCommandLine = new TableDefinition(
2509 "WixBundlePackageCommandLine",
2510 + TupleDefinitions.WixBundlePackageCommandLine,
2511 new[]
2512 {
2513 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2494,24 +2517,24 @@ namespace WixToolset.Data.WindowsInstaller
2517 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2518 },
2519 unreal: true,
2497 - tupleDefinitionName: TupleDefinitions.WixBundlePackageCommandLine.Name,
2520 tupleIdIsPrimaryKey: false
2521 );
2522
2523 public static readonly TableDefinition WixRelatedBundle = new TableDefinition(
2524 "WixRelatedBundle",
2525 + TupleDefinitions.WixRelatedBundle,
2526 new[]
2527 {
2528 new ColumnDefinition("Id", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid),
2529 new ColumnDefinition("Action", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2530 },
2531 unreal: true,
2509 - tupleDefinitionName: TupleDefinitions.WixRelatedBundle.Name,
2532 tupleIdIsPrimaryKey: false
2533 );
2534
2535 public static readonly TableDefinition WixBundleRelatedPackage = new TableDefinition(
2536 "WixBundleRelatedPackage",
2537 + TupleDefinitions.WixBundleRelatedPackage,
2538 new[]
2539 {
2540 new ColumnDefinition("WixBundlePackage_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2525,12 +2548,12 @@ namespace WixToolset.Data.WindowsInstaller
2548 new ColumnDefinition("OnlyDetect", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2549 },
2550 unreal: true,
2528 - tupleDefinitionName: TupleDefinitions.WixBundleRelatedPackage.Name,
2551 tupleIdIsPrimaryKey: false
2552 );
2553
2554 public static readonly TableDefinition WixBundleVariable = new TableDefinition(
2555 "WixBundleVariable",
2556 + TupleDefinitions.WixBundleVariable,
2557 new[]
2558 {
2559 new ColumnDefinition("WixBundleVariable", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2540,12 +2563,12 @@ namespace WixToolset.Data.WindowsInstaller
2563 new ColumnDefinition("Persisted", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2564 },
2565 unreal: true,
2543 - tupleDefinitionName: TupleDefinitions.WixBundleVariable.Name,
2566 tupleIdIsPrimaryKey: true
2567 );
2568
2569 public static readonly TableDefinition WixBundleProperties = new TableDefinition(
2570 "WixBundleProperties",
2571 + null,
2572 new[]
2573 {
2574 new ColumnDefinition("DisplayName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
@@ -2561,6 +2584,7 @@ namespace WixToolset.Data.WindowsInstaller
2584
2585 public static readonly TableDefinition WixPackageFeatureInfo = new TableDefinition(
2586 "WixPackageFeatureInfo",
2587 + null,
2588 new[]
2589 {
2590 new ColumnDefinition("Package", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2580,6 +2604,7 @@ namespace WixToolset.Data.WindowsInstaller
2604
2605 public static readonly TableDefinition WixPackageProperties = new TableDefinition(
2606 "WixPackageProperties",
2607 + null,
2608 new[]
2609 {
2610 new ColumnDefinition("Package", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
@@ -2607,6 +2632,7 @@ namespace WixToolset.Data.WindowsInstaller
2632
2633 public static readonly TableDefinition WixPayloadProperties = new TableDefinition(
2634 "WixPayloadProperties",
2635 + null,
2636 new[]
2637 {
2638 new ColumnDefinition("Payload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2623,6 +2649,7 @@ namespace WixToolset.Data.WindowsInstaller
2649
2650 public static readonly TableDefinition Streams = new TableDefinition(
2651 "_Streams",
2652 + null,
2653 new[]
2654 {
2655 new ColumnDefinition("Name", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -2634,17 +2661,18 @@ namespace WixToolset.Data.WindowsInstaller
2661
2662 public static readonly TableDefinition SummaryInformation = new TableDefinition(
2663 "_SummaryInformation",
2664 + TupleDefinitions.SummaryInformation,
2665 new[]
2666 {
2667 new ColumnDefinition("PropertyId", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2668 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2669 },
2642 - tupleDefinitionName: TupleDefinitions.SummaryInformation.Name,
2670 tupleIdIsPrimaryKey: false
2671 );
2672
2673 public static readonly TableDefinition TransformView = new TableDefinition(
2674 "_TransformView",
2675 + null,
2676 new[]
2677 {
2678 new ColumnDefinition("Table", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -2659,6 +2687,7 @@ namespace WixToolset.Data.WindowsInstaller
2687
2688 public static readonly TableDefinition Validation = new TableDefinition(
2689 "_Validation",
2690 + null,
2691 new[]
2692 {
2693 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of table"),
@@ -2677,6 +2706,7 @@ namespace WixToolset.Data.WindowsInstaller
2706
2707 public static readonly TableDefinition WixSearch = new TableDefinition(
2708 "WixSearch",
2709 + TupleDefinitions.WixSearch,
2710 new[]
2711 {
2712 new ColumnDefinition("WixSearch", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2684,12 +2714,12 @@ namespace WixToolset.Data.WindowsInstaller
2714 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition),
2715 },
2716 unreal: true,
2687 - tupleDefinitionName: TupleDefinitions.WixSearch.Name,
2717 tupleIdIsPrimaryKey: true
2718 );
2719
2720 public static readonly TableDefinition WixSearchRelation = new TableDefinition(
2721 "WixSearchRelation",
2722 + TupleDefinitions.WixSearchRelation,
2723 new[]
2724 {
2725 new ColumnDefinition("WixSearch_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixSearch", keyColumn: 1, description: "Reference to a WixSearch entry in the WixSearch table."),
@@ -2697,12 +2727,12 @@ namespace WixToolset.Data.WindowsInstaller
2727 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2728 },
2729 unreal: true,
2700 - tupleDefinitionName: TupleDefinitions.WixSearchRelation.Name,
2730 tupleIdIsPrimaryKey: true
2731 );
2732
2733 public static readonly TableDefinition WixFileSearch = new TableDefinition(
2734 "WixFileSearch",
2735 + TupleDefinitions.WixFileSearch,
2736 new[]
2737 {
2738 new ColumnDefinition("WixSearch_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixSearch", keyColumn: 1, description: "Reference to a WixSearch entry in the WixSearch table."),
@@ -2717,12 +2747,12 @@ namespace WixToolset.Data.WindowsInstaller
2747 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2748 },
2749 unreal: true,
2720 - tupleDefinitionName: TupleDefinitions.WixFileSearch.Name,
2750 tupleIdIsPrimaryKey: true
2751 );
2752
2753 public static readonly TableDefinition WixRegistrySearch = new TableDefinition(
2754 "WixRegistrySearch",
2755 + TupleDefinitions.WixRegistrySearch,
2756 new[]
2757 {
2758 new ColumnDefinition("WixSearch_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixSearch", keyColumn: 1, description: "Reference to a WixSearch entry in the WixSearch table."),
@@ -2732,12 +2762,12 @@ namespace WixToolset.Data.WindowsInstaller
2762 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2763 },
2764 unreal: true,
2735 - tupleDefinitionName: TupleDefinitions.WixRegistrySearch.Name,
2765 tupleIdIsPrimaryKey: true
2766 );
2767
2768 public static readonly TableDefinition WixComponentSearch = new TableDefinition(
2769 "WixComponentSearch",
2770 + TupleDefinitions.WixComponentSearch,
2771 new[]
2772 {
2773 new ColumnDefinition("WixSearch_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixSearch", keyColumn: 1, description: "Reference to a WixSearch entry in the WixSearch table."),
@@ -2746,12 +2776,12 @@ namespace WixToolset.Data.WindowsInstaller
2776 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2777 },
2778 unreal: true,
2749 - tupleDefinitionName: TupleDefinitions.WixComponentSearch.Name,
2779 tupleIdIsPrimaryKey: true
2780 );
2781
2782 public static readonly TableDefinition WixProductSearch = new TableDefinition(
2783 "WixProductSearch",
2784 + TupleDefinitions.WixProductSearch,
2785 new[]
2786 {
2787 new ColumnDefinition("WixSearch_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixSearch", keyColumn: 1, description: "Reference to a WixSearch entry in the WixSearch table."),
@@ -2759,7 +2789,6 @@ namespace WixToolset.Data.WindowsInstaller
2789 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2790 },
2791 unreal: true,
2762 - tupleDefinitionName: TupleDefinitions.WixProductSearch.Name,
2792 tupleIdIsPrimaryKey: true
2793 );
2794
@@ -2880,9 +2909,9 @@ namespace WixToolset.Data.WindowsInstaller
2909 ImageFamilies,
2910 UpgradedImages,
2911 UpgradedFilesToIgnore,
2883 - UpgradedFiles_OptionalData,
2912 + UpgradedFilesOptionalData,
2913 TargetImages,
2885 - TargetFiles_OptionalData,
2914 + TargetFilesOptionalData,
2915 FamilyFileRanges,
2916 ExternalFiles,
2917 WixAction,