aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-04-13 11:36:20 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-04-13 20:28:02 +1000
commitd0d447ad64afdd5956856c4c6b6599f69a522d6b (patch)
treec5ba6602e76170004aefb83c8950bb9bc8f0ef08 /src
parent45e58d750f54c0b7713bcb74792aef4bdb7197cb (diff)
downloadwix-d0d447ad64afdd5956856c4c6b6599f69a522d6b.tar.gz
wix-d0d447ad64afdd5956856c4c6b6599f69a522d6b.tar.bz2
wix-d0d447ad64afdd5956856c4c6b6599f69a522d6b.zip
Change TableDefinition to have TupleDefinition instead of TupleDefinitionName.
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Data/WindowsInstaller/TableDefinition.cs33
-rw-r--r--src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs13
-rw-r--r--src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs373
3 files changed, 209 insertions, 210 deletions
diff --git a/src/WixToolset.Data/WindowsInstaller/TableDefinition.cs b/src/WixToolset.Data/WindowsInstaller/TableDefinition.cs
index 5a9d2f20..7c4a3e9d 100644
--- a/src/WixToolset.Data/WindowsInstaller/TableDefinition.cs
+++ b/src/WixToolset.Data/WindowsInstaller/TableDefinition.cs
@@ -22,14 +22,15 @@ namespace WixToolset.Data.WindowsInstaller
22 /// Creates a table definition. 22 /// Creates a table definition.
23 /// </summary> 23 /// </summary>
24 /// <param name="name">Name of table to create.</param> 24 /// <param name="name">Name of table to create.</param>
25 /// <param name="tupleDefinition">Optional tuple definition for this table.</param>
25 /// <param name="columns">Column definitions for the table.</param> 26 /// <param name="columns">Column definitions for the table.</param>
26 /// <param name="unreal">Flag if table is unreal.</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> 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 { 30 {
31 this.Name = name; 31 this.Name = name;
32 this.TupleDefinitionName = tupleDefinitionName ?? name; 32 this.TupleDefinition = tupleDefinition;
33 this.TupleIdIsPrimaryKey = tupleIdIsPrimaryKey;
33 this.Unreal = unreal; 34 this.Unreal = unreal;
34 this.Columns = columns?.ToArray(); 35 this.Columns = columns?.ToArray();
35 36
@@ -37,7 +38,6 @@ namespace WixToolset.Data.WindowsInstaller
37 { 38 {
38 throw new ArgumentOutOfRangeException(nameof(columns)); 39 throw new ArgumentOutOfRangeException(nameof(columns));
39 } 40 }
40 this.TupleIdIsPrimaryKey = tupleIdIsPrimaryKey ?? DeriveTupleIdIsPrimaryKey(this.Columns);
41 } 41 }
42 42
43 /// <summary> 43 /// <summary>
@@ -47,10 +47,10 @@ namespace WixToolset.Data.WindowsInstaller
47 public string Name { get; } 47 public string Name { get; }
48 48
49 /// <summary> 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> 51 /// </summary>
52 /// <value>Name of the tuple definition.</value> 52 /// <value>The tuple definition.</value>
53 public string TupleDefinitionName { get; } 53 public IntermediateTupleDefinition TupleDefinition { get; }
54 54
55 /// <summary> 55 /// <summary>
56 /// Gets if the table is unreal. 56 /// Gets if the table is unreal.
@@ -130,9 +130,7 @@ namespace WixToolset.Data.WindowsInstaller
130 { 130 {
131 var empty = reader.IsEmptyElement; 131 var empty = reader.IsEmptyElement;
132 string name = null; 132 string name = null;
133 string tupleDefinitionName = null;
134 var unreal = false; 133 var unreal = false;
135 bool? tupleIdIsPrimaryKey = null;
136 134
137 while (reader.MoveToNextAttribute()) 135 while (reader.MoveToNextAttribute())
138 { 136 {
@@ -141,12 +139,6 @@ namespace WixToolset.Data.WindowsInstaller
141 case "name": 139 case "name":
142 name = reader.Value; 140 name = reader.Value;
143 break; 141 break;
144 case "tupleDefinitionName":
145 tupleDefinitionName = reader.Value;
146 break;
147 case "tupleIdIsPrimaryKey":
148 tupleIdIsPrimaryKey = reader.Value.Equals("yes");
149 break;
150 case "unreal": 142 case "unreal":
151 unreal = reader.Value.Equals("yes"); 143 unreal = reader.Value.Equals("yes");
152 break; 144 break;
@@ -203,7 +195,7 @@ namespace WixToolset.Data.WindowsInstaller
203 } 195 }
204 } 196 }
205 197
206 return new TableDefinition(name, columns.ToArray(), unreal, tupleDefinitionName, tupleIdIsPrimaryKey); 198 return new TableDefinition(name, null, columns.ToArray(), unreal);
207 } 199 }
208 200
209 /// <summary> 201 /// <summary>
@@ -228,14 +220,5 @@ namespace WixToolset.Data.WindowsInstaller
228 220
229 writer.WriteEndElement(); 221 writer.WriteEndElement();
230 } 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 }
240 } 223 }
241} 224}
diff --git a/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs b/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs
index e1119a68..91385d74 100644
--- a/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs
+++ b/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs
@@ -77,19 +77,6 @@ namespace WixToolset.Data.WindowsInstaller
77 public bool TryGet(string tableName, out TableDefinition table) => this.collection.TryGetValue(tableName, out table); 77 public bool TryGet(string tableName, out TableDefinition table) => this.collection.TryGetValue(tableName, out table);
78 78
79 /// <summary> 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
92 /// <summary>
93 /// Adds a table definition to the collection. 80 /// Adds a table definition to the collection.
94 /// </summary> 81 /// </summary>
95 /// <param name="tableDefinition">Table definition to add to the collection.</param> 82 /// <param name="tableDefinition">Table definition to add to the collection.</param>
diff --git a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs
index 11b884bd..be59b844 100644
--- a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs
+++ b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs
@@ -6,18 +6,19 @@ namespace WixToolset.Data.WindowsInstaller
6 { 6 {
7 public static readonly TableDefinition ActionText = new TableDefinition( 7 public static readonly TableDefinition ActionText = new TableDefinition(
8 "ActionText", 8 "ActionText",
9 TupleDefinitions.ActionText,
9 new[] 10 new[]
10 { 11 {
11 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to be described.", modularizeType: ColumnModularizeType.Column), 12 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of action to be described.", modularizeType: ColumnModularizeType.Column),
12 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."), 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."),
13 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), 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),
14 }, 15 },
15 tupleDefinitionName: TupleDefinitions.ActionText.Name,
16 tupleIdIsPrimaryKey: false 16 tupleIdIsPrimaryKey: false
17 ); 17 );
18 18
19 public static readonly TableDefinition AdminExecuteSequence = new TableDefinition( 19 public static readonly TableDefinition AdminExecuteSequence = new TableDefinition(
20 "AdminExecuteSequence", 20 "AdminExecuteSequence",
21 null,
21 new[] 22 new[]
22 { 23 {
23 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."), 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
29 30
30 public static readonly TableDefinition Condition = new TableDefinition( 31 public static readonly TableDefinition Condition = new TableDefinition(
31 "Condition", 32 "Condition",
33 TupleDefinitions.Condition,
32 new[] 34 new[]
33 { 35 {
34 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."), 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."),
35 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."), 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."),
36 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), 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),
37 }, 39 },
38 tupleDefinitionName: TupleDefinitions.Condition.Name,
39 tupleIdIsPrimaryKey: false 40 tupleIdIsPrimaryKey: false
40 ); 41 );
41 42
42 public static readonly TableDefinition AdminUISequence = new TableDefinition( 43 public static readonly TableDefinition AdminUISequence = new TableDefinition(
43 "AdminUISequence", 44 "AdminUISequence",
45 null,
44 new[] 46 new[]
45 { 47 {
46 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."), 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
52 54
53 public static readonly TableDefinition AdvtExecuteSequence = new TableDefinition( 55 public static readonly TableDefinition AdvtExecuteSequence = new TableDefinition(
54 "AdvtExecuteSequence", 56 "AdvtExecuteSequence",
57 null,
55 new[] 58 new[]
56 { 59 {
57 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."), 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
63 66
64 public static readonly TableDefinition AdvtUISequence = new TableDefinition( 67 public static readonly TableDefinition AdvtUISequence = new TableDefinition(
65 "AdvtUISequence", 68 "AdvtUISequence",
69 null,
66 new[] 70 new[]
67 { 71 {
68 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."), 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
74 78
75 public static readonly TableDefinition AppId = new TableDefinition( 79 public static readonly TableDefinition AppId = new TableDefinition(
76 "AppId", 80 "AppId",
81 TupleDefinitions.AppId,
77 new[] 82 new[]
78 { 83 {
79 new ColumnDefinition("AppId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid), 84 new ColumnDefinition("AppId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid),
@@ -84,34 +89,34 @@ namespace WixToolset.Data.WindowsInstaller
84 new ColumnDefinition("ActivateAtStorage", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1), 89 new ColumnDefinition("ActivateAtStorage", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
85 new ColumnDefinition("RunAsInteractiveUser", 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),
86 }, 91 },
87 tupleDefinitionName: TupleDefinitions.AppId.Name,
88 tupleIdIsPrimaryKey: false 92 tupleIdIsPrimaryKey: false
89 ); 93 );
90 94
91 public static readonly TableDefinition AppSearch = new TableDefinition( 95 public static readonly TableDefinition AppSearch = new TableDefinition(
92 "AppSearch", 96 "AppSearch",
97 TupleDefinitions.AppSearch,
93 new[] 98 new[]
94 { 99 {
95 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The property associated with a Signature", modularizeType: ColumnModularizeType.Column), 100 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The property associated with a Signature", modularizeType: ColumnModularizeType.Column),
96 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), 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),
97 }, 102 },
98 tupleDefinitionName: TupleDefinitions.AppSearch.Name,
99 tupleIdIsPrimaryKey: false 103 tupleIdIsPrimaryKey: false
100 ); 104 );
101 105
102 public static readonly TableDefinition Property = new TableDefinition( 106 public static readonly TableDefinition Property = new TableDefinition(
103 "Property", 107 "Property",
108 TupleDefinitions.Property,
104 new[] 109 new[]
105 { 110 {
106 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), 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),
107 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "String value for property. Never null or empty."), 112 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "String value for property. Never null or empty."),
108 }, 113 },
109 tupleDefinitionName: TupleDefinitions.Property.Name,
110 tupleIdIsPrimaryKey: true 114 tupleIdIsPrimaryKey: true
111 ); 115 );
112 116
113 public static readonly TableDefinition BBControl = new TableDefinition( 117 public static readonly TableDefinition BBControl = new TableDefinition(
114 "BBControl", 118 "BBControl",
119 TupleDefinitions.BBControl,
115 new[] 120 new[]
116 { 121 {
117 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), 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
124 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."), 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."),
125 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)."), 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)."),
126 }, 131 },
127 tupleDefinitionName: TupleDefinitions.BBControl.Name,
128 tupleIdIsPrimaryKey: false 132 tupleIdIsPrimaryKey: false
129 ); 133 );
130 134
131 public static readonly TableDefinition Billboard = new TableDefinition( 135 public static readonly TableDefinition Billboard = new TableDefinition(
132 "Billboard", 136 "Billboard",
137 TupleDefinitions.Billboard,
133 new[] 138 new[]
134 { 139 {
135 new ColumnDefinition("Billboard", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the billboard.", modularizeType: ColumnModularizeType.Column), 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
137 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."), 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."),
138 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."), 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."),
139 }, 144 },
140 tupleDefinitionName: TupleDefinitions.Billboard.Name,
141 tupleIdIsPrimaryKey: true 145 tupleIdIsPrimaryKey: true
142 ); 146 );
143 147
144 public static readonly TableDefinition Feature = new TableDefinition( 148 public static readonly TableDefinition Feature = new TableDefinition(
145 "Feature", 149 "Feature",
150 TupleDefinitions.Feature,
146 new[] 151 new[]
147 { 152 {
148 new ColumnDefinition("Feature", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular feature record."), 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
154 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), 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),
155 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"), 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"),
156 }, 161 },
157 tupleDefinitionName: TupleDefinitions.Feature.Name,
158 tupleIdIsPrimaryKey: true 162 tupleIdIsPrimaryKey: true
159 ); 163 );
160 164
161 public static readonly TableDefinition Binary = new TableDefinition( 165 public static readonly TableDefinition Binary = new TableDefinition(
162 "Binary", 166 "Binary",
167 TupleDefinitions.Binary,
163 new[] 168 new[]
164 { 169 {
165 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique key identifying the binary data.", modularizeType: ColumnModularizeType.Column), 170 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique key identifying the binary data.", modularizeType: ColumnModularizeType.Column),
166 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "The unformatted binary data."), 171 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "The unformatted binary data."),
167 }, 172 },
168 tupleDefinitionName: TupleDefinitions.Binary.Name,
169 tupleIdIsPrimaryKey: true 173 tupleIdIsPrimaryKey: true
170 ); 174 );
171 175
172 public static readonly TableDefinition BindImage = new TableDefinition( 176 public static readonly TableDefinition BindImage = new TableDefinition(
173 "BindImage", 177 "BindImage",
178 null,
174 new[] 179 new[]
175 { 180 {
176 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 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
181 186
182 public static readonly TableDefinition File = new TableDefinition( 187 public static readonly TableDefinition File = new TableDefinition(
183 "File", 188 "File",
189 TupleDefinitions.File,
184 new[] 190 new[]
185 { 191 {
186 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), 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
194 new ColumnDefinition("DiskId", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "Disk identifier for the file.", unreal: true), 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),
195 new ColumnDefinition("Source", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Path to source of file.", unreal: true), 201 new ColumnDefinition("Source", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Path to source of file.", unreal: true),
196 }, 202 },
197 tupleDefinitionName: TupleDefinitions.File.Name,
198 tupleIdIsPrimaryKey: true 203 tupleIdIsPrimaryKey: true
199 ); 204 );
200 205
201 public static readonly TableDefinition CCPSearch = new TableDefinition( 206 public static readonly TableDefinition CCPSearch = new TableDefinition(
202 "CCPSearch", 207 "CCPSearch",
208 TupleDefinitions.CCPSearch,
203 new[] 209 new[]
204 { 210 {
205 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."), 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."),
206 }, 212 },
207 tupleDefinitionName: TupleDefinitions.CCPSearch.Name,
208 tupleIdIsPrimaryKey: true 213 tupleIdIsPrimaryKey: true
209 ); 214 );
210 215
211 public static readonly TableDefinition CheckBox = new TableDefinition( 216 public static readonly TableDefinition CheckBox = new TableDefinition(
212 "CheckBox", 217 "CheckBox",
218 TupleDefinitions.CheckBox,
213 new[] 219 new[]
214 { 220 {
215 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), 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),
216 new ColumnDefinition("Value", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value string associated with the item.", modularizeType: ColumnModularizeType.Property), 222 new ColumnDefinition("Value", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value string associated with the item.", modularizeType: ColumnModularizeType.Property),
217 }, 223 },
218 tupleDefinitionName: TupleDefinitions.CheckBox.Name,
219 tupleIdIsPrimaryKey: false 224 tupleIdIsPrimaryKey: false
220 ); 225 );
221 226
222 public static readonly TableDefinition Class = new TableDefinition( 227 public static readonly TableDefinition Class = new TableDefinition(
223 "Class", 228 "Class",
229 TupleDefinitions.Class,
224 new[] 230 new[]
225 { 231 {
226 new ColumnDefinition("CLSID", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The CLSID of an OLE factory."), 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
237 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."), 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."),
238 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, maxValue: 32767, description: "Class registration attributes."), 244 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, maxValue: 32767, description: "Class registration attributes."),
239 }, 245 },
240 tupleDefinitionName: TupleDefinitions.Class.Name,
241 tupleIdIsPrimaryKey: false 246 tupleIdIsPrimaryKey: false
242 ); 247 );
243 248
244 public static readonly TableDefinition Component = new TableDefinition( 249 public static readonly TableDefinition Component = new TableDefinition(
245 "Component", 250 "Component",
251 TupleDefinitions.Component,
246 new[] 252 new[]
247 { 253 {
248 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), 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
252 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), 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),
253 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), 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),
254 }, 260 },
255 tupleDefinitionName: TupleDefinitions.Component.Name,
256 tupleIdIsPrimaryKey: true 261 tupleIdIsPrimaryKey: true
257 ); 262 );
258 263
259 public static readonly TableDefinition Icon = new TableDefinition( 264 public static readonly TableDefinition Icon = new TableDefinition(
260 "Icon", 265 "Icon",
266 TupleDefinitions.Icon,
261 new[] 267 new[]
262 { 268 {
263 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. Name of the icon file.", modularizeType: ColumnModularizeType.Icon), 269 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. Name of the icon file.", modularizeType: ColumnModularizeType.Icon),
264 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."), 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."),
265 }, 271 },
266 tupleDefinitionName: TupleDefinitions.Icon.Name,
267 tupleIdIsPrimaryKey: true 272 tupleIdIsPrimaryKey: true
268 ); 273 );
269 274
270 public static readonly TableDefinition ProgId = new TableDefinition( 275 public static readonly TableDefinition ProgId = new TableDefinition(
271 "ProgId", 276 "ProgId",
277 TupleDefinitions.ProgId,
272 new[] 278 new[]
273 { 279 {
274 new ColumnDefinition("ProgId", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The Program Identifier. Primary key."), 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
278 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), 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),
279 new ColumnDefinition("IconIndex", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -32767, maxValue: 32767, description: "Optional icon index."), 285 new ColumnDefinition("IconIndex", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -32767, maxValue: 32767, description: "Optional icon index."),
280 }, 286 },
281 tupleDefinitionName: TupleDefinitions.ProgId.Name,
282 tupleIdIsPrimaryKey: false 287 tupleIdIsPrimaryKey: false
283 ); 288 );
284 289
285 public static readonly TableDefinition ComboBox = new TableDefinition( 290 public static readonly TableDefinition ComboBox = new TableDefinition(
286 "ComboBox", 291 "ComboBox",
292 TupleDefinitions.ComboBox,
287 new[] 293 new[]
288 { 294 {
289 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), 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
291 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), 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),
292 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), 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),
293 }, 299 },
294 tupleDefinitionName: TupleDefinitions.ComboBox.Name,
295 tupleIdIsPrimaryKey: false 300 tupleIdIsPrimaryKey: false
296 ); 301 );
297 302
298 public static readonly TableDefinition CompLocator = new TableDefinition( 303 public static readonly TableDefinition CompLocator = new TableDefinition(
299 "CompLocator", 304 "CompLocator",
305 TupleDefinitions.CompLocator,
300 new[] 306 new[]
301 { 307 {
302 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), 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),
303 new ColumnDefinition("ComponentId", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid, description: "A string GUID unique to this component, version, and language."), 309 new ColumnDefinition("ComponentId", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid, description: "A string GUID unique to this component, version, and language."),
304 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."), 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."),
305 }, 311 },
306 tupleDefinitionName: TupleDefinitions.CompLocator.Name,
307 tupleIdIsPrimaryKey: false 312 tupleIdIsPrimaryKey: false
308 ); 313 );
309 314
310 public static readonly TableDefinition Complus = new TableDefinition( 315 public static readonly TableDefinition Complus = new TableDefinition(
311 "Complus", 316 "Complus",
317 TupleDefinitions.Complus,
312 new[] 318 new[]
313 { 319 {
314 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), 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),
315 new ColumnDefinition("ExpType", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "ComPlus component attributes."), 321 new ColumnDefinition("ExpType", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "ComPlus component attributes."),
316 }, 322 },
317 tupleDefinitionName: TupleDefinitions.Complus.Name,
318 tupleIdIsPrimaryKey: false 323 tupleIdIsPrimaryKey: false
319 ); 324 );
320 325
321 public static readonly TableDefinition Directory = new TableDefinition( 326 public static readonly TableDefinition Directory = new TableDefinition(
322 "Directory", 327 "Directory",
328 TupleDefinitions.Directory,
323 new[] 329 new[]
324 { 330 {
325 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), 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),
326 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), 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),
327 new ColumnDefinition("DefaultDir", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.DefaultDir, description: "The default sub-path under parent's path."), 333 new ColumnDefinition("DefaultDir", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.DefaultDir, description: "The default sub-path under parent's path."),
328 }, 334 },
329 tupleDefinitionName: TupleDefinitions.Directory.Name,
330 tupleIdIsPrimaryKey: true 335 tupleIdIsPrimaryKey: true
331 ); 336 );
332 337
333 public static readonly TableDefinition Control = new TableDefinition( 338 public static readonly TableDefinition Control = new TableDefinition(
334 "Control", 339 "Control",
340 TupleDefinitions.Control,
335 new[] 341 new[]
336 { 342 {
337 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), 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
347 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!"), 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!"),
348 new ColumnDefinition("Help", ColumnType.Localized, 50, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The help strings used with the button. The text is optional. "), 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. "),
349 }, 355 },
350 tupleDefinitionName: TupleDefinitions.Control.Name,
351 tupleIdIsPrimaryKey: false 356 tupleIdIsPrimaryKey: false
352 ); 357 );
353 358
354 public static readonly TableDefinition Dialog = new TableDefinition( 359 public static readonly TableDefinition Dialog = new TableDefinition(
355 "Dialog", 360 "Dialog",
361 TupleDefinitions.Dialog,
356 new[] 362 new[]
357 { 363 {
358 new ColumnDefinition("Dialog", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the dialog.", modularizeType: ColumnModularizeType.Column), 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
366 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."), 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."),
367 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."), 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."),
368 }, 374 },
369 tupleDefinitionName: TupleDefinitions.Dialog.Name,
370 tupleIdIsPrimaryKey: true 375 tupleIdIsPrimaryKey: true
371 ); 376 );
372 377
373 public static readonly TableDefinition ControlCondition = new TableDefinition( 378 public static readonly TableDefinition ControlCondition = new TableDefinition(
374 "ControlCondition", 379 "ControlCondition",
380 TupleDefinitions.ControlCondition,
375 new[] 381 new[]
376 { 382 {
377 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), 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
379 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."), 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."),
380 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), 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),
381 }, 387 },
382 tupleDefinitionName: TupleDefinitions.ControlCondition.Name,
383 tupleIdIsPrimaryKey: false 388 tupleIdIsPrimaryKey: false
384 ); 389 );
385 390
386 public static readonly TableDefinition ControlEvent = new TableDefinition( 391 public static readonly TableDefinition ControlEvent = new TableDefinition(
387 "ControlEvent", 392 "ControlEvent",
393 TupleDefinitions.ControlEvent,
388 new[] 394 new[]
389 { 395 {
390 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), 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
394 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), 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),
395 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."), 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."),
396 }, 402 },
397 tupleDefinitionName: TupleDefinitions.ControlEvent.Name,
398 tupleIdIsPrimaryKey: false 403 tupleIdIsPrimaryKey: false
399 ); 404 );
400 405
401 public static readonly TableDefinition CreateFolder = new TableDefinition( 406 public static readonly TableDefinition CreateFolder = new TableDefinition(
402 "CreateFolder", 407 "CreateFolder",
408 TupleDefinitions.CreateFolder,
403 new[] 409 new[]
404 { 410 {
405 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), 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),
406 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), 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),
407 }, 413 },
408 tupleDefinitionName: TupleDefinitions.CreateFolder.Name,
409 tupleIdIsPrimaryKey: false 414 tupleIdIsPrimaryKey: false
410 ); 415 );
411 416
412 public static readonly TableDefinition CustomAction = new TableDefinition( 417 public static readonly TableDefinition CustomAction = new TableDefinition(
413 "CustomAction", 418 "CustomAction",
419 TupleDefinitions.CustomAction,
414 new[] 420 new[]
415 { 421 {
416 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), 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
419 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), 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),
420 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."), 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."),
421 }, 427 },
422 tupleDefinitionName: TupleDefinitions.CustomAction.Name,
423 tupleIdIsPrimaryKey: true 428 tupleIdIsPrimaryKey: true
424 ); 429 );
425 430
426 public static readonly TableDefinition DrLocator = new TableDefinition( 431 public static readonly TableDefinition DrLocator = new TableDefinition(
427 "DrLocator", 432 "DrLocator",
433 TupleDefinitions.DrLocator,
428 new[] 434 new[]
429 { 435 {
430 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), 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
432 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), 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),
433 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."), 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."),
434 }, 440 },
435 tupleDefinitionName: TupleDefinitions.DrLocator.Name,
436 tupleIdIsPrimaryKey: false 441 tupleIdIsPrimaryKey: false
437 ); 442 );
438 443
439 public static readonly TableDefinition DuplicateFile = new TableDefinition( 444 public static readonly TableDefinition DuplicateFile = new TableDefinition(
440 "DuplicateFile", 445 "DuplicateFile",
446 TupleDefinitions.DuplicateFile,
441 new[] 447 new[]
442 { 448 {
443 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), 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
446 new ColumnDefinition("DestName", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Filename, description: "Filename to be given to the duplicate file."), 452 new ColumnDefinition("DestName", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Filename, description: "Filename to be given to the duplicate file."),
447 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), 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),
448 }, 454 },
449 tupleDefinitionName: TupleDefinitions.DuplicateFile.Name,
450 tupleIdIsPrimaryKey: true 455 tupleIdIsPrimaryKey: true
451 ); 456 );
452 457
453 public static readonly TableDefinition Environment = new TableDefinition( 458 public static readonly TableDefinition Environment = new TableDefinition(
454 "Environment", 459 "Environment",
460 TupleDefinitions.Environment,
455 new[] 461 new[]
456 { 462 {
457 new ColumnDefinition("Environment", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique identifier for the environmental variable setting", modularizeType: ColumnModularizeType.Column), 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
459 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value to set in the environmental settings.", modularizeType: ColumnModularizeType.Property), 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),
460 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), 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),
461 }, 467 },
462 tupleDefinitionName: TupleDefinitions.Environment.Name,
463 tupleIdIsPrimaryKey: true 468 tupleIdIsPrimaryKey: true
464 ); 469 );
465 470
466 public static readonly TableDefinition Error = new TableDefinition( 471 public static readonly TableDefinition Error = new TableDefinition(
467 "Error", 472 "Error",
473 TupleDefinitions.Error,
468 new[] 474 new[]
469 { 475 {
470 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."), 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."),
471 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), 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),
472 }, 478 },
473 tupleDefinitionName: TupleDefinitions.Error.Name,
474 tupleIdIsPrimaryKey: true 479 tupleIdIsPrimaryKey: true
475 ); 480 );
476 481
477 public static readonly TableDefinition EventMapping = new TableDefinition( 482 public static readonly TableDefinition EventMapping = new TableDefinition(
478 "EventMapping", 483 "EventMapping",
484 TupleDefinitions.EventMapping,
479 new[] 485 new[]
480 { 486 {
481 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), 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
483 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."), 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."),
484 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."), 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."),
485 }, 491 },
486 tupleDefinitionName: TupleDefinitions.EventMapping.Name,
487 tupleIdIsPrimaryKey: false 492 tupleIdIsPrimaryKey: false
488 ); 493 );
489 494
490 public static readonly TableDefinition Extension = new TableDefinition( 495 public static readonly TableDefinition Extension = new TableDefinition(
491 "Extension", 496 "Extension",
497 TupleDefinitions.Extension,
492 new[] 498 new[]
493 { 499 {
494 new ColumnDefinition("Extension", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The extension associated with the table row."), 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
497 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"), 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"),
498 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."), 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."),
499 }, 505 },
500 tupleDefinitionName: TupleDefinitions.Extension.Name,
501 tupleIdIsPrimaryKey: false 506 tupleIdIsPrimaryKey: false
502 ); 507 );
503 508
504 public static readonly TableDefinition MIME = new TableDefinition( 509 public static readonly TableDefinition MIME = new TableDefinition(
505 "MIME", 510 "MIME",
511 TupleDefinitions.MIME,
506 new[] 512 new[]
507 { 513 {
508 new ColumnDefinition("ContentType", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key. Context identifier, typically \"type/format\"."), 514 new ColumnDefinition("ContentType", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key. Context identifier, typically \"type/format\"."),
509 new ColumnDefinition("Extension_", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, keyTable: "Extension", keyColumn: 1, description: "Optional associated extension (without dot)"), 515 new ColumnDefinition("Extension_", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, keyTable: "Extension", keyColumn: 1, description: "Optional associated extension (without dot)"),
510 new ColumnDefinition("CLSID", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, description: "Optional associated CLSID."), 516 new ColumnDefinition("CLSID", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, description: "Optional associated CLSID."),
511 }, 517 },
512 tupleDefinitionName: TupleDefinitions.MIME.Name,
513 tupleIdIsPrimaryKey: false 518 tupleIdIsPrimaryKey: false
514 ); 519 );
515 520
516 public static readonly TableDefinition FeatureComponents = new TableDefinition( 521 public static readonly TableDefinition FeatureComponents = new TableDefinition(
517 "FeatureComponents", 522 "FeatureComponents",
523 TupleDefinitions.FeatureComponents,
518 new[] 524 new[]
519 { 525 {
520 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into Feature table."), 526 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into Feature table."),
521 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), 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),
522 }, 528 },
523 tupleDefinitionName: TupleDefinitions.FeatureComponents.Name,
524 tupleIdIsPrimaryKey: false 529 tupleIdIsPrimaryKey: false
525 ); 530 );
526 531
527 public static readonly TableDefinition FileSFPCatalog = new TableDefinition( 532 public static readonly TableDefinition FileSFPCatalog = new TableDefinition(
528 "FileSFPCatalog", 533 "FileSFPCatalog",
534 TupleDefinitions.FileSFPCatalog,
529 new[] 535 new[]
530 { 536 {
531 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), 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),
532 new ColumnDefinition("SFPCatalog_", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Filename, keyTable: "SFPCatalog", keyColumn: 1, description: "Catalog associated with the file"), 538 new ColumnDefinition("SFPCatalog_", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Filename, keyTable: "SFPCatalog", keyColumn: 1, description: "Catalog associated with the file"),
533 }, 539 },
534 tupleDefinitionName: TupleDefinitions.FileSFPCatalog.Name,
535 tupleIdIsPrimaryKey: false 540 tupleIdIsPrimaryKey: false
536 ); 541 );
537 542
538 public static readonly TableDefinition SFPCatalog = new TableDefinition( 543 public static readonly TableDefinition SFPCatalog = new TableDefinition(
539 "SFPCatalog", 544 "SFPCatalog",
545 TupleDefinitions.SFPCatalog,
540 new[] 546 new[]
541 { 547 {
542 new ColumnDefinition("SFPCatalog", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Filename, description: "File name for the catalog."), 548 new ColumnDefinition("SFPCatalog", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Filename, description: "File name for the catalog."),
543 new ColumnDefinition("Catalog", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "SFP Catalog"), 549 new ColumnDefinition("Catalog", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "SFP Catalog"),
544 new ColumnDefinition("Dependency", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Parent catalog - only used by SFP", modularizeType: ColumnModularizeType.Property), 550 new ColumnDefinition("Dependency", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Parent catalog - only used by SFP", modularizeType: ColumnModularizeType.Property),
545 }, 551 },
546 tupleDefinitionName: TupleDefinitions.SFPCatalog.Name,
547 tupleIdIsPrimaryKey: false 552 tupleIdIsPrimaryKey: false
548 ); 553 );
549 554
550 public static readonly TableDefinition Font = new TableDefinition( 555 public static readonly TableDefinition Font = new TableDefinition(
551 "Font", 556 "Font",
557 null,
552 new[] 558 new[]
553 { 559 {
554 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), 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
559 565
560 public static readonly TableDefinition IniFile = new TableDefinition( 566 public static readonly TableDefinition IniFile = new TableDefinition(
561 "IniFile", 567 "IniFile",
568 TupleDefinitions.IniFile,
562 new[] 569 new[]
563 { 570 {
564 new ColumnDefinition("IniFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
570 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"), 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"),
571 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), 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),
572 }, 579 },
573 tupleDefinitionName: TupleDefinitions.IniFile.Name,
574 tupleIdIsPrimaryKey: true 580 tupleIdIsPrimaryKey: true
575 ); 581 );
576 582
577 public static readonly TableDefinition IniLocator = new TableDefinition( 583 public static readonly TableDefinition IniLocator = new TableDefinition(
578 "IniLocator", 584 "IniLocator",
585 TupleDefinitions.IniLocator,
579 new[] 586 new[]
580 { 587 {
581 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), 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
585 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."), 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."),
586 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."), 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."),
587 }, 594 },
588 tupleDefinitionName: TupleDefinitions.IniLocator.Name,
589 tupleIdIsPrimaryKey: false 595 tupleIdIsPrimaryKey: false
590 ); 596 );
591 597
592 public static readonly TableDefinition InstallExecuteSequence = new TableDefinition( 598 public static readonly TableDefinition InstallExecuteSequence = new TableDefinition(
593 "InstallExecuteSequence", 599 "InstallExecuteSequence",
600 null,
594 new[] 601 new[]
595 { 602 {
596 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."), 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
602 609
603 public static readonly TableDefinition InstallUISequence = new TableDefinition( 610 public static readonly TableDefinition InstallUISequence = new TableDefinition(
604 "InstallUISequence", 611 "InstallUISequence",
612 null,
605 new[] 613 new[]
606 { 614 {
607 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."), 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
613 621
614 public static readonly TableDefinition IsolatedComponent = new TableDefinition( 622 public static readonly TableDefinition IsolatedComponent = new TableDefinition(
615 "IsolatedComponent", 623 "IsolatedComponent",
624 TupleDefinitions.IsolatedComponent,
616 new[] 625 new[]
617 { 626 {
618 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), 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),
619 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), 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),
620 }, 629 },
621 tupleDefinitionName: TupleDefinitions.IsolatedComponent.Name,
622 tupleIdIsPrimaryKey: false 630 tupleIdIsPrimaryKey: false
623 ); 631 );
624 632
625 public static readonly TableDefinition LaunchCondition = new TableDefinition( 633 public static readonly TableDefinition LaunchCondition = new TableDefinition(
626 "LaunchCondition", 634 "LaunchCondition",
635 TupleDefinitions.LaunchCondition,
627 new[] 636 new[]
628 { 637 {
629 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), 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),
630 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Localizable text to display when condition fails and install must abort."), 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."),
631 }, 640 },
632 tupleDefinitionName: TupleDefinitions.LaunchCondition.Name,
633 tupleIdIsPrimaryKey: false 641 tupleIdIsPrimaryKey: false
634 ); 642 );
635 643
636 public static readonly TableDefinition ListBox = new TableDefinition( 644 public static readonly TableDefinition ListBox = new TableDefinition(
637 "ListBox", 645 "ListBox",
646 TupleDefinitions.ListBox,
638 new[] 647 new[]
639 { 648 {
640 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), 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
642 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), 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),
643 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."), 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."),
644 }, 653 },
645 tupleDefinitionName: TupleDefinitions.ListBox.Name,
646 tupleIdIsPrimaryKey: false 654 tupleIdIsPrimaryKey: false
647 ); 655 );
648 656
649 public static readonly TableDefinition ListView = new TableDefinition( 657 public static readonly TableDefinition ListView = new TableDefinition(
650 "ListView", 658 "ListView",
659 TupleDefinitions.ListView,
651 new[] 660 new[]
652 { 661 {
653 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), 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
656 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), 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),
657 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), 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),
658 }, 667 },
659 tupleDefinitionName: TupleDefinitions.ListView.Name,
660 tupleIdIsPrimaryKey: false 668 tupleIdIsPrimaryKey: false
661 ); 669 );
662 670
663 public static readonly TableDefinition LockPermissions = new TableDefinition( 671 public static readonly TableDefinition LockPermissions = new TableDefinition(
664 "LockPermissions", 672 "LockPermissions",
673 TupleDefinitions.LockPermissions,
665 new[] 674 new[]
666 { 675 {
667 new ColumnDefinition("LockObject", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Foreign key into Registry or File table", modularizeType: ColumnModularizeType.Column), 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
670 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), 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),
671 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)"), 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)"),
672 }, 681 },
673 tupleDefinitionName: TupleDefinitions.LockPermissions.Name,
674 tupleIdIsPrimaryKey: false 682 tupleIdIsPrimaryKey: false
675 ); 683 );
676 684
677 public static readonly TableDefinition MsiLockPermissionsEx = new TableDefinition( 685 public static readonly TableDefinition MsiLockPermissionsEx = new TableDefinition(
678 "MsiLockPermissionsEx", 686 "MsiLockPermissionsEx",
687 TupleDefinitions.MsiLockPermissionsEx,
679 new[] 688 new[]
680 { 689 {
681 new ColumnDefinition("MsiLockPermissionsEx", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), 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
684 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), 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),
685 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), 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),
686 }, 695 },
687 tupleDefinitionName: TupleDefinitions.MsiLockPermissionsEx.Name,
688 tupleIdIsPrimaryKey: true 696 tupleIdIsPrimaryKey: true
689 ); 697 );
690 698
691 public static readonly TableDefinition Media = new TableDefinition( 699 public static readonly TableDefinition Media = new TableDefinition(
692 "Media", 700 "Media",
701 TupleDefinitions.Media,
693 new[] 702 new[]
694 { 703 {
695 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."), 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
699 new ColumnDefinition("VolumeLabel", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The label attributed to the volume."), 708 new ColumnDefinition("VolumeLabel", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The label attributed to the volume."),
700 new ColumnDefinition("Source", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Property, description: "The property defining the location of the cabinet file."), 709 new ColumnDefinition("Source", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Property, description: "The property defining the location of the cabinet file."),
701 }, 710 },
702 tupleDefinitionName: TupleDefinitions.Media.Name,
703 tupleIdIsPrimaryKey: false 711 tupleIdIsPrimaryKey: false
704 ); 712 );
705 713
706 public static readonly TableDefinition MoveFile = new TableDefinition( 714 public static readonly TableDefinition MoveFile = new TableDefinition(
707 "MoveFile", 715 "MoveFile",
716 TupleDefinitions.MoveFile,
708 new[] 717 new[]
709 { 718 {
710 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), 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
715 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), 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),
716 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"), 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"),
717 }, 726 },
718 tupleDefinitionName: TupleDefinitions.MoveFile.Name,
719 tupleIdIsPrimaryKey: true 727 tupleIdIsPrimaryKey: true
720 ); 728 );
721 729
722 public static readonly TableDefinition MsiAssembly = new TableDefinition( 730 public static readonly TableDefinition MsiAssembly = new TableDefinition(
723 "MsiAssembly", 731 "MsiAssembly",
732 TupleDefinitions.Assembly,
724 new[] 733 new[]
725 { 734 {
726 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), 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
729 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), 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),
730 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Assembly attributes"), 739 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Assembly attributes"),
731 }, 740 },
732 tupleDefinitionName: TupleDefinitions.Assembly.Name,
733 tupleIdIsPrimaryKey: false 741 tupleIdIsPrimaryKey: false
734 ); 742 );
735 743
736 public static readonly TableDefinition MsiAssemblyName = new TableDefinition( 744 public static readonly TableDefinition MsiAssemblyName = new TableDefinition(
737 "MsiAssemblyName", 745 "MsiAssemblyName",
746 TupleDefinitions.MsiAssemblyName,
738 new[] 747 new[]
739 { 748 {
740 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), 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),
741 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."), 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."),
742 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."), 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."),
743 }, 752 },
744 tupleDefinitionName: TupleDefinitions.MsiAssemblyName.Name,
745 tupleIdIsPrimaryKey: false 753 tupleIdIsPrimaryKey: false
746 ); 754 );
747 755
748 public static readonly TableDefinition MsiDigitalCertificate = new TableDefinition( 756 public static readonly TableDefinition MsiDigitalCertificate = new TableDefinition(
749 "MsiDigitalCertificate", 757 "MsiDigitalCertificate",
758 TupleDefinitions.MsiDigitalCertificate,
750 new[] 759 new[]
751 { 760 {
752 new ColumnDefinition("DigitalCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique identifier for the row"), 761 new ColumnDefinition("DigitalCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique identifier for the row"),
753 new ColumnDefinition("CertData", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "A certificate context blob for a signer certificate"), 762 new ColumnDefinition("CertData", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "A certificate context blob for a signer certificate"),
754 }, 763 },
755 tupleDefinitionName: TupleDefinitions.MsiDigitalCertificate.Name,
756 tupleIdIsPrimaryKey: true 764 tupleIdIsPrimaryKey: true
757 ); 765 );
758 766
759 public static readonly TableDefinition MsiDigitalSignature = new TableDefinition( 767 public static readonly TableDefinition MsiDigitalSignature = new TableDefinition(
760 "MsiDigitalSignature", 768 "MsiDigitalSignature",
769 TupleDefinitions.MsiDigitalSignature,
761 new[] 770 new[]
762 { 771 {
763 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)"), 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
765 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"), 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"),
766 new ColumnDefinition("Hash", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Binary, description: "The encoded hash blob from the digital signature"), 775 new ColumnDefinition("Hash", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Binary, description: "The encoded hash blob from the digital signature"),
767 }, 776 },
768 tupleDefinitionName: TupleDefinitions.MsiDigitalSignature.Name,
769 tupleIdIsPrimaryKey: false 777 tupleIdIsPrimaryKey: false
770 ); 778 );
771 779
772 public static readonly TableDefinition MsiEmbeddedChainer = new TableDefinition( 780 public static readonly TableDefinition MsiEmbeddedChainer = new TableDefinition(
773 "MsiEmbeddedChainer", 781 "MsiEmbeddedChainer",
782 TupleDefinitions.MsiEmbeddedChainer,
774 new[] 783 new[]
775 { 784 {
776 new ColumnDefinition("MsiEmbeddedChainer", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key for the table.", modularizeType: ColumnModularizeType.Column), 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
779 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), 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),
780 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."), 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."),
781 }, 790 },
782 tupleDefinitionName: TupleDefinitions.MsiEmbeddedChainer.Name,
783 tupleIdIsPrimaryKey: true 791 tupleIdIsPrimaryKey: true
784 ); 792 );
785 793
786 public static readonly TableDefinition MsiEmbeddedUI = new TableDefinition( 794 public static readonly TableDefinition MsiEmbeddedUI = new TableDefinition(
787 "MsiEmbeddedUI", 795 "MsiEmbeddedUI",
796 TupleDefinitions.MsiEmbeddedUI,
788 new[] 797 new[]
789 { 798 {
790 new ColumnDefinition("MsiEmbeddedUI", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key for the table.", modularizeType: ColumnModularizeType.Column), 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
793 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."), 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."),
794 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "This column contains binary information."), 803 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "This column contains binary information."),
795 }, 804 },
796 tupleDefinitionName: TupleDefinitions.MsiEmbeddedUI.Name,
797 tupleIdIsPrimaryKey: true 805 tupleIdIsPrimaryKey: true
798 ); 806 );
799 807
800 public static readonly TableDefinition MsiFileHash = new TableDefinition( 808 public static readonly TableDefinition MsiFileHash = new TableDefinition(
801 "MsiFileHash", 809 "MsiFileHash",
810 TupleDefinitions.MsiFileHash,
802 new[] 811 new[]
803 { 812 {
804 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), 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
808 new ColumnDefinition("HashPart3", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Size of file in bytes (long integer)."), 817 new ColumnDefinition("HashPart3", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Size of file in bytes (long integer)."),
809 new ColumnDefinition("HashPart4", 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)."),
810 }, 819 },
811 tupleDefinitionName: TupleDefinitions.MsiFileHash.Name,
812 tupleIdIsPrimaryKey: true 820 tupleIdIsPrimaryKey: true
813 ); 821 );
814 822
815 public static readonly TableDefinition MsiPackageCertificate = new TableDefinition( 823 public static readonly TableDefinition MsiPackageCertificate = new TableDefinition(
816 "MsiPackageCertificate", 824 "MsiPackageCertificate",
825 TupleDefinitions.MsiPackageCertificate,
817 new[] 826 new[]
818 { 827 {
819 new ColumnDefinition("PackageCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."), 828 new ColumnDefinition("PackageCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."),
820 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."), 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."),
821 }, 830 },
822 tupleDefinitionName: TupleDefinitions.MsiPackageCertificate.Name,
823 tupleIdIsPrimaryKey: false 831 tupleIdIsPrimaryKey: false
824 ); 832 );
825 833
826 public static readonly TableDefinition MsiPatchCertificate = new TableDefinition( 834 public static readonly TableDefinition MsiPatchCertificate = new TableDefinition(
827 "MsiPatchCertificate", 835 "MsiPatchCertificate",
836 TupleDefinitions.MsiPatchCertificate,
828 new[] 837 new[]
829 { 838 {
830 new ColumnDefinition("PatchCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."), 839 new ColumnDefinition("PatchCertificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."),
831 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."), 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."),
832 }, 841 },
833 tupleDefinitionName: TupleDefinitions.MsiPatchCertificate.Name,
834 tupleIdIsPrimaryKey: false 842 tupleIdIsPrimaryKey: false
835 ); 843 );
836 844
837 public static readonly TableDefinition MsiPatchHeaders = new TableDefinition( 845 public static readonly TableDefinition MsiPatchHeaders = new TableDefinition(
838 "MsiPatchHeaders", 846 "MsiPatchHeaders",
847 TupleDefinitions.MsiPatchHeaders,
839 new[] 848 new[]
840 { 849 {
841 new ColumnDefinition("StreamRef", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."), 850 new ColumnDefinition("StreamRef", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. A unique identifier for the row."),
842 new ColumnDefinition("Header", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Binary stream. The patch header, used for patch validation."), 851 new ColumnDefinition("Header", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Binary stream. The patch header, used for patch validation."),
843 }, 852 },
844 tupleDefinitionName: TupleDefinitions.MsiPatchHeaders.Name,
845 tupleIdIsPrimaryKey: false 853 tupleIdIsPrimaryKey: false
846 ); 854 );
847 855
848 public static readonly TableDefinition PatchMetadata = new TableDefinition( 856 public static readonly TableDefinition PatchMetadata = new TableDefinition(
849 "PatchMetadata", 857 "PatchMetadata",
858 TupleDefinitions.PatchMetadata,
850 new[] 859 new[]
851 { 860 {
852 new ColumnDefinition("Company", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Identifier, description: "Primary key. The name of the company."), 861 new ColumnDefinition("Company", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Identifier, description: "Primary key. The name of the company."),
853 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. The name of the property."), 862 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. The name of the property."),
854 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Non-null, non-empty value of the metadata property."), 863 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Non-null, non-empty value of the metadata property."),
855 }, 864 },
856 tupleDefinitionName: TupleDefinitions.PatchMetadata.Name,
857 tupleIdIsPrimaryKey: false 865 tupleIdIsPrimaryKey: false
858 ); 866 );
859 867
860 public static readonly TableDefinition MsiPatchMetadata = new TableDefinition( 868 public static readonly TableDefinition MsiPatchMetadata = new TableDefinition(
861 "MsiPatchMetadata", 869 "MsiPatchMetadata",
870 TupleDefinitions.MsiPatchMetadata,
862 new[] 871 new[]
863 { 872 {
864 new ColumnDefinition("Company", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Unknown), 873 new ColumnDefinition("Company", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Unknown),
865 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 874 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
866 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 875 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
867 }, 876 },
868 tupleDefinitionName: TupleDefinitions.MsiPatchMetadata.Name,
869 tupleIdIsPrimaryKey: false 877 tupleIdIsPrimaryKey: false
870 ); 878 );
871 879
872 public static readonly TableDefinition MsiPatchOldAssemblyFile = new TableDefinition( 880 public static readonly TableDefinition MsiPatchOldAssemblyFile = new TableDefinition(
873 "MsiPatchOldAssemblyFile", 881 "MsiPatchOldAssemblyFile",
882 TupleDefinitions.MsiPatchOldAssemblyFile,
874 new[] 883 new[]
875 { 884 {
876 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), 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),
877 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), 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),
878 }, 887 },
879 tupleDefinitionName: TupleDefinitions.MsiPatchOldAssemblyFile.Name,
880 tupleIdIsPrimaryKey: false 888 tupleIdIsPrimaryKey: false
881 ); 889 );
882 890
883 public static readonly TableDefinition MsiPatchOldAssemblyName = new TableDefinition( 891 public static readonly TableDefinition MsiPatchOldAssemblyName = new TableDefinition(
884 "MsiPatchOldAssemblyName", 892 "MsiPatchOldAssemblyName",
893 TupleDefinitions.MsiPatchOldAssemblyName,
885 new[] 894 new[]
886 { 895 {
887 new ColumnDefinition("Assembly", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique identifier for the row.", modularizeType: ColumnModularizeType.Column), 896 new ColumnDefinition("Assembly", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique identifier for the row.", modularizeType: ColumnModularizeType.Column),
888 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."), 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."),
889 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."), 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."),
890 }, 899 },
891 tupleDefinitionName: TupleDefinitions.MsiPatchOldAssemblyName.Name,
892 tupleIdIsPrimaryKey: false 900 tupleIdIsPrimaryKey: false
893 ); 901 );
894 902
895 public static readonly TableDefinition PatchSequence = new TableDefinition( 903 public static readonly TableDefinition PatchSequence = new TableDefinition(
896 "PatchSequence", 904 "PatchSequence",
905 TupleDefinitions.PatchSequence,
897 new[] 906 new[]
898 { 907 {
899 new ColumnDefinition("PatchFamily", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. The name of the family for the patch."), 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
901 new ColumnDefinition("Sequence", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Sequence information in version (x.x.x.x) format."), 910 new ColumnDefinition("Sequence", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Sequence information in version (x.x.x.x) format."),
902 new ColumnDefinition("Supersede", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Indicates that this patch supersedes earlier patches."), 911 new ColumnDefinition("Supersede", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Indicates that this patch supersedes earlier patches."),
903 }, 912 },
904 tupleDefinitionName: TupleDefinitions.PatchSequence.Name,
905 tupleIdIsPrimaryKey: false 913 tupleIdIsPrimaryKey: false
906 ); 914 );
907 915
908 public static readonly TableDefinition MsiPatchSequence = new TableDefinition( 916 public static readonly TableDefinition MsiPatchSequence = new TableDefinition(
909 "MsiPatchSequence", 917 "MsiPatchSequence",
918 TupleDefinitions.MsiPatchSequence,
910 new[] 919 new[]
911 { 920 {
912 new ColumnDefinition("PatchFamily", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 921 new ColumnDefinition("PatchFamily", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -914,24 +923,24 @@ namespace WixToolset.Data.WindowsInstaller
914 new ColumnDefinition("Sequence", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown), 923 new ColumnDefinition("Sequence", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
915 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown), 924 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown),
916 }, 925 },
917 tupleDefinitionName: TupleDefinitions.MsiPatchSequence.Name,
918 tupleIdIsPrimaryKey: false 926 tupleIdIsPrimaryKey: false
919 ); 927 );
920 928
921 public static readonly TableDefinition ODBCAttribute = new TableDefinition( 929 public static readonly TableDefinition ODBCAttribute = new TableDefinition(
922 "ODBCAttribute", 930 "ODBCAttribute",
931 TupleDefinitions.ODBCAttribute,
923 new[] 932 new[]
924 { 933 {
925 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), 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),
926 new ColumnDefinition("Attribute", ColumnType.String, 40, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Name of ODBC driver attribute"), 935 new ColumnDefinition("Attribute", ColumnType.String, 40, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Name of ODBC driver attribute"),
927 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Value for ODBC driver attribute"), 936 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Value for ODBC driver attribute"),
928 }, 937 },
929 tupleDefinitionName: TupleDefinitions.ODBCAttribute.Name,
930 tupleIdIsPrimaryKey: false 938 tupleIdIsPrimaryKey: false
931 ); 939 );
932 940
933 public static readonly TableDefinition ODBCDriver = new TableDefinition( 941 public static readonly TableDefinition ODBCDriver = new TableDefinition(
934 "ODBCDriver", 942 "ODBCDriver",
943 TupleDefinitions.ODBCDriver,
935 new[] 944 new[]
936 { 945 {
937 new ColumnDefinition("Driver", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized.internal token for driver", modularizeType: ColumnModularizeType.Column), 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
940 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), 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),
941 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), 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),
942 }, 951 },
943 tupleDefinitionName: TupleDefinitions.ODBCDriver.Name,
944 tupleIdIsPrimaryKey: true 952 tupleIdIsPrimaryKey: true
945 ); 953 );
946 954
947 public static readonly TableDefinition ODBCDataSource = new TableDefinition( 955 public static readonly TableDefinition ODBCDataSource = new TableDefinition(
948 "ODBCDataSource", 956 "ODBCDataSource",
957 TupleDefinitions.ODBCDataSource,
949 new[] 958 new[]
950 { 959 {
951 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), 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
954 new ColumnDefinition("DriverDescription", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Reference to driver description, may be existing driver"), 963 new ColumnDefinition("DriverDescription", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Reference to driver description, may be existing driver"),
955 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."), 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."),
956 }, 965 },
957 tupleDefinitionName: TupleDefinitions.ODBCDataSource.Name,
958 tupleIdIsPrimaryKey: true 966 tupleIdIsPrimaryKey: true
959 ); 967 );
960 968
961 public static readonly TableDefinition ODBCSourceAttribute = new TableDefinition( 969 public static readonly TableDefinition ODBCSourceAttribute = new TableDefinition(
962 "ODBCSourceAttribute", 970 "ODBCSourceAttribute",
971 TupleDefinitions.ODBCSourceAttribute,
963 new[] 972 new[]
964 { 973 {
965 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), 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),
966 new ColumnDefinition("Attribute", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Name of ODBC data source attribute"), 975 new ColumnDefinition("Attribute", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Name of ODBC data source attribute"),
967 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Value for ODBC data source attribute"), 976 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Value for ODBC data source attribute"),
968 }, 977 },
969 tupleDefinitionName: TupleDefinitions.ODBCSourceAttribute.Name,
970 tupleIdIsPrimaryKey: false 978 tupleIdIsPrimaryKey: false
971 ); 979 );
972 980
973 public static readonly TableDefinition ODBCTranslator = new TableDefinition( 981 public static readonly TableDefinition ODBCTranslator = new TableDefinition(
974 "ODBCTranslator", 982 "ODBCTranslator",
983 TupleDefinitions.ODBCTranslator,
975 new[] 984 new[]
976 { 985 {
977 new ColumnDefinition("Translator", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized.internal token for translator", modularizeType: ColumnModularizeType.Column), 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
980 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), 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),
981 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), 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),
982 }, 991 },
983 tupleDefinitionName: TupleDefinitions.ODBCTranslator.Name,
984 tupleIdIsPrimaryKey: true 992 tupleIdIsPrimaryKey: true
985 ); 993 );
986 994
987 public static readonly TableDefinition Patch = new TableDefinition( 995 public static readonly TableDefinition Patch = new TableDefinition(
988 "Patch", 996 "Patch",
997 TupleDefinitions.Patch,
989 new[] 998 new[]
990 { 999 {
991 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), 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
995 new ColumnDefinition("Header", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Binary, description: "Binary stream. The patch header, used for patch validation."), 1004 new ColumnDefinition("Header", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Binary, description: "Binary stream. The patch header, used for patch validation."),
996 new ColumnDefinition("StreamRef_", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Identifier. Foreign key to the StreamRef column of the MsiPatchHeaders table."), 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."),
997 }, 1006 },
998 tupleDefinitionName: TupleDefinitions.Patch.Name,
999 tupleIdIsPrimaryKey: false 1007 tupleIdIsPrimaryKey: false
1000 ); 1008 );
1001 1009
1002 public static readonly TableDefinition PatchPackage = new TableDefinition( 1010 public static readonly TableDefinition PatchPackage = new TableDefinition(
1003 "PatchPackage", 1011 "PatchPackage",
1012 TupleDefinitions.PatchPackage,
1004 new[] 1013 new[]
1005 { 1014 {
1006 new ColumnDefinition("PatchId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "A unique string GUID representing this patch."), 1015 new ColumnDefinition("PatchId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "A unique string GUID representing this patch."),
1007 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."), 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."),
1008 }, 1017 },
1009 tupleDefinitionName: TupleDefinitions.PatchPackage.Name,
1010 tupleIdIsPrimaryKey: false 1018 tupleIdIsPrimaryKey: false
1011 ); 1019 );
1012 1020
1013 public static readonly TableDefinition PublishComponent = new TableDefinition( 1021 public static readonly TableDefinition PublishComponent = new TableDefinition(
1014 "PublishComponent", 1022 "PublishComponent",
1023 TupleDefinitions.PublishComponent,
1015 new[] 1024 new[]
1016 { 1025 {
1017 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."), 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
1020 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."), 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."),
1021 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into the Feature table."), 1030 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into the Feature table."),
1022 }, 1031 },
1023 tupleDefinitionName: TupleDefinitions.PublishComponent.Name,
1024 tupleIdIsPrimaryKey: false 1032 tupleIdIsPrimaryKey: false
1025 ); 1033 );
1026 1034
1027 public static readonly TableDefinition RadioButton = new TableDefinition( 1035 public static readonly TableDefinition RadioButton = new TableDefinition(
1028 "RadioButton", 1036 "RadioButton",
1037 TupleDefinitions.RadioButton,
1029 new[] 1038 new[]
1030 { 1039 {
1031 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), 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
1038 new ColumnDefinition("Text", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The visible title to be assigned to the radio button."), 1047 new ColumnDefinition("Text", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The visible title to be assigned to the radio button."),
1039 new ColumnDefinition("Help", ColumnType.Localized, 50, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The help strings used with the button. The text is optional."), 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."),
1040 }, 1049 },
1041 tupleDefinitionName: TupleDefinitions.RadioButton.Name,
1042 tupleIdIsPrimaryKey: false 1050 tupleIdIsPrimaryKey: false
1043 ); 1051 );
1044 1052
1045 public static readonly TableDefinition Registry = new TableDefinition( 1053 public static readonly TableDefinition Registry = new TableDefinition(
1046 "Registry", 1054 "Registry",
1055 TupleDefinitions.Registry,
1047 new[] 1056 new[]
1048 { 1057 {
1049 new ColumnDefinition("Registry", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
1053 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value.", modularizeType: ColumnModularizeType.Property), 1062 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value.", modularizeType: ColumnModularizeType.Property),
1054 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), 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),
1055 }, 1064 },
1056 tupleDefinitionName: TupleDefinitions.Registry.Name,
1057 tupleIdIsPrimaryKey: true 1065 tupleIdIsPrimaryKey: true
1058 ); 1066 );
1059 1067
1060 public static readonly TableDefinition RegLocator = new TableDefinition( 1068 public static readonly TableDefinition RegLocator = new TableDefinition(
1061 "RegLocator", 1069 "RegLocator",
1070 TupleDefinitions.RegLocator,
1062 new[] 1071 new[]
1063 { 1072 {
1064 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), 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
1067 new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value name.", modularizeType: ColumnModularizeType.Property, forceLocalizable: true), 1076 new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value name.", modularizeType: ColumnModularizeType.Property, forceLocalizable: true),
1068 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."), 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."),
1069 }, 1078 },
1070 tupleDefinitionName: TupleDefinitions.RegLocator.Name,
1071 tupleIdIsPrimaryKey: true 1079 tupleIdIsPrimaryKey: true
1072 ); 1080 );
1073 1081
1074 public static readonly TableDefinition RemoveFile = new TableDefinition( 1082 public static readonly TableDefinition RemoveFile = new TableDefinition(
1075 "RemoveFile", 1083 "RemoveFile",
1084 TupleDefinitions.RemoveFile,
1076 new[] 1085 new[]
1077 { 1086 {
1078 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), 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
1081 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), 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),
1082 new ColumnDefinition("InstallMode", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "1;2;3", description: "Installation option, one of iimEnum."), 1091 new ColumnDefinition("InstallMode", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "1;2;3", description: "Installation option, one of iimEnum."),
1083 }, 1092 },
1084 tupleDefinitionName: TupleDefinitions.RemoveFile.Name,
1085 tupleIdIsPrimaryKey: true 1093 tupleIdIsPrimaryKey: true
1086 ); 1094 );
1087 1095
1088 public static readonly TableDefinition RemoveIniFile = new TableDefinition( 1096 public static readonly TableDefinition RemoveIniFile = new TableDefinition(
1089 "RemoveIniFile", 1097 "RemoveIniFile",
1098 null,
1090 new[] 1099 new[]
1091 { 1100 {
1092 new ColumnDefinition("RemoveIniFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
1103 1112
1104 public static readonly TableDefinition RemoveRegistry = new TableDefinition( 1113 public static readonly TableDefinition RemoveRegistry = new TableDefinition(
1105 "RemoveRegistry", 1114 "RemoveRegistry",
1115 TupleDefinitions.RemoveRegistry,
1106 new[] 1116 new[]
1107 { 1117 {
1108 new ColumnDefinition("RemoveRegistry", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
1111 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value name.", modularizeType: ColumnModularizeType.Property), 1121 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value name.", modularizeType: ColumnModularizeType.Property),
1112 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), 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),
1113 }, 1123 },
1114 tupleDefinitionName: TupleDefinitions.RemoveRegistry.Name,
1115 tupleIdIsPrimaryKey: true 1124 tupleIdIsPrimaryKey: true
1116 ); 1125 );
1117 1126
1118 public static readonly TableDefinition ReserveCost = new TableDefinition( 1127 public static readonly TableDefinition ReserveCost = new TableDefinition(
1119 "ReserveCost", 1128 "ReserveCost",
1129 TupleDefinitions.ReserveCost,
1120 new[] 1130 new[]
1121 { 1131 {
1122 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), 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
1125 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."), 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."),
1126 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."), 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."),
1127 }, 1137 },
1128 tupleDefinitionName: TupleDefinitions.ReserveCost.Name,
1129 tupleIdIsPrimaryKey: true 1138 tupleIdIsPrimaryKey: true
1130 ); 1139 );
1131 1140
1132 public static readonly TableDefinition SelfReg = new TableDefinition( 1141 public static readonly TableDefinition SelfReg = new TableDefinition(
1133 "SelfReg", 1142 "SelfReg",
1143 null,
1134 new[] 1144 new[]
1135 { 1145 {
1136 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), 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
1141 1151
1142 public static readonly TableDefinition ServiceControl = new TableDefinition( 1152 public static readonly TableDefinition ServiceControl = new TableDefinition(
1143 "ServiceControl", 1153 "ServiceControl",
1154 TupleDefinitions.ServiceControl,
1144 new[] 1155 new[]
1145 { 1156 {
1146 new ColumnDefinition("ServiceControl", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
1150 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"), 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"),
1151 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), 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),
1152 }, 1163 },
1153 tupleDefinitionName: TupleDefinitions.ServiceControl.Name,
1154 tupleIdIsPrimaryKey: true 1164 tupleIdIsPrimaryKey: true
1155 ); 1165 );
1156 1166
1157 public static readonly TableDefinition ServiceInstall = new TableDefinition( 1167 public static readonly TableDefinition ServiceInstall = new TableDefinition(
1158 "ServiceInstall", 1168 "ServiceInstall",
1169 TupleDefinitions.ServiceInstall,
1159 new[] 1170 new[]
1160 { 1171 {
1161 new ColumnDefinition("ServiceInstall", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
1172 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), 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),
1173 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Description of service.", modularizeType: ColumnModularizeType.Property), 1184 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Description of service.", modularizeType: ColumnModularizeType.Property),
1174 }, 1185 },
1175 tupleDefinitionName: TupleDefinitions.ServiceInstall.Name,
1176 tupleIdIsPrimaryKey: true 1186 tupleIdIsPrimaryKey: true
1177 ); 1187 );
1178 1188
1179 public static readonly TableDefinition MsiServiceConfig = new TableDefinition( 1189 public static readonly TableDefinition MsiServiceConfig = new TableDefinition(
1180 "MsiServiceConfig", 1190 "MsiServiceConfig",
1191 TupleDefinitions.MsiServiceConfig,
1181 new[] 1192 new[]
1182 { 1193 {
1183 new ColumnDefinition("MsiServiceConfig", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
1187 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"), 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"),
1188 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), 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),
1189 }, 1200 },
1190 tupleDefinitionName: TupleDefinitions.MsiServiceConfig.Name,
1191 tupleIdIsPrimaryKey: true 1201 tupleIdIsPrimaryKey: true
1192 ); 1202 );
1193 1203
1194 public static readonly TableDefinition MsiServiceConfigFailureActions = new TableDefinition( 1204 public static readonly TableDefinition MsiServiceConfigFailureActions = new TableDefinition(
1195 "MsiServiceConfigFailureActions", 1205 "MsiServiceConfigFailureActions",
1206 TupleDefinitions.MsiServiceConfigFailureActions,
1196 new[] 1207 new[]
1197 { 1208 {
1198 new ColumnDefinition("MsiServiceConfigFailureActions", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), 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
1205 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 [~][~]"), 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 [~][~]"),
1206 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), 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),
1207 }, 1218 },
1208 tupleDefinitionName: TupleDefinitions.MsiServiceConfigFailureActions.Name,
1209 tupleIdIsPrimaryKey: true 1219 tupleIdIsPrimaryKey: true
1210 ); 1220 );
1211 1221
1212 public static readonly TableDefinition Shortcut = new TableDefinition( 1222 public static readonly TableDefinition Shortcut = new TableDefinition(
1213 "Shortcut", 1223 "Shortcut",
1224 TupleDefinitions.Shortcut,
1214 new[] 1225 new[]
1215 { 1226 {
1216 new ColumnDefinition("Shortcut", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), 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
1230 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), 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),
1231 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."), 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."),
1232 }, 1243 },
1233 tupleDefinitionName: TupleDefinitions.Shortcut.Name,
1234 tupleIdIsPrimaryKey: true 1244 tupleIdIsPrimaryKey: true
1235 ); 1245 );
1236 1246
1237 public static readonly TableDefinition MsiShortcutProperty = new TableDefinition( 1247 public static readonly TableDefinition MsiShortcutProperty = new TableDefinition(
1238 "MsiShortcutProperty", 1248 "MsiShortcutProperty",
1249 TupleDefinitions.MsiShortcutProperty,
1239 new[] 1250 new[]
1240 { 1251 {
1241 new ColumnDefinition("MsiShortcutProperty", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), 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
1243 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), 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),
1244 new ColumnDefinition("PropVariantValue", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "String representation of the value in the property", 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),
1245 }, 1256 },
1246 tupleDefinitionName: TupleDefinitions.MsiShortcutProperty.Name,
1247 tupleIdIsPrimaryKey: true 1257 tupleIdIsPrimaryKey: true
1248 ); 1258 );
1249 1259
1250 public static readonly TableDefinition Signature = new TableDefinition( 1260 public static readonly TableDefinition Signature = new TableDefinition(
1251 "Signature", 1261 "Signature",
1262 TupleDefinitions.Signature,
1252 new[] 1263 new[]
1253 { 1264 {
1254 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), 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
1261 new ColumnDefinition("MaxDate", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "The maximum creation date of the file."), 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."),
1262 new ColumnDefinition("Languages", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Language, description: "The languages supported by the file."), 1273 new ColumnDefinition("Languages", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Language, description: "The languages supported by the file."),
1263 }, 1274 },
1264 tupleDefinitionName: TupleDefinitions.Signature.Name,
1265 tupleIdIsPrimaryKey: true 1275 tupleIdIsPrimaryKey: true
1266 ); 1276 );
1267 1277
1268 public static readonly TableDefinition TextStyle = new TableDefinition( 1278 public static readonly TableDefinition TextStyle = new TableDefinition(
1269 "TextStyle", 1279 "TextStyle",
1280 TupleDefinitions.TextStyle,
1270 new[] 1281 new[]
1271 { 1282 {
1272 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."), 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
1275 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)."), 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)."),
1276 new ColumnDefinition("StyleBits", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 15, description: "A combination of style bits."), 1287 new ColumnDefinition("StyleBits", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 15, description: "A combination of style bits."),
1277 }, 1288 },
1278 tupleDefinitionName: TupleDefinitions.TextStyle.Name,
1279 tupleIdIsPrimaryKey: true 1289 tupleIdIsPrimaryKey: true
1280 ); 1290 );
1281 1291
1282 public static readonly TableDefinition TypeLib = new TableDefinition( 1292 public static readonly TableDefinition TypeLib = new TableDefinition(
1283 "TypeLib", 1293 "TypeLib",
1294 TupleDefinitions.TypeLib,
1284 new[] 1295 new[]
1285 { 1296 {
1286 new ColumnDefinition("LibID", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The GUID that represents the library."), 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
1292 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."), 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."),
1293 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."), 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."),
1294 }, 1305 },
1295 tupleDefinitionName: TupleDefinitions.TypeLib.Name,
1296 tupleIdIsPrimaryKey: false 1306 tupleIdIsPrimaryKey: false
1297 ); 1307 );
1298 1308
1299 public static readonly TableDefinition UIText = new TableDefinition( 1309 public static readonly TableDefinition UIText = new TableDefinition(
1300 "UIText", 1310 "UIText",
1311 TupleDefinitions.UIText,
1301 new[] 1312 new[]
1302 { 1313 {
1303 new ColumnDefinition("Key", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique key that identifies the particular string."), 1314 new ColumnDefinition("Key", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "A unique key that identifies the particular string."),
1304 new ColumnDefinition("Text", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The localized version of the string."), 1315 new ColumnDefinition("Text", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The localized version of the string."),
1305 }, 1316 },
1306 tupleDefinitionName: TupleDefinitions.UIText.Name,
1307 tupleIdIsPrimaryKey: true 1317 tupleIdIsPrimaryKey: true
1308 ); 1318 );
1309 1319
1310 public static readonly TableDefinition Upgrade = new TableDefinition( 1320 public static readonly TableDefinition Upgrade = new TableDefinition(
1311 "Upgrade", 1321 "Upgrade",
1322 TupleDefinitions.Upgrade,
1312 new[] 1323 new[]
1313 { 1324 {
1314 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The UpgradeCode GUID belonging to the products in this set."), 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
1319 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\"."), 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\"."),
1320 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."), 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."),
1321 }, 1332 },
1322 tupleDefinitionName: TupleDefinitions.Upgrade.Name,
1323 tupleIdIsPrimaryKey: false 1333 tupleIdIsPrimaryKey: false
1324 ); 1334 );
1325 1335
1326 public static readonly TableDefinition Verb = new TableDefinition( 1336 public static readonly TableDefinition Verb = new TableDefinition(
1327 "Verb", 1337 "Verb",
1338 TupleDefinitions.Verb,
1328 new[] 1339 new[]
1329 { 1340 {
1330 new ColumnDefinition("Extension_", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "Extension", keyColumn: 1, description: "The extension associated with the table row."), 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
1333 new ColumnDefinition("Command", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The command text.", modularizeType: ColumnModularizeType.Property), 1344 new ColumnDefinition("Command", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The command text.", modularizeType: ColumnModularizeType.Property),
1334 new ColumnDefinition("Argument", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Optional value for the command arguments.", 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),
1335 }, 1346 },
1336 tupleDefinitionName: TupleDefinitions.Verb.Name,
1337 tupleIdIsPrimaryKey: false 1347 tupleIdIsPrimaryKey: false
1338 ); 1348 );
1339 1349
1340 public static readonly TableDefinition ModuleAdminExecuteSequence = new TableDefinition( 1350 public static readonly TableDefinition ModuleAdminExecuteSequence = new TableDefinition(
1341 "ModuleAdminExecuteSequence", 1351 "ModuleAdminExecuteSequence",
1352 null,
1342 new[] 1353 new[]
1343 { 1354 {
1344 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column), 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
1352 1363
1353 public static readonly TableDefinition ModuleAdminUISequence = new TableDefinition( 1364 public static readonly TableDefinition ModuleAdminUISequence = new TableDefinition(
1354 "ModuleAdminUISequence", 1365 "ModuleAdminUISequence",
1366 null,
1355 new[] 1367 new[]
1356 { 1368 {
1357 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column), 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
1365 1377
1366 public static readonly TableDefinition ModuleAdvtExecuteSequence = new TableDefinition( 1378 public static readonly TableDefinition ModuleAdvtExecuteSequence = new TableDefinition(
1367 "ModuleAdvtExecuteSequence", 1379 "ModuleAdvtExecuteSequence",
1380 null,
1368 new[] 1381 new[]
1369 { 1382 {
1370 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column), 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
1378 1391
1379 public static readonly TableDefinition ModuleAdvtUISequence = new TableDefinition( 1392 public static readonly TableDefinition ModuleAdvtUISequence = new TableDefinition(
1380 "ModuleAdvtUISequence", 1393 "ModuleAdvtUISequence",
1394 null,
1381 new[] 1395 new[]
1382 { 1396 {
1383 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column), 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
1391 1405
1392 public static readonly TableDefinition ModuleComponents = new TableDefinition( 1406 public static readonly TableDefinition ModuleComponents = new TableDefinition(
1393 "ModuleComponents", 1407 "ModuleComponents",
1408 TupleDefinitions.ModuleComponents,
1394 new[] 1409 new[]
1395 { 1410 {
1396 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), 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),
1397 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "ModuleSignature", keyColumn: 1, description: "Module containing the component.", 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),
1398 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), 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),
1399 }, 1414 },
1400 tupleDefinitionName: TupleDefinitions.ModuleComponents.Name,
1401 tupleIdIsPrimaryKey: false 1415 tupleIdIsPrimaryKey: false
1402 ); 1416 );
1403 1417
1404 public static readonly TableDefinition ModuleSignature = new TableDefinition( 1418 public static readonly TableDefinition ModuleSignature = new TableDefinition(
1405 "ModuleSignature", 1419 "ModuleSignature",
1420 TupleDefinitions.ModuleSignature,
1406 new[] 1421 new[]
1407 { 1422 {
1408 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Module identifier (String.GUID).", modularizeType: ColumnModularizeType.Column), 1423 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Module identifier (String.GUID).", modularizeType: ColumnModularizeType.Column),
1409 new ColumnDefinition("Language", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Default decimal language of module.", forceLocalizable: true), 1424 new ColumnDefinition("Language", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Default decimal language of module.", forceLocalizable: true),
1410 new ColumnDefinition("Version", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Version, description: "Version of the module."), 1425 new ColumnDefinition("Version", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Version, description: "Version of the module."),
1411 }, 1426 },
1412 tupleDefinitionName: TupleDefinitions.ModuleSignature.Name,
1413 tupleIdIsPrimaryKey: false 1427 tupleIdIsPrimaryKey: false
1414 ); 1428 );
1415 1429
1416 public static readonly TableDefinition ModuleConfiguration = new TableDefinition( 1430 public static readonly TableDefinition ModuleConfiguration = new TableDefinition(
1417 "ModuleConfiguration", 1431 "ModuleConfiguration",
1432 TupleDefinitions.ModuleConfiguration,
1418 new[] 1433 new[]
1419 { 1434 {
1420 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique identifier for this row."), 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
1428 new ColumnDefinition("HelpLocation", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Filename or namespace of the context-sensitive help for this item."), 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."),
1429 new ColumnDefinition("HelpKeyword", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Keyword index into the HelpLocation 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."),
1430 }, 1445 },
1431 tupleDefinitionName: TupleDefinitions.ModuleConfiguration.Name,
1432 tupleIdIsPrimaryKey: true 1446 tupleIdIsPrimaryKey: true
1433 ); 1447 );
1434 1448
1435 public static readonly TableDefinition ModuleDependency = new TableDefinition( 1449 public static readonly TableDefinition ModuleDependency = new TableDefinition(
1436 "ModuleDependency", 1450 "ModuleDependency",
1451 TupleDefinitions.ModuleDependency,
1437 new[] 1452 new[]
1438 { 1453 {
1439 new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "ModuleSignature", keyColumn: 1, description: "Module requiring the dependency.", modularizeType: ColumnModularizeType.Column), 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
1442 new ColumnDefinition("RequiredLanguage", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "LanguageID of the required module.", forceLocalizable: true), 1457 new ColumnDefinition("RequiredLanguage", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "LanguageID of the required module.", forceLocalizable: true),
1443 new ColumnDefinition("RequiredVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Version of the required version."), 1458 new ColumnDefinition("RequiredVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Version of the required version."),
1444 }, 1459 },
1445 tupleDefinitionName: TupleDefinitions.ModuleDependency.Name,
1446 tupleIdIsPrimaryKey: false 1460 tupleIdIsPrimaryKey: false
1447 ); 1461 );
1448 1462
1449 public static readonly TableDefinition ModuleExclusion = new TableDefinition( 1463 public static readonly TableDefinition ModuleExclusion = new TableDefinition(
1450 "ModuleExclusion", 1464 "ModuleExclusion",
1465 TupleDefinitions.ModuleExclusion,
1451 new[] 1466 new[]
1452 { 1467 {
1453 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), 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
1457 new ColumnDefinition("ExcludedMinVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Minimum version of excluded module."), 1472 new ColumnDefinition("ExcludedMinVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Minimum version of excluded module."),
1458 new ColumnDefinition("ExcludedMaxVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Maximum version of excluded module."), 1473 new ColumnDefinition("ExcludedMaxVersion", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Version, description: "Maximum version of excluded module."),
1459 }, 1474 },
1460 tupleDefinitionName: TupleDefinitions.ModuleExclusion.Name,
1461 tupleIdIsPrimaryKey: false 1475 tupleIdIsPrimaryKey: false
1462 ); 1476 );
1463 1477
1464 public static readonly TableDefinition ModuleIgnoreTable = new TableDefinition( 1478 public static readonly TableDefinition ModuleIgnoreTable = new TableDefinition(
1465 "ModuleIgnoreTable", 1479 "ModuleIgnoreTable",
1480 TupleDefinitions.ModuleIgnoreTable,
1466 new[] 1481 new[]
1467 { 1482 {
1468 new ColumnDefinition("Table", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Table name to ignore during merge operation."), 1483 new ColumnDefinition("Table", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Table name to ignore during merge operation."),
1469 }, 1484 },
1470 tupleDefinitionName: TupleDefinitions.ModuleIgnoreTable.Name,
1471 tupleIdIsPrimaryKey: true 1485 tupleIdIsPrimaryKey: true
1472 ); 1486 );
1473 1487
1474 public static readonly TableDefinition ModuleInstallExecuteSequence = new TableDefinition( 1488 public static readonly TableDefinition ModuleInstallExecuteSequence = new TableDefinition(
1475 "ModuleInstallExecuteSequence", 1489 "ModuleInstallExecuteSequence",
1490 null,
1476 new[] 1491 new[]
1477 { 1492 {
1478 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column), 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
1486 1501
1487 public static readonly TableDefinition ModuleInstallUISequence = new TableDefinition( 1502 public static readonly TableDefinition ModuleInstallUISequence = new TableDefinition(
1488 "ModuleInstallUISequence", 1503 "ModuleInstallUISequence",
1504 null,
1489 new[] 1505 new[]
1490 { 1506 {
1491 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column), 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
1499 1515
1500 public static readonly TableDefinition ModuleSubstitution = new TableDefinition( 1516 public static readonly TableDefinition ModuleSubstitution = new TableDefinition(
1501 "ModuleSubstitution", 1517 "ModuleSubstitution",
1518 TupleDefinitions.ModuleSubstitution,
1502 new[] 1519 new[]
1503 { 1520 {
1504 new ColumnDefinition("Table", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Table containing the data to be modified."), 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
1506 new ColumnDefinition("Column", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Column containing the data to be modified."), 1523 new ColumnDefinition("Column", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Column containing the data to be modified."),
1507 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Template for modification data."), 1524 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Template for modification data."),
1508 }, 1525 },
1509 tupleDefinitionName: TupleDefinitions.ModuleSubstitution.Name,
1510 tupleIdIsPrimaryKey: false 1526 tupleIdIsPrimaryKey: false
1511 ); 1527 );
1512 1528
1513 public static readonly TableDefinition Properties = new TableDefinition( 1529 public static readonly TableDefinition Properties = new TableDefinition(
1514 "Properties", 1530 "Properties",
1531 TupleDefinitions.Properties,
1515 new[] 1532 new[]
1516 { 1533 {
1517 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key, non-localized token"), 1534 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key, non-localized token"),
1518 new ColumnDefinition("Value", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Value of the property"), 1535 new ColumnDefinition("Value", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Value of the property"),
1519 }, 1536 },
1520 tupleDefinitionName: TupleDefinitions.Properties.Name,
1521 tupleIdIsPrimaryKey: false 1537 tupleIdIsPrimaryKey: false
1522 ); 1538 );
1523 1539
1524 public static readonly TableDefinition ImageFamilies = new TableDefinition( 1540 public static readonly TableDefinition ImageFamilies = new TableDefinition(
1525 "ImageFamilies", 1541 "ImageFamilies",
1542 TupleDefinitions.ImageFamilies,
1526 new[] 1543 new[]
1527 { 1544 {
1528 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"), 1545 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"),
@@ -1532,12 +1549,12 @@ namespace WixToolset.Data.WindowsInstaller
1532 new ColumnDefinition("DiskPrompt", ColumnType.String, 128, primaryKey: false, nullable: true, ColumnCategory.Text, forceLocalizable: true), 1549 new ColumnDefinition("DiskPrompt", ColumnType.String, 128, primaryKey: false, nullable: true, ColumnCategory.Text, forceLocalizable: true),
1533 new ColumnDefinition("VolumeLabel", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Text), 1550 new ColumnDefinition("VolumeLabel", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Text),
1534 }, 1551 },
1535 tupleDefinitionName: TupleDefinitions.ImageFamilies.Name,
1536 tupleIdIsPrimaryKey: false 1552 tupleIdIsPrimaryKey: false
1537 ); 1553 );
1538 1554
1539 public static readonly TableDefinition UpgradedImages = new TableDefinition( 1555 public static readonly TableDefinition UpgradedImages = new TableDefinition(
1540 "UpgradedImages", 1556 "UpgradedImages",
1557 TupleDefinitions.UpgradedImages,
1541 new[] 1558 new[]
1542 { 1559 {
1543 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"), 1560 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"),
@@ -1546,23 +1563,23 @@ namespace WixToolset.Data.WindowsInstaller
1546 new ColumnDefinition("SymbolPaths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text), 1563 new ColumnDefinition("SymbolPaths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1547 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"), 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"),
1548 }, 1565 },
1549 tupleDefinitionName: TupleDefinitions.UpgradedImages.Name,
1550 tupleIdIsPrimaryKey: false 1566 tupleIdIsPrimaryKey: false
1551 ); 1567 );
1552 1568
1553 public static readonly TableDefinition UpgradedFilesToIgnore = new TableDefinition( 1569 public static readonly TableDefinition UpgradedFilesToIgnore = new TableDefinition(
1554 "UpgradedFilesToIgnore", 1570 "UpgradedFilesToIgnore",
1571 TupleDefinitions.UpgradedFilesToIgnore,
1555 new[] 1572 new[]
1556 { 1573 {
1557 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "UpgradedImages", keyColumn: 1, description: "Foreign key, Upgraded image"), 1574 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "UpgradedImages", keyColumn: 1, description: "Foreign key, Upgraded image"),
1558 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), 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),
1559 }, 1576 },
1560 tupleDefinitionName: TupleDefinitions.UpgradedFilesToIgnore.Name,
1561 tupleIdIsPrimaryKey: false 1577 tupleIdIsPrimaryKey: false
1562 ); 1578 );
1563 1579
1564 public static readonly TableDefinition UpgradedFiles_OptionalData = new TableDefinition( 1580 public static readonly TableDefinition UpgradedFilesOptionalData = new TableDefinition(
1565 "UpgradedFiles_OptionalData", 1581 "UpgradedFiles_OptionalData",
1582 TupleDefinitions.UpgradedFilesOptionalData,
1566 new[] 1583 new[]
1567 { 1584 {
1568 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "UpgradedImages", keyColumn: 1, description: "Foreign key, Upgraded image"), 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
1571 new ColumnDefinition("AllowIgnoreOnPatchError", ColumnType.Number, 0, primaryKey: false, nullable: true, ColumnCategory.Integer), 1588 new ColumnDefinition("AllowIgnoreOnPatchError", ColumnType.Number, 0, primaryKey: false, nullable: true, ColumnCategory.Integer),
1572 new ColumnDefinition("IncludeWholeFile", ColumnType.Number, 0, primaryKey: false, nullable: true, ColumnCategory.Integer), 1589 new ColumnDefinition("IncludeWholeFile", ColumnType.Number, 0, primaryKey: false, nullable: true, ColumnCategory.Integer),
1573 }, 1590 },
1574 tupleDefinitionName: TupleDefinitions.UpgradedFilesOptionalData.Name,
1575 tupleIdIsPrimaryKey: false 1591 tupleIdIsPrimaryKey: false
1576 ); 1592 );
1577 1593
1578 public static readonly TableDefinition TargetImages = new TableDefinition( 1594 public static readonly TableDefinition TargetImages = new TableDefinition(
1579 "TargetImages", 1595 "TargetImages",
1596 TupleDefinitions.TargetImages,
1580 new[] 1597 new[]
1581 { 1598 {
1582 new ColumnDefinition("Target", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text), 1599 new ColumnDefinition("Target", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text),
@@ -1587,12 +1604,12 @@ namespace WixToolset.Data.WindowsInstaller
1587 new ColumnDefinition("ProductValidateFlags", ColumnType.String, 16, primaryKey: false, nullable: true, ColumnCategory.Text), 1604 new ColumnDefinition("ProductValidateFlags", ColumnType.String, 16, primaryKey: false, nullable: true, ColumnCategory.Text),
1588 new ColumnDefinition("IgnoreMissingSrcFiles", ColumnType.Number, 0, primaryKey: false, nullable: false, ColumnCategory.Integer), 1605 new ColumnDefinition("IgnoreMissingSrcFiles", ColumnType.Number, 0, primaryKey: false, nullable: false, ColumnCategory.Integer),
1589 }, 1606 },
1590 tupleDefinitionName: TupleDefinitions.TargetImages.Name,
1591 tupleIdIsPrimaryKey: false 1607 tupleIdIsPrimaryKey: false
1592 ); 1608 );
1593 1609
1594 public static readonly TableDefinition TargetFiles_OptionalData = new TableDefinition( 1610 public static readonly TableDefinition TargetFilesOptionalData = new TableDefinition(
1595 "TargetFiles_OptionalData", 1611 "TargetFiles_OptionalData",
1612 TupleDefinitions.TargetFilesOptionalData,
1596 new[] 1613 new[]
1597 { 1614 {
1598 new ColumnDefinition("Target", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "TargetImages", keyColumn: 1, description: "Foreign key, Target image"), 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
1602 new ColumnDefinition("IgnoreLengths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text), 1619 new ColumnDefinition("IgnoreLengths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1603 new ColumnDefinition("RetainOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text), 1620 new ColumnDefinition("RetainOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1604 }, 1621 },
1605 tupleDefinitionName: TupleDefinitions.TargetFilesOptionalData.Name,
1606 tupleIdIsPrimaryKey: false 1622 tupleIdIsPrimaryKey: false
1607 ); 1623 );
1608 1624
1609 public static readonly TableDefinition FamilyFileRanges = new TableDefinition( 1625 public static readonly TableDefinition FamilyFileRanges = new TableDefinition(
1610 "FamilyFileRanges", 1626 "FamilyFileRanges",
1627 TupleDefinitions.FamilyFileRanges,
1611 new[] 1628 new[]
1612 { 1629 {
1613 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "ImageFamilies", keyColumn: 1, description: "Foreign key, Family"), 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
1615 new ColumnDefinition("RetainOffsets", ColumnType.String, 128, primaryKey: false, nullable: false, ColumnCategory.Text), 1632 new ColumnDefinition("RetainOffsets", ColumnType.String, 128, primaryKey: false, nullable: false, ColumnCategory.Text),
1616 new ColumnDefinition("RetainLengths", ColumnType.String, 128, primaryKey: false, nullable: false, ColumnCategory.Text), 1633 new ColumnDefinition("RetainLengths", ColumnType.String, 128, primaryKey: false, nullable: false, ColumnCategory.Text),
1617 }, 1634 },
1618 tupleDefinitionName: TupleDefinitions.FamilyFileRanges.Name,
1619 tupleIdIsPrimaryKey: false 1635 tupleIdIsPrimaryKey: false
1620 ); 1636 );
1621 1637
1622 public static readonly TableDefinition ExternalFiles = new TableDefinition( 1638 public static readonly TableDefinition ExternalFiles = new TableDefinition(
1623 "ExternalFiles", 1639 "ExternalFiles",
1640 TupleDefinitions.ExternalFiles,
1624 new[] 1641 new[]
1625 { 1642 {
1626 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "ImageFamilies", keyColumn: 1, description: "Foreign key, Family"), 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
1632 new ColumnDefinition("RetainOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text), 1649 new ColumnDefinition("RetainOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1633 new ColumnDefinition("Order", ColumnType.Number, 0, primaryKey: false, nullable: false, ColumnCategory.Integer), 1650 new ColumnDefinition("Order", ColumnType.Number, 0, primaryKey: false, nullable: false, ColumnCategory.Integer),
1634 }, 1651 },
1635 tupleDefinitionName: TupleDefinitions.ExternalFiles.Name,
1636 tupleIdIsPrimaryKey: false 1652 tupleIdIsPrimaryKey: false
1637 ); 1653 );
1638 1654
1639 public static readonly TableDefinition WixAction = new TableDefinition( 1655 public static readonly TableDefinition WixAction = new TableDefinition(
1640 "WixAction", 1656 "WixAction",
1657 TupleDefinitions.WixAction,
1641 new[] 1658 new[]
1642 { 1659 {
1643 new ColumnDefinition("SequenceTable", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1660 new ColumnDefinition("SequenceTable", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1649,12 +1666,12 @@ namespace WixToolset.Data.WindowsInstaller
1649 new ColumnDefinition("Overridable", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown), 1666 new ColumnDefinition("Overridable", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1650 }, 1667 },
1651 unreal: true, 1668 unreal: true,
1652 tupleDefinitionName: TupleDefinitions.WixAction.Name,
1653 tupleIdIsPrimaryKey: false 1669 tupleIdIsPrimaryKey: false
1654 ); 1670 );
1655 1671
1656 public static readonly TableDefinition WixBBControl = new TableDefinition( 1672 public static readonly TableDefinition WixBBControl = new TableDefinition(
1657 "WixBBControl", 1673 "WixBBControl",
1674 null,
1658 new[] 1675 new[]
1659 { 1676 {
1660 new ColumnDefinition("Billboard_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column), 1677 new ColumnDefinition("Billboard_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
@@ -1667,6 +1684,7 @@ namespace WixToolset.Data.WindowsInstaller
1667 1684
1668 public static readonly TableDefinition WixComplexReference = new TableDefinition( 1685 public static readonly TableDefinition WixComplexReference = new TableDefinition(
1669 "WixComplexReference", 1686 "WixComplexReference",
1687 TupleDefinitions.WixComplexReference,
1670 new[] 1688 new[]
1671 { 1689 {
1672 new ColumnDefinition("Parent", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown, forceLocalizable: true), 1690 new ColumnDefinition("Parent", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown, forceLocalizable: true),
@@ -1677,23 +1695,23 @@ namespace WixToolset.Data.WindowsInstaller
1677 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown), 1695 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1678 }, 1696 },
1679 unreal: true, 1697 unreal: true,
1680 tupleDefinitionName: TupleDefinitions.WixComplexReference.Name,
1681 tupleIdIsPrimaryKey: false 1698 tupleIdIsPrimaryKey: false
1682 ); 1699 );
1683 1700
1684 public static readonly TableDefinition WixComponentGroup = new TableDefinition( 1701 public static readonly TableDefinition WixComponentGroup = new TableDefinition(
1685 "WixComponentGroup", 1702 "WixComponentGroup",
1703 TupleDefinitions.WixComponentGroup,
1686 new[] 1704 new[]
1687 { 1705 {
1688 new ColumnDefinition("WixComponentGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1706 new ColumnDefinition("WixComponentGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1689 }, 1707 },
1690 unreal: true, 1708 unreal: true,
1691 tupleDefinitionName: TupleDefinitions.WixComponentGroup.Name,
1692 tupleIdIsPrimaryKey: false 1709 tupleIdIsPrimaryKey: false
1693 ); 1710 );
1694 1711
1695 public static readonly TableDefinition WixControl = new TableDefinition( 1712 public static readonly TableDefinition WixControl = new TableDefinition(
1696 "WixControl", 1713 "WixControl",
1714 null,
1697 new[] 1715 new[]
1698 { 1716 {
1699 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column), 1717 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
@@ -1706,18 +1724,19 @@ namespace WixToolset.Data.WindowsInstaller
1706 1724
1707 public static readonly TableDefinition WixCustomRow = new TableDefinition( 1725 public static readonly TableDefinition WixCustomRow = new TableDefinition(
1708 "WixCustomRow", 1726 "WixCustomRow",
1727 TupleDefinitions.WixCustomRow,
1709 new[] 1728 new[]
1710 { 1729 {
1711 new ColumnDefinition("Table", ColumnType.String, 62, primaryKey: false, nullable: false, ColumnCategory.Unknown), 1730 new ColumnDefinition("Table", ColumnType.String, 62, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1712 new ColumnDefinition("FieldData", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 1731 new ColumnDefinition("FieldData", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1713 }, 1732 },
1714 unreal: true, 1733 unreal: true,
1715 tupleDefinitionName: TupleDefinitions.WixCustomRow.Name,
1716 tupleIdIsPrimaryKey: false 1734 tupleIdIsPrimaryKey: false
1717 ); 1735 );
1718 1736
1719 public static readonly TableDefinition WixCustomTable = new TableDefinition( 1737 public static readonly TableDefinition WixCustomTable = new TableDefinition(
1720 "WixCustomTable", 1738 "WixCustomTable",
1739 TupleDefinitions.WixCustomTable,
1721 new[] 1740 new[]
1722 { 1741 {
1723 new ColumnDefinition("Table", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1742 new ColumnDefinition("Table", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1736,12 +1755,12 @@ namespace WixToolset.Data.WindowsInstaller
1736 new ColumnDefinition("BootstrapperApplicationData", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown), 1755 new ColumnDefinition("BootstrapperApplicationData", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1737 }, 1756 },
1738 unreal: true, 1757 unreal: true,
1739 tupleDefinitionName: TupleDefinitions.WixCustomTable.Name,
1740 tupleIdIsPrimaryKey: true 1758 tupleIdIsPrimaryKey: true
1741 ); 1759 );
1742 1760
1743 public static readonly TableDefinition WixDirectory = new TableDefinition( 1761 public static readonly TableDefinition WixDirectory = new TableDefinition(
1744 "WixDirectory", 1762 "WixDirectory",
1763 null,
1745 new[] 1764 new[]
1746 { 1765 {
1747 new ColumnDefinition("Directory_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column), 1766 new ColumnDefinition("Directory_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
@@ -1753,39 +1772,40 @@ namespace WixToolset.Data.WindowsInstaller
1753 1772
1754 public static readonly TableDefinition WixEnsureTable = new TableDefinition( 1773 public static readonly TableDefinition WixEnsureTable = new TableDefinition(
1755 "WixEnsureTable", 1774 "WixEnsureTable",
1775 TupleDefinitions.WixEnsureTable,
1756 new[] 1776 new[]
1757 { 1777 {
1758 new ColumnDefinition("Table", ColumnType.String, 31, primaryKey: false, nullable: false, ColumnCategory.Unknown), 1778 new ColumnDefinition("Table", ColumnType.String, 31, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1759 }, 1779 },
1760 unreal: true, 1780 unreal: true,
1761 tupleDefinitionName: TupleDefinitions.WixEnsureTable.Name,
1762 tupleIdIsPrimaryKey: false 1781 tupleIdIsPrimaryKey: false
1763 ); 1782 );
1764 1783
1765 public static readonly TableDefinition WixFeatureGroup = new TableDefinition( 1784 public static readonly TableDefinition WixFeatureGroup = new TableDefinition(
1766 "WixFeatureGroup", 1785 "WixFeatureGroup",
1786 TupleDefinitions.WixFeatureGroup,
1767 new[] 1787 new[]
1768 { 1788 {
1769 new ColumnDefinition("WixFeatureGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1789 new ColumnDefinition("WixFeatureGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1770 }, 1790 },
1771 unreal: true, 1791 unreal: true,
1772 tupleDefinitionName: TupleDefinitions.WixFeatureGroup.Name,
1773 tupleIdIsPrimaryKey: true 1792 tupleIdIsPrimaryKey: true
1774 ); 1793 );
1775 1794
1776 public static readonly TableDefinition WixPatchFamilyGroup = new TableDefinition( 1795 public static readonly TableDefinition WixPatchFamilyGroup = new TableDefinition(
1777 "WixPatchFamilyGroup", 1796 "WixPatchFamilyGroup",
1797 TupleDefinitions.WixPatchFamilyGroup,
1778 new[] 1798 new[]
1779 { 1799 {
1780 new ColumnDefinition("WixPatchFamilyGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1800 new ColumnDefinition("WixPatchFamilyGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1781 }, 1801 },
1782 unreal: true, 1802 unreal: true,
1783 tupleDefinitionName: TupleDefinitions.WixPatchFamilyGroup.Name,
1784 tupleIdIsPrimaryKey: false 1803 tupleIdIsPrimaryKey: false
1785 ); 1804 );
1786 1805
1787 public static readonly TableDefinition WixGroup = new TableDefinition( 1806 public static readonly TableDefinition WixGroup = new TableDefinition(
1788 "WixGroup", 1807 "WixGroup",
1808 TupleDefinitions.WixGroup,
1789 new[] 1809 new[]
1790 { 1810 {
1791 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."), 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
1794 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."), 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."),
1795 }, 1815 },
1796 unreal: true, 1816 unreal: true,
1797 tupleDefinitionName: TupleDefinitions.WixGroup.Name,
1798 tupleIdIsPrimaryKey: false 1817 tupleIdIsPrimaryKey: false
1799 ); 1818 );
1800 1819
1801 public static readonly TableDefinition WixFeatureModules = new TableDefinition( 1820 public static readonly TableDefinition WixFeatureModules = new TableDefinition(
1802 "WixFeatureModules", 1821 "WixFeatureModules",
1822 TupleDefinitions.WixFeatureModules,
1803 new[] 1823 new[]
1804 { 1824 {
1805 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1825 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1806 new ColumnDefinition("WixMerge_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1826 new ColumnDefinition("WixMerge_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1807 }, 1827 },
1808 unreal: true, 1828 unreal: true,
1809 tupleDefinitionName: TupleDefinitions.WixFeatureModules.Name,
1810 tupleIdIsPrimaryKey: false 1829 tupleIdIsPrimaryKey: false
1811 ); 1830 );
1812 1831
1813 public static readonly TableDefinition WixFile = new TableDefinition( 1832 public static readonly TableDefinition WixFile = new TableDefinition(
1814 "WixFile", 1833 "WixFile",
1834 null,
1815 new[] 1835 new[]
1816 { 1836 {
1817 new ColumnDefinition("File_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column), 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
1833 1853
1834 public static readonly TableDefinition WixBindUpdatedFiles = new TableDefinition( 1854 public static readonly TableDefinition WixBindUpdatedFiles = new TableDefinition(
1835 "WixBindUpdatedFiles", 1855 "WixBindUpdatedFiles",
1856 TupleDefinitions.WixBindUpdatedFiles,
1836 new[] 1857 new[]
1837 { 1858 {
1838 new ColumnDefinition("File_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column), 1859 new ColumnDefinition("File_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1839 }, 1860 },
1840 unreal: true, 1861 unreal: true,
1841 tupleDefinitionName: TupleDefinitions.WixBindUpdatedFiles.Name,
1842 tupleIdIsPrimaryKey: false 1862 tupleIdIsPrimaryKey: false
1843 ); 1863 );
1844 1864
1845 public static readonly TableDefinition WixBuildInfo = new TableDefinition( 1865 public static readonly TableDefinition WixBuildInfo = new TableDefinition(
1846 "WixBuildInfo", 1866 "WixBuildInfo",
1867 TupleDefinitions.WixBuildInfo,
1847 new[] 1868 new[]
1848 { 1869 {
1849 new ColumnDefinition("WixVersion", ColumnType.String, 20, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Version number of WiX."), 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
1852 new ColumnDefinition("WixPdbFile", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Path to .wixpdb file, if supplied."), 1873 new ColumnDefinition("WixPdbFile", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Path to .wixpdb file, if supplied."),
1853 }, 1874 },
1854 unreal: true, 1875 unreal: true,
1855 tupleDefinitionName: TupleDefinitions.WixBuildInfo.Name,
1856 tupleIdIsPrimaryKey: false 1876 tupleIdIsPrimaryKey: false
1857 ); 1877 );
1858 1878
1859 public static readonly TableDefinition WixFragment = new TableDefinition( 1879 public static readonly TableDefinition WixFragment = new TableDefinition(
1860 "WixFragment", 1880 "WixFragment",
1881 TupleDefinitions.WixFragment,
1861 new[] 1882 new[]
1862 { 1883 {
1863 new ColumnDefinition("WixFragment", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1884 new ColumnDefinition("WixFragment", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1864 }, 1885 },
1865 unreal: true, 1886 unreal: true,
1866 tupleDefinitionName: TupleDefinitions.WixFragment.Name,
1867 tupleIdIsPrimaryKey: true 1887 tupleIdIsPrimaryKey: true
1868 ); 1888 );
1869 1889
1870 public static readonly TableDefinition WixInstanceComponent = new TableDefinition( 1890 public static readonly TableDefinition WixInstanceComponent = new TableDefinition(
1871 "WixInstanceComponent", 1891 "WixInstanceComponent",
1892 TupleDefinitions.WixInstanceComponent,
1872 new[] 1893 new[]
1873 { 1894 {
1874 new ColumnDefinition("Component_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column), 1895 new ColumnDefinition("Component_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
1875 }, 1896 },
1876 unreal: true, 1897 unreal: true,
1877 tupleDefinitionName: TupleDefinitions.WixInstanceComponent.Name,
1878 tupleIdIsPrimaryKey: false 1898 tupleIdIsPrimaryKey: false
1879 ); 1899 );
1880 1900
1881 public static readonly TableDefinition WixInstanceTransforms = new TableDefinition( 1901 public static readonly TableDefinition WixInstanceTransforms = new TableDefinition(
1882 "WixInstanceTransforms", 1902 "WixInstanceTransforms",
1903 TupleDefinitions.WixInstanceTransforms,
1883 new[] 1904 new[]
1884 { 1905 {
1885 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1906 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1889,12 +1910,12 @@ namespace WixToolset.Data.WindowsInstaller
1889 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid), 1910 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid),
1890 }, 1911 },
1891 unreal: true, 1912 unreal: true,
1892 tupleDefinitionName: TupleDefinitions.WixInstanceTransforms.Name,
1893 tupleIdIsPrimaryKey: true 1913 tupleIdIsPrimaryKey: true
1894 ); 1914 );
1895 1915
1896 public static readonly TableDefinition WixMedia = new TableDefinition( 1916 public static readonly TableDefinition WixMedia = new TableDefinition(
1897 "WixMedia", 1917 "WixMedia",
1918 null,
1898 new[] 1919 new[]
1899 { 1920 {
1900 new ColumnDefinition("DiskId_", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1921 new ColumnDefinition("DiskId_", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1907,6 +1928,7 @@ namespace WixToolset.Data.WindowsInstaller
1907 1928
1908 public static readonly TableDefinition WixMediaTemplate = new TableDefinition( 1929 public static readonly TableDefinition WixMediaTemplate = new TableDefinition(
1909 "WixMediaTemplate", 1930 "WixMediaTemplate",
1931 TupleDefinitions.WixMediaTemplate,
1910 new[] 1932 new[]
1911 { 1933 {
1912 new ColumnDefinition("CabinetTemplate", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 1934 new ColumnDefinition("CabinetTemplate", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
@@ -1917,12 +1939,12 @@ namespace WixToolset.Data.WindowsInstaller
1917 new ColumnDefinition("MaximumCabinetSizeForLargeFileSplitting", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown), 1939 new ColumnDefinition("MaximumCabinetSizeForLargeFileSplitting", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1918 }, 1940 },
1919 unreal: true, 1941 unreal: true,
1920 tupleDefinitionName: TupleDefinitions.WixMediaTemplate.Name,
1921 tupleIdIsPrimaryKey: false 1942 tupleIdIsPrimaryKey: false
1922 ); 1943 );
1923 1944
1924 public static readonly TableDefinition WixMerge = new TableDefinition( 1945 public static readonly TableDefinition WixMerge = new TableDefinition(
1925 "WixMerge", 1946 "WixMerge",
1947 TupleDefinitions.WixMerge,
1926 new[] 1948 new[]
1927 { 1949 {
1928 new ColumnDefinition("WixMerge", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1950 new ColumnDefinition("WixMerge", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1935,12 +1957,12 @@ namespace WixToolset.Data.WindowsInstaller
1935 new ColumnDefinition("Feature_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown), 1957 new ColumnDefinition("Feature_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1936 }, 1958 },
1937 unreal: true, 1959 unreal: true,
1938 tupleDefinitionName: TupleDefinitions.WixMerge.Name,
1939 tupleIdIsPrimaryKey: true 1960 tupleIdIsPrimaryKey: true
1940 ); 1961 );
1941 1962
1942 public static readonly TableDefinition WixOrdering = new TableDefinition( 1963 public static readonly TableDefinition WixOrdering = new TableDefinition(
1943 "WixOrdering", 1964 "WixOrdering",
1965 TupleDefinitions.WixOrdering,
1944 new[] 1966 new[]
1945 { 1967 {
1946 new ColumnDefinition("ItemType", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Primary key used to identify the item in another table."), 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
1949 new ColumnDefinition("DependsOnId_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Reference to an entry in another table."), 1971 new ColumnDefinition("DependsOnId_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Reference to an entry in another table."),
1950 }, 1972 },
1951 unreal: true, 1973 unreal: true,
1952 tupleDefinitionName: TupleDefinitions.WixOrdering.Name,
1953 tupleIdIsPrimaryKey: false 1974 tupleIdIsPrimaryKey: false
1954 ); 1975 );
1955 1976
1956 public static readonly TableDefinition WixDeltaPatchFile = new TableDefinition( 1977 public static readonly TableDefinition WixDeltaPatchFile = new TableDefinition(
1957 "WixDeltaPatchFile", 1978 "WixDeltaPatchFile",
1979 TupleDefinitions.WixDeltaPatchFile,
1958 new[] 1980 new[]
1959 { 1981 {
1960 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column), 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
1965 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text), 1987 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
1966 }, 1988 },
1967 unreal: true, 1989 unreal: true,
1968 tupleDefinitionName: TupleDefinitions.WixDeltaPatchFile.Name,
1969 tupleIdIsPrimaryKey: false 1990 tupleIdIsPrimaryKey: false
1970 ); 1991 );
1971 1992
1972 public static readonly TableDefinition WixDeltaPatchSymbolPaths = new TableDefinition( 1993 public static readonly TableDefinition WixDeltaPatchSymbolPaths = new TableDefinition(
1973 "WixDeltaPatchSymbolPaths", 1994 "WixDeltaPatchSymbolPaths",
1995 TupleDefinitions.WixDeltaPatchSymbolPaths,
1974 new[] 1996 new[]
1975 { 1997 {
1976 new ColumnDefinition("Id", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 1998 new ColumnDefinition("Id", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -1978,59 +2000,59 @@ namespace WixToolset.Data.WindowsInstaller
1978 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: false, ColumnCategory.Text), 2000 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: false, ColumnCategory.Text),
1979 }, 2001 },
1980 unreal: true, 2002 unreal: true,
1981 tupleDefinitionName: TupleDefinitions.WixDeltaPatchSymbolPaths.Name,
1982 tupleIdIsPrimaryKey: false 2003 tupleIdIsPrimaryKey: false
1983 ); 2004 );
1984 2005
1985 public static readonly TableDefinition WixProperty = new TableDefinition( 2006 public static readonly TableDefinition WixProperty = new TableDefinition(
1986 "WixProperty", 2007 "WixProperty",
2008 TupleDefinitions.WixProperty,
1987 new[] 2009 new[]
1988 { 2010 {
1989 new ColumnDefinition("Property_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column), 2011 new ColumnDefinition("Property_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
1990 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2012 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1991 }, 2013 },
1992 unreal: true, 2014 unreal: true,
1993 tupleDefinitionName: TupleDefinitions.WixProperty.Name,
1994 tupleIdIsPrimaryKey: false 2015 tupleIdIsPrimaryKey: false
1995 ); 2016 );
1996 2017
1997 public static readonly TableDefinition WixSimpleReference = new TableDefinition( 2018 public static readonly TableDefinition WixSimpleReference = new TableDefinition(
1998 "WixSimpleReference", 2019 "WixSimpleReference",
2020 TupleDefinitions.WixSimpleReference,
1999 new[] 2021 new[]
2000 { 2022 {
2001 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2023 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2002 new ColumnDefinition("PrimaryKeys", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2024 new ColumnDefinition("PrimaryKeys", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2003 }, 2025 },
2004 unreal: true, 2026 unreal: true,
2005 tupleDefinitionName: TupleDefinitions.WixSimpleReference.Name,
2006 tupleIdIsPrimaryKey: false 2027 tupleIdIsPrimaryKey: false
2007 ); 2028 );
2008 2029
2009 public static readonly TableDefinition WixSuppressAction = new TableDefinition( 2030 public static readonly TableDefinition WixSuppressAction = new TableDefinition(
2010 "WixSuppressAction", 2031 "WixSuppressAction",
2032 TupleDefinitions.WixSuppressAction,
2011 new[] 2033 new[]
2012 { 2034 {
2013 new ColumnDefinition("SequenceTable", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 2035 new ColumnDefinition("SequenceTable", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2014 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 2036 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2015 }, 2037 },
2016 unreal: true, 2038 unreal: true,
2017 tupleDefinitionName: TupleDefinitions.WixSuppressAction.Name,
2018 tupleIdIsPrimaryKey: false 2039 tupleIdIsPrimaryKey: false
2019 ); 2040 );
2020 2041
2021 public static readonly TableDefinition WixSuppressModularization = new TableDefinition( 2042 public static readonly TableDefinition WixSuppressModularization = new TableDefinition(
2022 "WixSuppressModularization", 2043 "WixSuppressModularization",
2044 TupleDefinitions.WixSuppressModularization,
2023 new[] 2045 new[]
2024 { 2046 {
2025 new ColumnDefinition("WixSuppressModularization", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2047 new ColumnDefinition("WixSuppressModularization", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2026 }, 2048 },
2027 unreal: true, 2049 unreal: true,
2028 tupleDefinitionName: TupleDefinitions.WixSuppressModularization.Name,
2029 tupleIdIsPrimaryKey: true 2050 tupleIdIsPrimaryKey: true
2030 ); 2051 );
2031 2052
2032 public static readonly TableDefinition WixPatchBaseline = new TableDefinition( 2053 public static readonly TableDefinition WixPatchBaseline = new TableDefinition(
2033 "WixPatchBaseline", 2054 "WixPatchBaseline",
2055 TupleDefinitions.WixPatchBaseline,
2034 new[] 2056 new[]
2035 { 2057 {
2036 new ColumnDefinition("WixPatchBaseline", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify sets of transforms in a patch."), 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
2038 new ColumnDefinition("ValidationFlags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Integer, description: "Patch transform validation flags for the associated patch baseline."), 2060 new ColumnDefinition("ValidationFlags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Integer, description: "Patch transform validation flags for the associated patch baseline."),
2039 }, 2061 },
2040 unreal: true, 2062 unreal: true,
2041 tupleDefinitionName: TupleDefinitions.WixPatchBaseline.Name,
2042 tupleIdIsPrimaryKey: true 2063 tupleIdIsPrimaryKey: true
2043 ); 2064 );
2044 2065
2045 public static readonly TableDefinition WixPatchRef = new TableDefinition( 2066 public static readonly TableDefinition WixPatchRef = new TableDefinition(
2046 "WixPatchRef", 2067 "WixPatchRef",
2068 TupleDefinitions.WixPatchRef,
2047 new[] 2069 new[]
2048 { 2070 {
2049 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2071 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2050 new ColumnDefinition("PrimaryKeys", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2072 new ColumnDefinition("PrimaryKeys", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2051 }, 2073 },
2052 unreal: true, 2074 unreal: true,
2053 tupleDefinitionName: TupleDefinitions.WixPatchRef.Name,
2054 tupleIdIsPrimaryKey: false 2075 tupleIdIsPrimaryKey: false
2055 ); 2076 );
2056 2077
2057 public static readonly TableDefinition WixPatchId = new TableDefinition( 2078 public static readonly TableDefinition WixPatchId = new TableDefinition(
2058 "WixPatchId", 2079 "WixPatchId",
2080 TupleDefinitions.WixPatchId,
2059 new[] 2081 new[]
2060 { 2082 {
2061 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2083 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2064,23 +2086,23 @@ namespace WixToolset.Data.WindowsInstaller
2064 new ColumnDefinition("ApiPatchingSymbolFlags", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 7), 2086 new ColumnDefinition("ApiPatchingSymbolFlags", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 7),
2065 }, 2087 },
2066 unreal: true, 2088 unreal: true,
2067 tupleDefinitionName: TupleDefinitions.WixPatchId.Name,
2068 tupleIdIsPrimaryKey: true 2089 tupleIdIsPrimaryKey: true
2069 ); 2090 );
2070 2091
2071 public static readonly TableDefinition WixPatchTarget = new TableDefinition( 2092 public static readonly TableDefinition WixPatchTarget = new TableDefinition(
2072 "WixPatchTarget", 2093 "WixPatchTarget",
2094 TupleDefinitions.WixPatchTarget,
2073 new[] 2095 new[]
2074 { 2096 {
2075 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2097 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2076 }, 2098 },
2077 unreal: true, 2099 unreal: true,
2078 tupleDefinitionName: TupleDefinitions.WixPatchTarget.Name,
2079 tupleIdIsPrimaryKey: false 2100 tupleIdIsPrimaryKey: false
2080 ); 2101 );
2081 2102
2082 public static readonly TableDefinition WixPatchMetadata = new TableDefinition( 2103 public static readonly TableDefinition WixPatchMetadata = new TableDefinition(
2083 "WixPatchMetadata", 2104 "WixPatchMetadata",
2105 null,
2084 new[] 2106 new[]
2085 { 2107 {
2086 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown), 2108 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -2092,17 +2114,18 @@ namespace WixToolset.Data.WindowsInstaller
2092 2114
2093 public static readonly TableDefinition WixUI = new TableDefinition( 2115 public static readonly TableDefinition WixUI = new TableDefinition(
2094 "WixUI", 2116 "WixUI",
2117 TupleDefinitions.WixUI,
2095 new[] 2118 new[]
2096 { 2119 {
2097 new ColumnDefinition("WixUI", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown), 2120 new ColumnDefinition("WixUI", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2098 }, 2121 },
2099 unreal: true, 2122 unreal: true,
2100 tupleDefinitionName: TupleDefinitions.WixUI.Name,
2101 tupleIdIsPrimaryKey: true 2123 tupleIdIsPrimaryKey: true
2102 ); 2124 );
2103 2125
2104 public static readonly TableDefinition WixVariable = new TableDefinition( 2126 public static readonly TableDefinition WixVariable = new TableDefinition(
2105 "WixVariable", 2127 "WixVariable",
2128 TupleDefinitions.WixVariable,
2106 new[] 2129 new[]
2107 { 2130 {
2108 new ColumnDefinition("WixVariable", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2131 new ColumnDefinition("WixVariable", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2110,12 +2133,12 @@ namespace WixToolset.Data.WindowsInstaller
2110 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2133 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2111 }, 2134 },
2112 unreal: true, 2135 unreal: true,
2113 tupleDefinitionName: TupleDefinitions.WixVariable.Name,
2114 tupleIdIsPrimaryKey: true 2136 tupleIdIsPrimaryKey: true
2115 ); 2137 );
2116 2138
2117 public static readonly TableDefinition WixBundleContainer = new TableDefinition( 2139 public static readonly TableDefinition WixBundleContainer = new TableDefinition(
2118 "WixBundleContainer", 2140 "WixBundleContainer",
2141 TupleDefinitions.WixBundleContainer,
2119 new[] 2142 new[]
2120 { 2143 {
2121 new ColumnDefinition("WixBundleContainer", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2144 new ColumnDefinition("WixBundleContainer", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2128,23 +2151,23 @@ namespace WixToolset.Data.WindowsInstaller
2128 new ColumnDefinition("WorkingPath", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2151 new ColumnDefinition("WorkingPath", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2129 }, 2152 },
2130 unreal: true, 2153 unreal: true,
2131 tupleDefinitionName: TupleDefinitions.WixBundleContainer.Name,
2132 tupleIdIsPrimaryKey: true 2154 tupleIdIsPrimaryKey: true
2133 ); 2155 );
2134 2156
2135 public static readonly TableDefinition WixBundlePayloadGroup = new TableDefinition( 2157 public static readonly TableDefinition WixBundlePayloadGroup = new TableDefinition(
2136 "WixBundlePayloadGroup", 2158 "WixBundlePayloadGroup",
2159 TupleDefinitions.WixBundlePayloadGroup,
2137 new[] 2160 new[]
2138 { 2161 {
2139 new ColumnDefinition("WixBundlePayloadGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2162 new ColumnDefinition("WixBundlePayloadGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2140 }, 2163 },
2141 unreal: true, 2164 unreal: true,
2142 tupleDefinitionName: TupleDefinitions.WixBundlePayloadGroup.Name,
2143 tupleIdIsPrimaryKey: true 2165 tupleIdIsPrimaryKey: true
2144 ); 2166 );
2145 2167
2146 public static readonly TableDefinition WixBundlePayload = new TableDefinition( 2168 public static readonly TableDefinition WixBundlePayload = new TableDefinition(
2147 "WixBundlePayload", 2169 "WixBundlePayload",
2170 TupleDefinitions.WixBundlePayload,
2148 new[] 2171 new[]
2149 { 2172 {
2150 new ColumnDefinition("WixBundlePayload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2173 new ColumnDefinition("WixBundlePayload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2171,12 +2194,12 @@ namespace WixToolset.Data.WindowsInstaller
2171 new ColumnDefinition("ParentPackagePayload_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2194 new ColumnDefinition("ParentPackagePayload_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2172 }, 2195 },
2173 unreal: true, 2196 unreal: true,
2174 tupleDefinitionName: TupleDefinitions.WixBundlePayload.Name,
2175 tupleIdIsPrimaryKey: true 2197 tupleIdIsPrimaryKey: true
2176 ); 2198 );
2177 2199
2178 public static readonly TableDefinition WixBundlePatchTargetCode = new TableDefinition( 2200 public static readonly TableDefinition WixBundlePatchTargetCode = new TableDefinition(
2179 "WixBundlePatchTargetCode", 2201 "WixBundlePatchTargetCode",
2202 TupleDefinitions.WixBundlePatchTargetCode,
2180 new[] 2203 new[]
2181 { 2204 {
2182 new ColumnDefinition("PackageId", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2205 new ColumnDefinition("PackageId", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2184,12 +2207,12 @@ namespace WixToolset.Data.WindowsInstaller
2184 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647), 2207 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647),
2185 }, 2208 },
2186 unreal: true, 2209 unreal: true,
2187 tupleDefinitionName: TupleDefinitions.WixBundlePatchTargetCode.Name,
2188 tupleIdIsPrimaryKey: false 2210 tupleIdIsPrimaryKey: false
2189 ); 2211 );
2190 2212
2191 public static readonly TableDefinition WixBundle = new TableDefinition( 2213 public static readonly TableDefinition WixBundle = new TableDefinition(
2192 "WixBundle", 2214 "WixBundle",
2215 TupleDefinitions.WixBundle,
2193 new[] 2216 new[]
2194 { 2217 {
2195 new ColumnDefinition("Version", ColumnType.String, 24, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2218 new ColumnDefinition("Version", ColumnType.String, 24, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2217,12 +2240,12 @@ namespace WixToolset.Data.WindowsInstaller
2217 new ColumnDefinition("PerMachine", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Only valid after binding."), 2240 new ColumnDefinition("PerMachine", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Only valid after binding."),
2218 }, 2241 },
2219 unreal: true, 2242 unreal: true,
2220 tupleDefinitionName: TupleDefinitions.WixBundle.Name,
2221 tupleIdIsPrimaryKey: false 2243 tupleIdIsPrimaryKey: false
2222 ); 2244 );
2223 2245
2224 public static readonly TableDefinition WixApprovedExeForElevation = new TableDefinition( 2246 public static readonly TableDefinition WixApprovedExeForElevation = new TableDefinition(
2225 "WixApprovedExeForElevation", 2247 "WixApprovedExeForElevation",
2248 TupleDefinitions.WixApprovedExeForElevation,
2226 new[] 2249 new[]
2227 { 2250 {
2228 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2251 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2231,35 +2254,35 @@ namespace WixToolset.Data.WindowsInstaller
2231 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1), 2254 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2232 }, 2255 },
2233 unreal: true, 2256 unreal: true,
2234 tupleDefinitionName: TupleDefinitions.WixApprovedExeForElevation.Name,
2235 tupleIdIsPrimaryKey: true 2257 tupleIdIsPrimaryKey: true
2236 ); 2258 );
2237 2259
2238 public static readonly TableDefinition WixBundleUpdate = new TableDefinition( 2260 public static readonly TableDefinition WixBundleUpdate = new TableDefinition(
2239 "WixBundleUpdate", 2261 "WixBundleUpdate",
2262 TupleDefinitions.WixBundleUpdate,
2240 new[] 2263 new[]
2241 { 2264 {
2242 new ColumnDefinition("Location", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2265 new ColumnDefinition("Location", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2243 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2266 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2244 }, 2267 },
2245 unreal: true, 2268 unreal: true,
2246 tupleDefinitionName: TupleDefinitions.WixBundleUpdate.Name,
2247 tupleIdIsPrimaryKey: false 2269 tupleIdIsPrimaryKey: false
2248 ); 2270 );
2249 2271
2250 public static readonly TableDefinition WixBootstrapperApplication = new TableDefinition( 2272 public static readonly TableDefinition WixBootstrapperApplication = new TableDefinition(
2251 "WixBootstrapperApplication", 2273 "WixBootstrapperApplication",
2274 TupleDefinitions.WixBootstrapperApplication,
2252 new[] 2275 new[]
2253 { 2276 {
2254 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2277 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2255 }, 2278 },
2256 unreal: true, 2279 unreal: true,
2257 tupleDefinitionName: TupleDefinitions.WixBootstrapperApplication.Name,
2258 tupleIdIsPrimaryKey: true 2280 tupleIdIsPrimaryKey: true
2259 ); 2281 );
2260 2282
2261 public static readonly TableDefinition WixUpdateRegistration = new TableDefinition( 2283 public static readonly TableDefinition WixUpdateRegistration = new TableDefinition(
2262 "WixUpdateRegistration", 2284 "WixUpdateRegistration",
2285 TupleDefinitions.WixUpdateRegistration,
2263 new[] 2286 new[]
2264 { 2287 {
2265 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2288 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2269,46 +2292,46 @@ namespace WixToolset.Data.WindowsInstaller
2269 new ColumnDefinition("Classification", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2292 new ColumnDefinition("Classification", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2270 }, 2293 },
2271 unreal: true, 2294 unreal: true,
2272 tupleDefinitionName: TupleDefinitions.WixUpdateRegistration.Name,
2273 tupleIdIsPrimaryKey: false 2295 tupleIdIsPrimaryKey: false
2274 ); 2296 );
2275 2297
2276 public static readonly TableDefinition WixBundleCatalog = new TableDefinition( 2298 public static readonly TableDefinition WixBundleCatalog = new TableDefinition(
2277 "WixBundleCatalog", 2299 "WixBundleCatalog",
2300 TupleDefinitions.WixBundleCatalog,
2278 new[] 2301 new[]
2279 { 2302 {
2280 new ColumnDefinition("WixBundleCatalog", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2303 new ColumnDefinition("WixBundleCatalog", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2281 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."), 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."),
2282 }, 2305 },
2283 unreal: true, 2306 unreal: true,
2284 tupleDefinitionName: TupleDefinitions.WixBundleCatalog.Name,
2285 tupleIdIsPrimaryKey: true 2307 tupleIdIsPrimaryKey: true
2286 ); 2308 );
2287 2309
2288 public static readonly TableDefinition WixChain = new TableDefinition( 2310 public static readonly TableDefinition WixChain = new TableDefinition(
2289 "WixChain", 2311 "WixChain",
2312 TupleDefinitions.WixChain,
2290 new[] 2313 new[]
2291 { 2314 {
2292 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."), 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."),
2293 }, 2316 },
2294 unreal: true, 2317 unreal: true,
2295 tupleDefinitionName: TupleDefinitions.WixChain.Name,
2296 tupleIdIsPrimaryKey: false 2318 tupleIdIsPrimaryKey: false
2297 ); 2319 );
2298 2320
2299 public static readonly TableDefinition WixChainItem = new TableDefinition( 2321 public static readonly TableDefinition WixChainItem = new TableDefinition(
2300 "WixChainItem", 2322 "WixChainItem",
2323 TupleDefinitions.WixChainItem,
2301 new[] 2324 new[]
2302 { 2325 {
2303 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2326 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2304 }, 2327 },
2305 unreal: true, 2328 unreal: true,
2306 tupleDefinitionName: TupleDefinitions.WixChainItem.Name,
2307 tupleIdIsPrimaryKey: true 2329 tupleIdIsPrimaryKey: true
2308 ); 2330 );
2309 2331
2310 public static readonly TableDefinition WixBundleRollbackBoundary = new TableDefinition( 2332 public static readonly TableDefinition WixBundleRollbackBoundary = new TableDefinition(
2311 "WixBundleRollbackBoundary", 2333 "WixBundleRollbackBoundary",
2334 TupleDefinitions.WixBundleRollbackBoundary,
2312 new[] 2335 new[]
2313 { 2336 {
2314 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."), 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
2316 new ColumnDefinition("Transaction", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1), 2339 new ColumnDefinition("Transaction", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2317 }, 2340 },
2318 unreal: true, 2341 unreal: true,
2319 tupleDefinitionName: TupleDefinitions.WixBundleRollbackBoundary.Name,
2320 tupleIdIsPrimaryKey: true 2342 tupleIdIsPrimaryKey: true
2321 ); 2343 );
2322 2344
2323 public static readonly TableDefinition WixBundlePackageGroup = new TableDefinition( 2345 public static readonly TableDefinition WixBundlePackageGroup = new TableDefinition(
2324 "WixBundlePackageGroup", 2346 "WixBundlePackageGroup",
2347 TupleDefinitions.WixBundlePackageGroup,
2325 new[] 2348 new[]
2326 { 2349 {
2327 new ColumnDefinition("WixBundlePackageGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2350 new ColumnDefinition("WixBundlePackageGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2328 }, 2351 },
2329 unreal: true, 2352 unreal: true,
2330 tupleDefinitionName: TupleDefinitions.WixBundlePackageGroup.Name,
2331 tupleIdIsPrimaryKey: true 2353 tupleIdIsPrimaryKey: true
2332 ); 2354 );
2333 2355
2334 public static readonly TableDefinition WixBundlePackage = new TableDefinition( 2356 public static readonly TableDefinition WixBundlePackage = new TableDefinition(
2335 "WixBundlePackage", 2357 "WixBundlePackage",
2358 TupleDefinitions.WixBundlePackage,
2336 new[] 2359 new[]
2337 { 2360 {
2338 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."), 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
2357 new ColumnDefinition("x64", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1), 2380 new ColumnDefinition("x64", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2358 }, 2381 },
2359 unreal: true, 2382 unreal: true,
2360 tupleDefinitionName: TupleDefinitions.WixBundlePackage.Name,
2361 tupleIdIsPrimaryKey: true 2383 tupleIdIsPrimaryKey: true
2362 ); 2384 );
2363 2385
2364 public static readonly TableDefinition WixBundleExePackage = new TableDefinition( 2386 public static readonly TableDefinition WixBundleExePackage = new TableDefinition(
2365 "WixBundleExePackage", 2387 "WixBundleExePackage",
2388 TupleDefinitions.WixBundleExePackage,
2366 new[] 2389 new[]
2367 { 2390 {
2368 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."), 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
2374 new ColumnDefinition("ExeProtocol", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2397 new ColumnDefinition("ExeProtocol", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2375 }, 2398 },
2376 unreal: true, 2399 unreal: true,
2377 tupleDefinitionName: TupleDefinitions.WixBundleExePackage.Name,
2378 tupleIdIsPrimaryKey: true 2400 tupleIdIsPrimaryKey: true
2379 ); 2401 );
2380 2402
2381 public static readonly TableDefinition WixBundleMsiPackage = new TableDefinition( 2403 public static readonly TableDefinition WixBundleMsiPackage = new TableDefinition(
2382 "WixBundleMsiPackage", 2404 "WixBundleMsiPackage",
2405 TupleDefinitions.WixBundleMsiPackage,
2383 new[] 2406 new[]
2384 { 2407 {
2385 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."), 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
2392 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2415 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2393 }, 2416 },
2394 unreal: true, 2417 unreal: true,
2395 tupleDefinitionName: TupleDefinitions.WixBundleMsiPackage.Name,
2396 tupleIdIsPrimaryKey: true 2418 tupleIdIsPrimaryKey: true
2397 ); 2419 );
2398 2420
2399 public static readonly TableDefinition WixBundleMspPackage = new TableDefinition( 2421 public static readonly TableDefinition WixBundleMspPackage = new TableDefinition(
2400 "WixBundleMspPackage", 2422 "WixBundleMspPackage",
2423 TupleDefinitions.WixBundleMspPackage,
2401 new[] 2424 new[]
2402 { 2425 {
2403 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."), 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
2407 new ColumnDefinition("PatchXml", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2430 new ColumnDefinition("PatchXml", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2408 }, 2431 },
2409 unreal: true, 2432 unreal: true,
2410 tupleDefinitionName: TupleDefinitions.WixBundleMspPackage.Name,
2411 tupleIdIsPrimaryKey: true 2433 tupleIdIsPrimaryKey: true
2412 ); 2434 );
2413 2435
2414 public static readonly TableDefinition WixBundleMsuPackage = new TableDefinition( 2436 public static readonly TableDefinition WixBundleMsuPackage = new TableDefinition(
2415 "WixBundleMsuPackage", 2437 "WixBundleMsuPackage",
2438 TupleDefinitions.WixBundleMsuPackage,
2416 new[] 2439 new[]
2417 { 2440 {
2418 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."), 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
2420 new ColumnDefinition("MsuKB", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2443 new ColumnDefinition("MsuKB", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2421 }, 2444 },
2422 unreal: true, 2445 unreal: true,
2423 tupleDefinitionName: TupleDefinitions.WixBundleMsuPackage.Name,
2424 tupleIdIsPrimaryKey: true 2446 tupleIdIsPrimaryKey: true
2425 ); 2447 );
2426 2448
2427 public static readonly TableDefinition WixBundlePackageExitCode = new TableDefinition( 2449 public static readonly TableDefinition WixBundlePackageExitCode = new TableDefinition(
2428 "WixBundlePackageExitCode", 2450 "WixBundlePackageExitCode",
2451 TupleDefinitions.WixBundlePackageExitCode,
2429 new[] 2452 new[]
2430 { 2453 {
2431 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."), 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
2433 new ColumnDefinition("Behavior", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Integer, minValue: 0, maxValue: 3), 2456 new ColumnDefinition("Behavior", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Integer, minValue: 0, maxValue: 3),
2434 }, 2457 },
2435 unreal: true, 2458 unreal: true,
2436 tupleDefinitionName: TupleDefinitions.WixBundlePackageExitCode.Name,
2437 tupleIdIsPrimaryKey: false 2459 tupleIdIsPrimaryKey: false
2438 ); 2460 );
2439 2461
2440 public static readonly TableDefinition WixBundleMsiFeature = new TableDefinition( 2462 public static readonly TableDefinition WixBundleMsiFeature = new TableDefinition(
2441 "WixBundleMsiFeature", 2463 "WixBundleMsiFeature",
2464 TupleDefinitions.WixBundleMsiFeature,
2442 new[] 2465 new[]
2443 { 2466 {
2444 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 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
2453 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2476 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2454 }, 2477 },
2455 unreal: true, 2478 unreal: true,
2456 tupleDefinitionName: TupleDefinitions.WixBundleMsiFeature.Name,
2457 tupleIdIsPrimaryKey: false 2479 tupleIdIsPrimaryKey: false
2458 ); 2480 );
2459 2481
2460 public static readonly TableDefinition WixBundleMsiProperty = new TableDefinition( 2482 public static readonly TableDefinition WixBundleMsiProperty = new TableDefinition(
2461 "WixBundleMsiProperty", 2483 "WixBundleMsiProperty",
2484 TupleDefinitions.WixBundleMsiProperty,
2462 new[] 2485 new[]
2463 { 2486 {
2464 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."), 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
2467 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2490 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2468 }, 2491 },
2469 unreal: true, 2492 unreal: true,
2470 tupleDefinitionName: TupleDefinitions.WixBundleMsiProperty.Name,
2471 tupleIdIsPrimaryKey: false 2493 tupleIdIsPrimaryKey: false
2472 ); 2494 );
2473 2495
2474 public static readonly TableDefinition WixBundleSlipstreamMsp = new TableDefinition( 2496 public static readonly TableDefinition WixBundleSlipstreamMsp = new TableDefinition(
2475 "WixBundleSlipstreamMsp", 2497 "WixBundleSlipstreamMsp",
2498 TupleDefinitions.WixBundleSlipstreamMsp,
2476 new[] 2499 new[]
2477 { 2500 {
2478 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."), 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."),
2479 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."), 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."),
2480 }, 2503 },
2481 unreal: true, 2504 unreal: true,
2482 tupleDefinitionName: TupleDefinitions.WixBundleSlipstreamMsp.Name,
2483 tupleIdIsPrimaryKey: false 2505 tupleIdIsPrimaryKey: false
2484 ); 2506 );
2485 2507
2486 public static readonly TableDefinition WixBundlePackageCommandLine = new TableDefinition( 2508 public static readonly TableDefinition WixBundlePackageCommandLine = new TableDefinition(
2487 "WixBundlePackageCommandLine", 2509 "WixBundlePackageCommandLine",
2510 TupleDefinitions.WixBundlePackageCommandLine,
2488 new[] 2511 new[]
2489 { 2512 {
2490 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."), 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
2494 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2517 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2495 }, 2518 },
2496 unreal: true, 2519 unreal: true,
2497 tupleDefinitionName: TupleDefinitions.WixBundlePackageCommandLine.Name,
2498 tupleIdIsPrimaryKey: false 2520 tupleIdIsPrimaryKey: false
2499 ); 2521 );
2500 2522
2501 public static readonly TableDefinition WixRelatedBundle = new TableDefinition( 2523 public static readonly TableDefinition WixRelatedBundle = new TableDefinition(
2502 "WixRelatedBundle", 2524 "WixRelatedBundle",
2525 TupleDefinitions.WixRelatedBundle,
2503 new[] 2526 new[]
2504 { 2527 {
2505 new ColumnDefinition("Id", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid), 2528 new ColumnDefinition("Id", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid),
2506 new ColumnDefinition("Action", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2529 new ColumnDefinition("Action", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2507 }, 2530 },
2508 unreal: true, 2531 unreal: true,
2509 tupleDefinitionName: TupleDefinitions.WixRelatedBundle.Name,
2510 tupleIdIsPrimaryKey: false 2532 tupleIdIsPrimaryKey: false
2511 ); 2533 );
2512 2534
2513 public static readonly TableDefinition WixBundleRelatedPackage = new TableDefinition( 2535 public static readonly TableDefinition WixBundleRelatedPackage = new TableDefinition(
2514 "WixBundleRelatedPackage", 2536 "WixBundleRelatedPackage",
2537 TupleDefinitions.WixBundleRelatedPackage,
2515 new[] 2538 new[]
2516 { 2539 {
2517 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."), 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
2525 new ColumnDefinition("OnlyDetect", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1), 2548 new ColumnDefinition("OnlyDetect", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2526 }, 2549 },
2527 unreal: true, 2550 unreal: true,
2528 tupleDefinitionName: TupleDefinitions.WixBundleRelatedPackage.Name,
2529 tupleIdIsPrimaryKey: false 2551 tupleIdIsPrimaryKey: false
2530 ); 2552 );
2531 2553
2532 public static readonly TableDefinition WixBundleVariable = new TableDefinition( 2554 public static readonly TableDefinition WixBundleVariable = new TableDefinition(
2533 "WixBundleVariable", 2555 "WixBundleVariable",
2556 TupleDefinitions.WixBundleVariable,
2534 new[] 2557 new[]
2535 { 2558 {
2536 new ColumnDefinition("WixBundleVariable", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2559 new ColumnDefinition("WixBundleVariable", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2540,12 +2563,12 @@ namespace WixToolset.Data.WindowsInstaller
2540 new ColumnDefinition("Persisted", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1), 2563 new ColumnDefinition("Persisted", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2541 }, 2564 },
2542 unreal: true, 2565 unreal: true,
2543 tupleDefinitionName: TupleDefinitions.WixBundleVariable.Name,
2544 tupleIdIsPrimaryKey: true 2566 tupleIdIsPrimaryKey: true
2545 ); 2567 );
2546 2568
2547 public static readonly TableDefinition WixBundleProperties = new TableDefinition( 2569 public static readonly TableDefinition WixBundleProperties = new TableDefinition(
2548 "WixBundleProperties", 2570 "WixBundleProperties",
2571 null,
2549 new[] 2572 new[]
2550 { 2573 {
2551 new ColumnDefinition("DisplayName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown), 2574 new ColumnDefinition("DisplayName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
@@ -2561,6 +2584,7 @@ namespace WixToolset.Data.WindowsInstaller
2561 2584
2562 public static readonly TableDefinition WixPackageFeatureInfo = new TableDefinition( 2585 public static readonly TableDefinition WixPackageFeatureInfo = new TableDefinition(
2563 "WixPackageFeatureInfo", 2586 "WixPackageFeatureInfo",
2587 null,
2564 new[] 2588 new[]
2565 { 2589 {
2566 new ColumnDefinition("Package", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2590 new ColumnDefinition("Package", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
@@ -2580,6 +2604,7 @@ namespace WixToolset.Data.WindowsInstaller
2580 2604
2581 public static readonly TableDefinition WixPackageProperties = new TableDefinition( 2605 public static readonly TableDefinition WixPackageProperties = new TableDefinition(
2582 "WixPackageProperties", 2606 "WixPackageProperties",
2607 null,
2583 new[] 2608 new[]
2584 { 2609 {
2585 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."), 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
2607 2632
2608 public static readonly TableDefinition WixPayloadProperties = new TableDefinition( 2633 public static readonly TableDefinition WixPayloadProperties = new TableDefinition(
2609 "WixPayloadProperties", 2634 "WixPayloadProperties",
2635 null,
2610 new[] 2636 new[]
2611 { 2637 {
2612 new ColumnDefinition("Payload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2638 new ColumnDefinition("Payload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2623,6 +2649,7 @@ namespace WixToolset.Data.WindowsInstaller
2623 2649
2624 public static readonly TableDefinition Streams = new TableDefinition( 2650 public static readonly TableDefinition Streams = new TableDefinition(
2625 "_Streams", 2651 "_Streams",
2652 null,
2626 new[] 2653 new[]
2627 { 2654 {
2628 new ColumnDefinition("Name", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown), 2655 new ColumnDefinition("Name", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -2634,17 +2661,18 @@ namespace WixToolset.Data.WindowsInstaller
2634 2661
2635 public static readonly TableDefinition SummaryInformation = new TableDefinition( 2662 public static readonly TableDefinition SummaryInformation = new TableDefinition(
2636 "_SummaryInformation", 2663 "_SummaryInformation",
2664 TupleDefinitions.SummaryInformation,
2637 new[] 2665 new[]
2638 { 2666 {
2639 new ColumnDefinition("PropertyId", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown), 2667 new ColumnDefinition("PropertyId", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2640 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Unknown), 2668 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2641 }, 2669 },
2642 tupleDefinitionName: TupleDefinitions.SummaryInformation.Name,
2643 tupleIdIsPrimaryKey: false 2670 tupleIdIsPrimaryKey: false
2644 ); 2671 );
2645 2672
2646 public static readonly TableDefinition TransformView = new TableDefinition( 2673 public static readonly TableDefinition TransformView = new TableDefinition(
2647 "_TransformView", 2674 "_TransformView",
2675 null,
2648 new[] 2676 new[]
2649 { 2677 {
2650 new ColumnDefinition("Table", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown), 2678 new ColumnDefinition("Table", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
@@ -2659,6 +2687,7 @@ namespace WixToolset.Data.WindowsInstaller
2659 2687
2660 public static readonly TableDefinition Validation = new TableDefinition( 2688 public static readonly TableDefinition Validation = new TableDefinition(
2661 "_Validation", 2689 "_Validation",
2690 null,
2662 new[] 2691 new[]
2663 { 2692 {
2664 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of table"), 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
2677 2706
2678 public static readonly TableDefinition WixSearch = new TableDefinition( 2707 public static readonly TableDefinition WixSearch = new TableDefinition(
2679 "WixSearch", 2708 "WixSearch",
2709 TupleDefinitions.WixSearch,
2680 new[] 2710 new[]
2681 { 2711 {
2682 new ColumnDefinition("WixSearch", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier), 2712 new ColumnDefinition("WixSearch", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier),
@@ -2684,12 +2714,12 @@ namespace WixToolset.Data.WindowsInstaller
2684 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition), 2714 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition),
2685 }, 2715 },
2686 unreal: true, 2716 unreal: true,
2687 tupleDefinitionName: TupleDefinitions.WixSearch.Name,
2688 tupleIdIsPrimaryKey: true 2717 tupleIdIsPrimaryKey: true
2689 ); 2718 );
2690 2719
2691 public static readonly TableDefinition WixSearchRelation = new TableDefinition( 2720 public static readonly TableDefinition WixSearchRelation = new TableDefinition(
2692 "WixSearchRelation", 2721 "WixSearchRelation",
2722 TupleDefinitions.WixSearchRelation,
2693 new[] 2723 new[]
2694 { 2724 {
2695 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."), 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
2697 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger), 2727 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2698 }, 2728 },
2699 unreal: true, 2729 unreal: true,
2700 tupleDefinitionName: TupleDefinitions.WixSearchRelation.Name,
2701 tupleIdIsPrimaryKey: true 2730 tupleIdIsPrimaryKey: true
2702 ); 2731 );
2703 2732
2704 public static readonly TableDefinition WixFileSearch = new TableDefinition( 2733 public static readonly TableDefinition WixFileSearch = new TableDefinition(
2705 "WixFileSearch", 2734 "WixFileSearch",
2735 TupleDefinitions.WixFileSearch,
2706 new[] 2736 new[]
2707 { 2737 {
2708 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."), 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
2717 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger), 2747 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2718 }, 2748 },
2719 unreal: true, 2749 unreal: true,
2720 tupleDefinitionName: TupleDefinitions.WixFileSearch.Name,
2721 tupleIdIsPrimaryKey: true 2750 tupleIdIsPrimaryKey: true
2722 ); 2751 );
2723 2752
2724 public static readonly TableDefinition WixRegistrySearch = new TableDefinition( 2753 public static readonly TableDefinition WixRegistrySearch = new TableDefinition(
2725 "WixRegistrySearch", 2754 "WixRegistrySearch",
2755 TupleDefinitions.WixRegistrySearch,
2726 new[] 2756 new[]
2727 { 2757 {
2728 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."), 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
2732 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger), 2762 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2733 }, 2763 },
2734 unreal: true, 2764 unreal: true,
2735 tupleDefinitionName: TupleDefinitions.WixRegistrySearch.Name,
2736 tupleIdIsPrimaryKey: true 2765 tupleIdIsPrimaryKey: true
2737 ); 2766 );
2738 2767
2739 public static readonly TableDefinition WixComponentSearch = new TableDefinition( 2768 public static readonly TableDefinition WixComponentSearch = new TableDefinition(
2740 "WixComponentSearch", 2769 "WixComponentSearch",
2770 TupleDefinitions.WixComponentSearch,
2741 new[] 2771 new[]
2742 { 2772 {
2743 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."), 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
2746 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger), 2776 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2747 }, 2777 },
2748 unreal: true, 2778 unreal: true,
2749 tupleDefinitionName: TupleDefinitions.WixComponentSearch.Name,
2750 tupleIdIsPrimaryKey: true 2779 tupleIdIsPrimaryKey: true
2751 ); 2780 );
2752 2781
2753 public static readonly TableDefinition WixProductSearch = new TableDefinition( 2782 public static readonly TableDefinition WixProductSearch = new TableDefinition(
2754 "WixProductSearch", 2783 "WixProductSearch",
2784 TupleDefinitions.WixProductSearch,
2755 new[] 2785 new[]
2756 { 2786 {
2757 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."), 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
2759 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger), 2789 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2760 }, 2790 },
2761 unreal: true, 2791 unreal: true,
2762 tupleDefinitionName: TupleDefinitions.WixProductSearch.Name,
2763 tupleIdIsPrimaryKey: true 2792 tupleIdIsPrimaryKey: true
2764 ); 2793 );
2765 2794
@@ -2880,9 +2909,9 @@ namespace WixToolset.Data.WindowsInstaller
2880 ImageFamilies, 2909 ImageFamilies,
2881 UpgradedImages, 2910 UpgradedImages,
2882 UpgradedFilesToIgnore, 2911 UpgradedFilesToIgnore,
2883 UpgradedFiles_OptionalData, 2912 UpgradedFilesOptionalData,
2884 TargetImages, 2913 TargetImages,
2885 TargetFiles_OptionalData, 2914 TargetFilesOptionalData,
2886 FamilyFileRanges, 2915 FamilyFileRanges,
2887 ExternalFiles, 2916 ExternalFiles,
2888 WixAction, 2917 WixAction,