aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-04-11 16:02:25 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-04-12 12:41:13 +1000
commitf49060303504d112b1580c1c90430aab4aaf1763 (patch)
tree0aab79732de62c3dd1b34a5983ea7b60192eb627
parentbe42b2dd8104eec6384ab632d9869e09d29fe827 (diff)
downloadwix-f49060303504d112b1580c1c90430aab4aaf1763.tar.gz
wix-f49060303504d112b1580c1c90430aab4aaf1763.tar.bz2
wix-f49060303504d112b1580c1c90430aab4aaf1763.zip
Move table definitions from Core to Data.
Sync tuple and table definitions.
-rw-r--r--src/WixToolset.Data/Tuples/AdminExecuteSequenceTuple.cs60
-rw-r--r--src/WixToolset.Data/Tuples/AdminUISequenceTuple.cs60
-rw-r--r--src/WixToolset.Data/Tuples/AdvtExecuteSequenceTuple.cs60
-rw-r--r--src/WixToolset.Data/Tuples/AssemblyTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/CCPSearchTuple.cs4
-rw-r--r--src/WixToolset.Data/Tuples/CompLocatorTuple.cs4
-rw-r--r--src/WixToolset.Data/Tuples/InstallExecuteSequenceTuple.cs60
-rw-r--r--src/WixToolset.Data/Tuples/InstallUISequenceTuple.cs60
-rw-r--r--src/WixToolset.Data/Tuples/ModuleAdminExecuteSequenceTuple.cs76
-rw-r--r--src/WixToolset.Data/Tuples/ModuleAdminUISequenceTuple.cs76
-rw-r--r--src/WixToolset.Data/Tuples/ModuleAdvtExecuteSequenceTuple.cs76
-rw-r--r--src/WixToolset.Data/Tuples/ModuleIgnoreTableTuple.cs6
-rw-r--r--src/WixToolset.Data/Tuples/ModuleInstallExecuteSequenceTuple.cs76
-rw-r--r--src/WixToolset.Data/Tuples/ModuleInstallUISequenceTuple.cs76
-rw-r--r--src/WixToolset.Data/Tuples/MsiDigitalCertificateTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/MsiEmbeddedChainerTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/MsiServiceConfigTuple.cs1
-rw-r--r--src/WixToolset.Data/Tuples/RemoveIniFileTuple.cs100
-rw-r--r--src/WixToolset.Data/Tuples/ServiceControlTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/TupleDefinitions.cs53
-rw-r--r--src/WixToolset.Data/Tuples/WixBootstrapperApplicationTuple.cs6
-rw-r--r--src/WixToolset.Data/Tuples/WixBundlePackageGroupTuple.cs10
-rw-r--r--src/WixToolset.Data/Tuples/WixBundlePayloadGroupTuple.cs10
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleUpdateTuple.cs2
-rw-r--r--src/WixToolset.Data/Tuples/WixChainItemTuple.cs4
-rw-r--r--src/WixToolset.Data/Tuples/WixDeltaPatchFileTuple.cs84
-rw-r--r--src/WixToolset.Data/Tuples/WixFeatureGroupTuple.cs6
-rw-r--r--src/WixToolset.Data/Tuples/WixFragmentTuple.cs4
-rw-r--r--src/WixToolset.Data/Tuples/WixPatchMetadataTuple.cs46
-rw-r--r--src/WixToolset.Data/Tuples/WixSuppressModularizationTuple.cs4
-rw-r--r--src/WixToolset.Data/Tuples/WixUITuple.cs6
-rw-r--r--src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs8
-rw-r--r--src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs2967
33 files changed, 3099 insertions, 938 deletions
diff --git a/src/WixToolset.Data/Tuples/AdminExecuteSequenceTuple.cs b/src/WixToolset.Data/Tuples/AdminExecuteSequenceTuple.cs
deleted file mode 100644
index 6dea5cfc..00000000
--- a/src/WixToolset.Data/Tuples/AdminExecuteSequenceTuple.cs
+++ /dev/null
@@ -1,60 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition AdminExecuteSequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.AdminExecuteSequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(AdminExecuteSequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(AdminExecuteSequenceTupleFields.Condition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(AdminExecuteSequenceTupleFields.Sequence), IntermediateFieldType.Number),
16 },
17 typeof(AdminExecuteSequenceTuple));
18 }
19}
20
21namespace WixToolset.Data.Tuples
22{
23 public enum AdminExecuteSequenceTupleFields
24 {
25 Action,
26 Condition,
27 Sequence,
28 }
29
30 public class AdminExecuteSequenceTuple : IntermediateTuple
31 {
32 public AdminExecuteSequenceTuple() : base(TupleDefinitions.AdminExecuteSequence, null, null)
33 {
34 }
35
36 public AdminExecuteSequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.AdminExecuteSequence, sourceLineNumber, id)
37 {
38 }
39
40 public IntermediateField this[AdminExecuteSequenceTupleFields index] => this.Fields[(int)index];
41
42 public string Action
43 {
44 get => (string)this.Fields[(int)AdminExecuteSequenceTupleFields.Action];
45 set => this.Set((int)AdminExecuteSequenceTupleFields.Action, value);
46 }
47
48 public string Condition
49 {
50 get => (string)this.Fields[(int)AdminExecuteSequenceTupleFields.Condition];
51 set => this.Set((int)AdminExecuteSequenceTupleFields.Condition, value);
52 }
53
54 public int Sequence
55 {
56 get => (int)this.Fields[(int)AdminExecuteSequenceTupleFields.Sequence];
57 set => this.Set((int)AdminExecuteSequenceTupleFields.Sequence, value);
58 }
59 }
60} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/AdminUISequenceTuple.cs b/src/WixToolset.Data/Tuples/AdminUISequenceTuple.cs
deleted file mode 100644
index b6830b74..00000000
--- a/src/WixToolset.Data/Tuples/AdminUISequenceTuple.cs
+++ /dev/null
@@ -1,60 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition AdminUISequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.AdminUISequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(AdminUISequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(AdminUISequenceTupleFields.Condition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(AdminUISequenceTupleFields.Sequence), IntermediateFieldType.Number),
16 },
17 typeof(AdminUISequenceTuple));
18 }
19}
20
21namespace WixToolset.Data.Tuples
22{
23 public enum AdminUISequenceTupleFields
24 {
25 Action,
26 Condition,
27 Sequence,
28 }
29
30 public class AdminUISequenceTuple : IntermediateTuple
31 {
32 public AdminUISequenceTuple() : base(TupleDefinitions.AdminUISequence, null, null)
33 {
34 }
35
36 public AdminUISequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.AdminUISequence, sourceLineNumber, id)
37 {
38 }
39
40 public IntermediateField this[AdminUISequenceTupleFields index] => this.Fields[(int)index];
41
42 public string Action
43 {
44 get => (string)this.Fields[(int)AdminUISequenceTupleFields.Action];
45 set => this.Set((int)AdminUISequenceTupleFields.Action, value);
46 }
47
48 public string Condition
49 {
50 get => (string)this.Fields[(int)AdminUISequenceTupleFields.Condition];
51 set => this.Set((int)AdminUISequenceTupleFields.Condition, value);
52 }
53
54 public int Sequence
55 {
56 get => (int)this.Fields[(int)AdminUISequenceTupleFields.Sequence];
57 set => this.Set((int)AdminUISequenceTupleFields.Sequence, value);
58 }
59 }
60} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/AdvtExecuteSequenceTuple.cs b/src/WixToolset.Data/Tuples/AdvtExecuteSequenceTuple.cs
deleted file mode 100644
index e2e808c9..00000000
--- a/src/WixToolset.Data/Tuples/AdvtExecuteSequenceTuple.cs
+++ /dev/null
@@ -1,60 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition AdvtExecuteSequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.AdvtExecuteSequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(AdvtExecuteSequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(AdvtExecuteSequenceTupleFields.Condition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(AdvtExecuteSequenceTupleFields.Sequence), IntermediateFieldType.Number),
16 },
17 typeof(AdvtExecuteSequenceTuple));
18 }
19}
20
21namespace WixToolset.Data.Tuples
22{
23 public enum AdvtExecuteSequenceTupleFields
24 {
25 Action,
26 Condition,
27 Sequence,
28 }
29
30 public class AdvtExecuteSequenceTuple : IntermediateTuple
31 {
32 public AdvtExecuteSequenceTuple() : base(TupleDefinitions.AdvtExecuteSequence, null, null)
33 {
34 }
35
36 public AdvtExecuteSequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.AdvtExecuteSequence, sourceLineNumber, id)
37 {
38 }
39
40 public IntermediateField this[AdvtExecuteSequenceTupleFields index] => this.Fields[(int)index];
41
42 public string Action
43 {
44 get => (string)this.Fields[(int)AdvtExecuteSequenceTupleFields.Action];
45 set => this.Set((int)AdvtExecuteSequenceTupleFields.Action, value);
46 }
47
48 public string Condition
49 {
50 get => (string)this.Fields[(int)AdvtExecuteSequenceTupleFields.Condition];
51 set => this.Set((int)AdvtExecuteSequenceTupleFields.Condition, value);
52 }
53
54 public int Sequence
55 {
56 get => (int)this.Fields[(int)AdvtExecuteSequenceTupleFields.Sequence];
57 set => this.Set((int)AdvtExecuteSequenceTupleFields.Sequence, value);
58 }
59 }
60} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/AssemblyTuple.cs b/src/WixToolset.Data/Tuples/AssemblyTuple.cs
index 15367cc3..d1e5e1ce 100644
--- a/src/WixToolset.Data/Tuples/AssemblyTuple.cs
+++ b/src/WixToolset.Data/Tuples/AssemblyTuple.cs
@@ -14,7 +14,7 @@ namespace WixToolset.Data
14 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.FeatureRef), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.FeatureRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.ManifestFileRef), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.ManifestFileRef), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.ApplicationFileRef), IntermediateFieldType.String), 16 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.ApplicationFileRef), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.Attributes), IntermediateFieldType.Number), 17 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.Type), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.ProcessorArchitecture), IntermediateFieldType.String), 18 new IntermediateFieldDefinition(nameof(AssemblyTupleFields.ProcessorArchitecture), IntermediateFieldType.String),
19 }, 19 },
20 typeof(AssemblyTuple)); 20 typeof(AssemblyTuple));
@@ -29,7 +29,7 @@ namespace WixToolset.Data.Tuples
29 FeatureRef, 29 FeatureRef,
30 ManifestFileRef, 30 ManifestFileRef,
31 ApplicationFileRef, 31 ApplicationFileRef,
32 Attributes, 32 Type,
33 ProcessorArchitecture, 33 ProcessorArchitecture,
34 } 34 }
35 35
@@ -83,8 +83,8 @@ namespace WixToolset.Data.Tuples
83 83
84 public AssemblyType Type 84 public AssemblyType Type
85 { 85 {
86 get => (AssemblyType)this.Fields[(int)AssemblyTupleFields.Attributes].AsNumber(); 86 get => (AssemblyType)this.Fields[(int)AssemblyTupleFields.Type].AsNumber();
87 set => this.Set((int)AssemblyTupleFields.Attributes, (int)value); 87 set => this.Set((int)AssemblyTupleFields.Type, (int)value);
88 } 88 }
89 89
90 public string ProcessorArchitecture 90 public string ProcessorArchitecture
diff --git a/src/WixToolset.Data/Tuples/CCPSearchTuple.cs b/src/WixToolset.Data/Tuples/CCPSearchTuple.cs
index bdc64907..63720d64 100644
--- a/src/WixToolset.Data/Tuples/CCPSearchTuple.cs
+++ b/src/WixToolset.Data/Tuples/CCPSearchTuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition CCPSearch = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition CCPSearch = new IntermediateTupleDefinition(
10 TupleDefinitionType.CCPSearch, 10 TupleDefinitionType.CCPSearch,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(CCPSearchTuple)); 14 typeof(CCPSearchTuple));
13 } 15 }
14} 16}
diff --git a/src/WixToolset.Data/Tuples/CompLocatorTuple.cs b/src/WixToolset.Data/Tuples/CompLocatorTuple.cs
index 746d3073..58b32604 100644
--- a/src/WixToolset.Data/Tuples/CompLocatorTuple.cs
+++ b/src/WixToolset.Data/Tuples/CompLocatorTuple.cs
@@ -41,8 +41,8 @@ namespace WixToolset.Data.Tuples
41 41
42 public string SignatureRef 42 public string SignatureRef
43 { 43 {
44 get => (string)this.Fields[(int)IniLocatorTupleFields.SignatureRef]; 44 get => (string)this.Fields[(int)CompLocatorTupleFields.SignatureRef];
45 set => this.Set((int)IniLocatorTupleFields.SignatureRef, value); 45 set => this.Set((int)CompLocatorTupleFields.SignatureRef, value);
46 } 46 }
47 47
48 public string ComponentId 48 public string ComponentId
diff --git a/src/WixToolset.Data/Tuples/InstallExecuteSequenceTuple.cs b/src/WixToolset.Data/Tuples/InstallExecuteSequenceTuple.cs
deleted file mode 100644
index 0dbb00ed..00000000
--- a/src/WixToolset.Data/Tuples/InstallExecuteSequenceTuple.cs
+++ /dev/null
@@ -1,60 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition InstallExecuteSequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.InstallExecuteSequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(InstallExecuteSequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(InstallExecuteSequenceTupleFields.Condition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(InstallExecuteSequenceTupleFields.Sequence), IntermediateFieldType.Number),
16 },
17 typeof(InstallExecuteSequenceTuple));
18 }
19}
20
21namespace WixToolset.Data.Tuples
22{
23 public enum InstallExecuteSequenceTupleFields
24 {
25 Action,
26 Condition,
27 Sequence,
28 }
29
30 public class InstallExecuteSequenceTuple : IntermediateTuple
31 {
32 public InstallExecuteSequenceTuple() : base(TupleDefinitions.InstallExecuteSequence, null, null)
33 {
34 }
35
36 public InstallExecuteSequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.InstallExecuteSequence, sourceLineNumber, id)
37 {
38 }
39
40 public IntermediateField this[InstallExecuteSequenceTupleFields index] => this.Fields[(int)index];
41
42 public string Action
43 {
44 get => (string)this.Fields[(int)InstallExecuteSequenceTupleFields.Action];
45 set => this.Set((int)InstallExecuteSequenceTupleFields.Action, value);
46 }
47
48 public string Condition
49 {
50 get => (string)this.Fields[(int)InstallExecuteSequenceTupleFields.Condition];
51 set => this.Set((int)InstallExecuteSequenceTupleFields.Condition, value);
52 }
53
54 public int Sequence
55 {
56 get => (int)this.Fields[(int)InstallExecuteSequenceTupleFields.Sequence];
57 set => this.Set((int)InstallExecuteSequenceTupleFields.Sequence, value);
58 }
59 }
60} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/InstallUISequenceTuple.cs b/src/WixToolset.Data/Tuples/InstallUISequenceTuple.cs
deleted file mode 100644
index 09751df3..00000000
--- a/src/WixToolset.Data/Tuples/InstallUISequenceTuple.cs
+++ /dev/null
@@ -1,60 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition InstallUISequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.InstallUISequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(InstallUISequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(InstallUISequenceTupleFields.Condition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(InstallUISequenceTupleFields.Sequence), IntermediateFieldType.Number),
16 },
17 typeof(InstallUISequenceTuple));
18 }
19}
20
21namespace WixToolset.Data.Tuples
22{
23 public enum InstallUISequenceTupleFields
24 {
25 Action,
26 Condition,
27 Sequence,
28 }
29
30 public class InstallUISequenceTuple : IntermediateTuple
31 {
32 public InstallUISequenceTuple() : base(TupleDefinitions.InstallUISequence, null, null)
33 {
34 }
35
36 public InstallUISequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.InstallUISequence, sourceLineNumber, id)
37 {
38 }
39
40 public IntermediateField this[InstallUISequenceTupleFields index] => this.Fields[(int)index];
41
42 public string Action
43 {
44 get => (string)this.Fields[(int)InstallUISequenceTupleFields.Action];
45 set => this.Set((int)InstallUISequenceTupleFields.Action, value);
46 }
47
48 public string Condition
49 {
50 get => (string)this.Fields[(int)InstallUISequenceTupleFields.Condition];
51 set => this.Set((int)InstallUISequenceTupleFields.Condition, value);
52 }
53
54 public int Sequence
55 {
56 get => (int)this.Fields[(int)InstallUISequenceTupleFields.Sequence];
57 set => this.Set((int)InstallUISequenceTupleFields.Sequence, value);
58 }
59 }
60} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/ModuleAdminExecuteSequenceTuple.cs b/src/WixToolset.Data/Tuples/ModuleAdminExecuteSequenceTuple.cs
deleted file mode 100644
index eba7a431..00000000
--- a/src/WixToolset.Data/Tuples/ModuleAdminExecuteSequenceTuple.cs
+++ /dev/null
@@ -1,76 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition ModuleAdminExecuteSequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.ModuleAdminExecuteSequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(ModuleAdminExecuteSequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ModuleAdminExecuteSequenceTupleFields.Sequence), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(ModuleAdminExecuteSequenceTupleFields.BaseAction), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ModuleAdminExecuteSequenceTupleFields.After), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(ModuleAdminExecuteSequenceTupleFields.Condition), IntermediateFieldType.String),
18 },
19 typeof(ModuleAdminExecuteSequenceTuple));
20 }
21}
22
23namespace WixToolset.Data.Tuples
24{
25 public enum ModuleAdminExecuteSequenceTupleFields
26 {
27 Action,
28 Sequence,
29 BaseAction,
30 After,
31 Condition,
32 }
33
34 public class ModuleAdminExecuteSequenceTuple : IntermediateTuple
35 {
36 public ModuleAdminExecuteSequenceTuple() : base(TupleDefinitions.ModuleAdminExecuteSequence, null, null)
37 {
38 }
39
40 public ModuleAdminExecuteSequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.ModuleAdminExecuteSequence, sourceLineNumber, id)
41 {
42 }
43
44 public IntermediateField this[ModuleAdminExecuteSequenceTupleFields index] => this.Fields[(int)index];
45
46 public string Action
47 {
48 get => (string)this.Fields[(int)ModuleAdminExecuteSequenceTupleFields.Action];
49 set => this.Set((int)ModuleAdminExecuteSequenceTupleFields.Action, value);
50 }
51
52 public int Sequence
53 {
54 get => (int)this.Fields[(int)ModuleAdminExecuteSequenceTupleFields.Sequence];
55 set => this.Set((int)ModuleAdminExecuteSequenceTupleFields.Sequence, value);
56 }
57
58 public string BaseAction
59 {
60 get => (string)this.Fields[(int)ModuleAdminExecuteSequenceTupleFields.BaseAction];
61 set => this.Set((int)ModuleAdminExecuteSequenceTupleFields.BaseAction, value);
62 }
63
64 public int After
65 {
66 get => (int)this.Fields[(int)ModuleAdminExecuteSequenceTupleFields.After];
67 set => this.Set((int)ModuleAdminExecuteSequenceTupleFields.After, value);
68 }
69
70 public string Condition
71 {
72 get => (string)this.Fields[(int)ModuleAdminExecuteSequenceTupleFields.Condition];
73 set => this.Set((int)ModuleAdminExecuteSequenceTupleFields.Condition, value);
74 }
75 }
76} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/ModuleAdminUISequenceTuple.cs b/src/WixToolset.Data/Tuples/ModuleAdminUISequenceTuple.cs
deleted file mode 100644
index 396a81da..00000000
--- a/src/WixToolset.Data/Tuples/ModuleAdminUISequenceTuple.cs
+++ /dev/null
@@ -1,76 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition ModuleAdminUISequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.ModuleAdminUISequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(ModuleAdminUISequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ModuleAdminUISequenceTupleFields.Sequence), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(ModuleAdminUISequenceTupleFields.BaseAction), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ModuleAdminUISequenceTupleFields.After), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(ModuleAdminUISequenceTupleFields.Condition), IntermediateFieldType.String),
18 },
19 typeof(ModuleAdminUISequenceTuple));
20 }
21}
22
23namespace WixToolset.Data.Tuples
24{
25 public enum ModuleAdminUISequenceTupleFields
26 {
27 Action,
28 Sequence,
29 BaseAction,
30 After,
31 Condition,
32 }
33
34 public class ModuleAdminUISequenceTuple : IntermediateTuple
35 {
36 public ModuleAdminUISequenceTuple() : base(TupleDefinitions.ModuleAdminUISequence, null, null)
37 {
38 }
39
40 public ModuleAdminUISequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.ModuleAdminUISequence, sourceLineNumber, id)
41 {
42 }
43
44 public IntermediateField this[ModuleAdminUISequenceTupleFields index] => this.Fields[(int)index];
45
46 public string Action
47 {
48 get => (string)this.Fields[(int)ModuleAdminUISequenceTupleFields.Action];
49 set => this.Set((int)ModuleAdminUISequenceTupleFields.Action, value);
50 }
51
52 public int Sequence
53 {
54 get => (int)this.Fields[(int)ModuleAdminUISequenceTupleFields.Sequence];
55 set => this.Set((int)ModuleAdminUISequenceTupleFields.Sequence, value);
56 }
57
58 public string BaseAction
59 {
60 get => (string)this.Fields[(int)ModuleAdminUISequenceTupleFields.BaseAction];
61 set => this.Set((int)ModuleAdminUISequenceTupleFields.BaseAction, value);
62 }
63
64 public int After
65 {
66 get => (int)this.Fields[(int)ModuleAdminUISequenceTupleFields.After];
67 set => this.Set((int)ModuleAdminUISequenceTupleFields.After, value);
68 }
69
70 public string Condition
71 {
72 get => (string)this.Fields[(int)ModuleAdminUISequenceTupleFields.Condition];
73 set => this.Set((int)ModuleAdminUISequenceTupleFields.Condition, value);
74 }
75 }
76} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/ModuleAdvtExecuteSequenceTuple.cs b/src/WixToolset.Data/Tuples/ModuleAdvtExecuteSequenceTuple.cs
deleted file mode 100644
index 146d09d0..00000000
--- a/src/WixToolset.Data/Tuples/ModuleAdvtExecuteSequenceTuple.cs
+++ /dev/null
@@ -1,76 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition ModuleAdvtExecuteSequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.ModuleAdvtExecuteSequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(ModuleAdvtExecuteSequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ModuleAdvtExecuteSequenceTupleFields.Sequence), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(ModuleAdvtExecuteSequenceTupleFields.BaseAction), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ModuleAdvtExecuteSequenceTupleFields.After), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(ModuleAdvtExecuteSequenceTupleFields.Condition), IntermediateFieldType.String),
18 },
19 typeof(ModuleAdvtExecuteSequenceTuple));
20 }
21}
22
23namespace WixToolset.Data.Tuples
24{
25 public enum ModuleAdvtExecuteSequenceTupleFields
26 {
27 Action,
28 Sequence,
29 BaseAction,
30 After,
31 Condition,
32 }
33
34 public class ModuleAdvtExecuteSequenceTuple : IntermediateTuple
35 {
36 public ModuleAdvtExecuteSequenceTuple() : base(TupleDefinitions.ModuleAdvtExecuteSequence, null, null)
37 {
38 }
39
40 public ModuleAdvtExecuteSequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.ModuleAdvtExecuteSequence, sourceLineNumber, id)
41 {
42 }
43
44 public IntermediateField this[ModuleAdvtExecuteSequenceTupleFields index] => this.Fields[(int)index];
45
46 public string Action
47 {
48 get => (string)this.Fields[(int)ModuleAdvtExecuteSequenceTupleFields.Action];
49 set => this.Set((int)ModuleAdvtExecuteSequenceTupleFields.Action, value);
50 }
51
52 public int Sequence
53 {
54 get => (int)this.Fields[(int)ModuleAdvtExecuteSequenceTupleFields.Sequence];
55 set => this.Set((int)ModuleAdvtExecuteSequenceTupleFields.Sequence, value);
56 }
57
58 public string BaseAction
59 {
60 get => (string)this.Fields[(int)ModuleAdvtExecuteSequenceTupleFields.BaseAction];
61 set => this.Set((int)ModuleAdvtExecuteSequenceTupleFields.BaseAction, value);
62 }
63
64 public int After
65 {
66 get => (int)this.Fields[(int)ModuleAdvtExecuteSequenceTupleFields.After];
67 set => this.Set((int)ModuleAdvtExecuteSequenceTupleFields.After, value);
68 }
69
70 public string Condition
71 {
72 get => (string)this.Fields[(int)ModuleAdvtExecuteSequenceTupleFields.Condition];
73 set => this.Set((int)ModuleAdvtExecuteSequenceTupleFields.Condition, value);
74 }
75 }
76} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/ModuleIgnoreTableTuple.cs b/src/WixToolset.Data/Tuples/ModuleIgnoreTableTuple.cs
index efcf0f79..d786b8d9 100644
--- a/src/WixToolset.Data/Tuples/ModuleIgnoreTableTuple.cs
+++ b/src/WixToolset.Data/Tuples/ModuleIgnoreTableTuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition ModuleIgnoreTable = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition ModuleIgnoreTable = new IntermediateTupleDefinition(
10 TupleDefinitionType.ModuleIgnoreTable, 10 TupleDefinitionType.ModuleIgnoreTable,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(ModuleIgnoreTableTuple)); 14 typeof(ModuleIgnoreTableTuple));
13 } 15 }
14} 16}
@@ -30,5 +32,5 @@ namespace WixToolset.Data.Tuples
30 } 32 }
31 33
32 public IntermediateField this[ModuleIgnoreTableTupleFields index] => this.Fields[(int)index]; 34 public IntermediateField this[ModuleIgnoreTableTupleFields index] => this.Fields[(int)index];
33 } 35 }
34} \ No newline at end of file 36} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/ModuleInstallExecuteSequenceTuple.cs b/src/WixToolset.Data/Tuples/ModuleInstallExecuteSequenceTuple.cs
deleted file mode 100644
index 07b79239..00000000
--- a/src/WixToolset.Data/Tuples/ModuleInstallExecuteSequenceTuple.cs
+++ /dev/null
@@ -1,76 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition ModuleInstallExecuteSequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.ModuleInstallExecuteSequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(ModuleInstallExecuteSequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ModuleInstallExecuteSequenceTupleFields.Sequence), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(ModuleInstallExecuteSequenceTupleFields.BaseAction), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ModuleInstallExecuteSequenceTupleFields.After), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(ModuleInstallExecuteSequenceTupleFields.Condition), IntermediateFieldType.String),
18 },
19 typeof(ModuleInstallExecuteSequenceTuple));
20 }
21}
22
23namespace WixToolset.Data.Tuples
24{
25 public enum ModuleInstallExecuteSequenceTupleFields
26 {
27 Action,
28 Sequence,
29 BaseAction,
30 After,
31 Condition,
32 }
33
34 public class ModuleInstallExecuteSequenceTuple : IntermediateTuple
35 {
36 public ModuleInstallExecuteSequenceTuple() : base(TupleDefinitions.ModuleInstallExecuteSequence, null, null)
37 {
38 }
39
40 public ModuleInstallExecuteSequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.ModuleInstallExecuteSequence, sourceLineNumber, id)
41 {
42 }
43
44 public IntermediateField this[ModuleInstallExecuteSequenceTupleFields index] => this.Fields[(int)index];
45
46 public string Action
47 {
48 get => (string)this.Fields[(int)ModuleInstallExecuteSequenceTupleFields.Action];
49 set => this.Set((int)ModuleInstallExecuteSequenceTupleFields.Action, value);
50 }
51
52 public int Sequence
53 {
54 get => (int)this.Fields[(int)ModuleInstallExecuteSequenceTupleFields.Sequence];
55 set => this.Set((int)ModuleInstallExecuteSequenceTupleFields.Sequence, value);
56 }
57
58 public string BaseAction
59 {
60 get => (string)this.Fields[(int)ModuleInstallExecuteSequenceTupleFields.BaseAction];
61 set => this.Set((int)ModuleInstallExecuteSequenceTupleFields.BaseAction, value);
62 }
63
64 public int After
65 {
66 get => (int)this.Fields[(int)ModuleInstallExecuteSequenceTupleFields.After];
67 set => this.Set((int)ModuleInstallExecuteSequenceTupleFields.After, value);
68 }
69
70 public string Condition
71 {
72 get => (string)this.Fields[(int)ModuleInstallExecuteSequenceTupleFields.Condition];
73 set => this.Set((int)ModuleInstallExecuteSequenceTupleFields.Condition, value);
74 }
75 }
76} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/ModuleInstallUISequenceTuple.cs b/src/WixToolset.Data/Tuples/ModuleInstallUISequenceTuple.cs
deleted file mode 100644
index 31bb8555..00000000
--- a/src/WixToolset.Data/Tuples/ModuleInstallUISequenceTuple.cs
+++ /dev/null
@@ -1,76 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition ModuleInstallUISequence = new IntermediateTupleDefinition(
10 TupleDefinitionType.ModuleInstallUISequence,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(ModuleInstallUISequenceTupleFields.Action), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ModuleInstallUISequenceTupleFields.Sequence), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(ModuleInstallUISequenceTupleFields.BaseAction), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ModuleInstallUISequenceTupleFields.After), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(ModuleInstallUISequenceTupleFields.Condition), IntermediateFieldType.String),
18 },
19 typeof(ModuleInstallUISequenceTuple));
20 }
21}
22
23namespace WixToolset.Data.Tuples
24{
25 public enum ModuleInstallUISequenceTupleFields
26 {
27 Action,
28 Sequence,
29 BaseAction,
30 After,
31 Condition,
32 }
33
34 public class ModuleInstallUISequenceTuple : IntermediateTuple
35 {
36 public ModuleInstallUISequenceTuple() : base(TupleDefinitions.ModuleInstallUISequence, null, null)
37 {
38 }
39
40 public ModuleInstallUISequenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.ModuleInstallUISequence, sourceLineNumber, id)
41 {
42 }
43
44 public IntermediateField this[ModuleInstallUISequenceTupleFields index] => this.Fields[(int)index];
45
46 public string Action
47 {
48 get => (string)this.Fields[(int)ModuleInstallUISequenceTupleFields.Action];
49 set => this.Set((int)ModuleInstallUISequenceTupleFields.Action, value);
50 }
51
52 public int Sequence
53 {
54 get => (int)this.Fields[(int)ModuleInstallUISequenceTupleFields.Sequence];
55 set => this.Set((int)ModuleInstallUISequenceTupleFields.Sequence, value);
56 }
57
58 public string BaseAction
59 {
60 get => (string)this.Fields[(int)ModuleInstallUISequenceTupleFields.BaseAction];
61 set => this.Set((int)ModuleInstallUISequenceTupleFields.BaseAction, value);
62 }
63
64 public int After
65 {
66 get => (int)this.Fields[(int)ModuleInstallUISequenceTupleFields.After];
67 set => this.Set((int)ModuleInstallUISequenceTupleFields.After, value);
68 }
69
70 public string Condition
71 {
72 get => (string)this.Fields[(int)ModuleInstallUISequenceTupleFields.Condition];
73 set => this.Set((int)ModuleInstallUISequenceTupleFields.Condition, value);
74 }
75 }
76} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/MsiDigitalCertificateTuple.cs b/src/WixToolset.Data/Tuples/MsiDigitalCertificateTuple.cs
index 52f1adea..e4c0469b 100644
--- a/src/WixToolset.Data/Tuples/MsiDigitalCertificateTuple.cs
+++ b/src/WixToolset.Data/Tuples/MsiDigitalCertificateTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.MsiDigitalCertificate, 10 TupleDefinitionType.MsiDigitalCertificate,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(MsiDigitalCertificateTupleFields.DigitalCertificate), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(MsiDigitalCertificateTupleFields.CertData), IntermediateFieldType.Path), 13 new IntermediateFieldDefinition(nameof(MsiDigitalCertificateTupleFields.CertData), IntermediateFieldType.Path),
15 }, 14 },
16 typeof(MsiDigitalCertificateTuple)); 15 typeof(MsiDigitalCertificateTuple));
@@ -21,7 +20,6 @@ namespace WixToolset.Data.Tuples
21{ 20{
22 public enum MsiDigitalCertificateTupleFields 21 public enum MsiDigitalCertificateTupleFields
23 { 22 {
24 DigitalCertificate,
25 CertData, 23 CertData,
26 } 24 }
27 25
@@ -37,12 +35,6 @@ namespace WixToolset.Data.Tuples
37 35
38 public IntermediateField this[MsiDigitalCertificateTupleFields index] => this.Fields[(int)index]; 36 public IntermediateField this[MsiDigitalCertificateTupleFields index] => this.Fields[(int)index];
39 37
40 public string DigitalCertificate
41 {
42 get => (string)this.Fields[(int)MsiDigitalCertificateTupleFields.DigitalCertificate];
43 set => this.Set((int)MsiDigitalCertificateTupleFields.DigitalCertificate, value);
44 }
45
46 public string CertData 38 public string CertData
47 { 39 {
48 get => (string)this.Fields[(int)MsiDigitalCertificateTupleFields.CertData]; 40 get => (string)this.Fields[(int)MsiDigitalCertificateTupleFields.CertData];
diff --git a/src/WixToolset.Data/Tuples/MsiEmbeddedChainerTuple.cs b/src/WixToolset.Data/Tuples/MsiEmbeddedChainerTuple.cs
index 72d92c3e..d1e49834 100644
--- a/src/WixToolset.Data/Tuples/MsiEmbeddedChainerTuple.cs
+++ b/src/WixToolset.Data/Tuples/MsiEmbeddedChainerTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.MsiEmbeddedChainer, 10 TupleDefinitionType.MsiEmbeddedChainer,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(MsiEmbeddedChainerTupleFields.MsiEmbeddedChainer), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(MsiEmbeddedChainerTupleFields.Condition), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(MsiEmbeddedChainerTupleFields.Condition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(MsiEmbeddedChainerTupleFields.CommandLine), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(MsiEmbeddedChainerTupleFields.CommandLine), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(MsiEmbeddedChainerTupleFields.Source), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(MsiEmbeddedChainerTupleFields.Source), IntermediateFieldType.String),
@@ -24,7 +23,6 @@ namespace WixToolset.Data.Tuples
24{ 23{
25 public enum MsiEmbeddedChainerTupleFields 24 public enum MsiEmbeddedChainerTupleFields
26 { 25 {
27 MsiEmbeddedChainer,
28 Condition, 26 Condition,
29 CommandLine, 27 CommandLine,
30 Source, 28 Source,
@@ -43,12 +41,6 @@ namespace WixToolset.Data.Tuples
43 41
44 public IntermediateField this[MsiEmbeddedChainerTupleFields index] => this.Fields[(int)index]; 42 public IntermediateField this[MsiEmbeddedChainerTupleFields index] => this.Fields[(int)index];
45 43
46 public string MsiEmbeddedChainer
47 {
48 get => (string)this.Fields[(int)MsiEmbeddedChainerTupleFields.MsiEmbeddedChainer];
49 set => this.Set((int)MsiEmbeddedChainerTupleFields.MsiEmbeddedChainer, value);
50 }
51
52 public string Condition 44 public string Condition
53 { 45 {
54 get => (string)this.Fields[(int)MsiEmbeddedChainerTupleFields.Condition]; 46 get => (string)this.Fields[(int)MsiEmbeddedChainerTupleFields.Condition];
diff --git a/src/WixToolset.Data/Tuples/MsiServiceConfigTuple.cs b/src/WixToolset.Data/Tuples/MsiServiceConfigTuple.cs
index 4943c245..242098cd 100644
--- a/src/WixToolset.Data/Tuples/MsiServiceConfigTuple.cs
+++ b/src/WixToolset.Data/Tuples/MsiServiceConfigTuple.cs
@@ -26,7 +26,6 @@ namespace WixToolset.Data.Tuples
26{ 26{
27 public enum MsiServiceConfigTupleFields 27 public enum MsiServiceConfigTupleFields
28 { 28 {
29 MsiServiceConfig,
30 Name, 29 Name,
31 OnInstall, 30 OnInstall,
32 OnReinstall, 31 OnReinstall,
diff --git a/src/WixToolset.Data/Tuples/RemoveIniFileTuple.cs b/src/WixToolset.Data/Tuples/RemoveIniFileTuple.cs
deleted file mode 100644
index 22aa7065..00000000
--- a/src/WixToolset.Data/Tuples/RemoveIniFileTuple.cs
+++ /dev/null
@@ -1,100 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition RemoveIniFile = new IntermediateTupleDefinition(
10 TupleDefinitionType.RemoveIniFile,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.RemoveIniFile), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.FileName), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.DirProperty), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.Section), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.Key), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.Value), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.Action), IntermediateFieldType.Number),
20 new IntermediateFieldDefinition(nameof(RemoveIniFileTupleFields.ComponentRef), IntermediateFieldType.String),
21 },
22 typeof(RemoveIniFileTuple));
23 }
24}
25
26namespace WixToolset.Data.Tuples
27{
28 public enum RemoveIniFileTupleFields
29 {
30 RemoveIniFile,
31 FileName,
32 DirProperty,
33 Section,
34 Key,
35 Value,
36 Action,
37 ComponentRef,
38 }
39
40 public class RemoveIniFileTuple : IntermediateTuple
41 {
42 public RemoveIniFileTuple() : base(TupleDefinitions.RemoveIniFile, null, null)
43 {
44 }
45
46 public RemoveIniFileTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.RemoveIniFile, sourceLineNumber, id)
47 {
48 }
49
50 public IntermediateField this[RemoveIniFileTupleFields index] => this.Fields[(int)index];
51
52 public string RemoveIniFile
53 {
54 get => (string)this.Fields[(int)RemoveIniFileTupleFields.RemoveIniFile];
55 set => this.Set((int)RemoveIniFileTupleFields.RemoveIniFile, value);
56 }
57
58 public string FileName
59 {
60 get => (string)this.Fields[(int)RemoveIniFileTupleFields.FileName];
61 set => this.Set((int)RemoveIniFileTupleFields.FileName, value);
62 }
63
64 public string DirProperty
65 {
66 get => (string)this.Fields[(int)RemoveIniFileTupleFields.DirProperty];
67 set => this.Set((int)RemoveIniFileTupleFields.DirProperty, value);
68 }
69
70 public string Section
71 {
72 get => (string)this.Fields[(int)RemoveIniFileTupleFields.Section];
73 set => this.Set((int)RemoveIniFileTupleFields.Section, value);
74 }
75
76 public string Key
77 {
78 get => (string)this.Fields[(int)RemoveIniFileTupleFields.Key];
79 set => this.Set((int)RemoveIniFileTupleFields.Key, value);
80 }
81
82 public string Value
83 {
84 get => (string)this.Fields[(int)RemoveIniFileTupleFields.Value];
85 set => this.Set((int)RemoveIniFileTupleFields.Value, value);
86 }
87
88 public int Action
89 {
90 get => (int)this.Fields[(int)RemoveIniFileTupleFields.Action];
91 set => this.Set((int)RemoveIniFileTupleFields.Action, value);
92 }
93
94 public string ComponentRef
95 {
96 get => (string)this.Fields[(int)RemoveIniFileTupleFields.ComponentRef];
97 set => this.Set((int)RemoveIniFileTupleFields.ComponentRef, value);
98 }
99 }
100} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/ServiceControlTuple.cs b/src/WixToolset.Data/Tuples/ServiceControlTuple.cs
index 113d71db..e34de0df 100644
--- a/src/WixToolset.Data/Tuples/ServiceControlTuple.cs
+++ b/src/WixToolset.Data/Tuples/ServiceControlTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.ServiceControl, 10 TupleDefinitionType.ServiceControl,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(ServiceControlTupleFields.ServiceControl), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ServiceControlTupleFields.Name), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(ServiceControlTupleFields.Name), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(ServiceControlTupleFields.InstallRemove), IntermediateFieldType.Bool), 14 new IntermediateFieldDefinition(nameof(ServiceControlTupleFields.InstallRemove), IntermediateFieldType.Bool),
16 new IntermediateFieldDefinition(nameof(ServiceControlTupleFields.UninstallRemove), IntermediateFieldType.Bool), 15 new IntermediateFieldDefinition(nameof(ServiceControlTupleFields.UninstallRemove), IntermediateFieldType.Bool),
@@ -30,7 +29,6 @@ namespace WixToolset.Data.Tuples
30{ 29{
31 public enum ServiceControlTupleFields 30 public enum ServiceControlTupleFields
32 { 31 {
33 ServiceControl,
34 Name, 32 Name,
35 InstallRemove, 33 InstallRemove,
36 UninstallRemove, 34 UninstallRemove,
@@ -55,12 +53,6 @@ namespace WixToolset.Data.Tuples
55 53
56 public IntermediateField this[ServiceControlTupleFields index] => this.Fields[(int)index]; 54 public IntermediateField this[ServiceControlTupleFields index] => this.Fields[(int)index];
57 55
58 public string ServiceControl
59 {
60 get => (string)this.Fields[(int)ServiceControlTupleFields.ServiceControl];
61 set => this.Set((int)ServiceControlTupleFields.ServiceControl, value);
62 }
63
64 public string Name 56 public string Name
65 { 57 {
66 get => (string)this.Fields[(int)ServiceControlTupleFields.Name]; 58 get => (string)this.Fields[(int)ServiceControlTupleFields.Name];
diff --git a/src/WixToolset.Data/Tuples/TupleDefinitions.cs b/src/WixToolset.Data/Tuples/TupleDefinitions.cs
index 78da0da3..67393f04 100644
--- a/src/WixToolset.Data/Tuples/TupleDefinitions.cs
+++ b/src/WixToolset.Data/Tuples/TupleDefinitions.cs
@@ -7,11 +7,7 @@ namespace WixToolset.Data
7 public enum TupleDefinitionType 7 public enum TupleDefinitionType
8 { 8 {
9 SummaryInformation, 9 SummaryInformation,
10 Validation,
11 ActionText, 10 ActionText,
12 AdminExecuteSequence,
13 AdminUISequence,
14 AdvtExecuteSequence,
15 AppId, 11 AppId,
16 AppSearch, 12 AppSearch,
17 BBControl, 13 BBControl,
@@ -48,8 +44,6 @@ namespace WixToolset.Data
48 ImageFamilies, 44 ImageFamilies,
49 IniFile, 45 IniFile,
50 IniLocator, 46 IniLocator,
51 InstallExecuteSequence,
52 InstallUISequence,
53 IsolatedComponent, 47 IsolatedComponent,
54 LaunchCondition, 48 LaunchCondition,
55 ListBox, 49 ListBox,
@@ -57,16 +51,11 @@ namespace WixToolset.Data
57 LockPermissions, 51 LockPermissions,
58 Media, 52 Media,
59 MIME, 53 MIME,
60 ModuleAdminExecuteSequence,
61 ModuleAdminUISequence,
62 ModuleAdvtExecuteSequence,
63 ModuleComponents, 54 ModuleComponents,
64 ModuleConfiguration, 55 ModuleConfiguration,
65 ModuleDependency, 56 ModuleDependency,
66 ModuleExclusion, 57 ModuleExclusion,
67 ModuleIgnoreTable, 58 ModuleIgnoreTable,
68 ModuleInstallExecuteSequence,
69 ModuleInstallUISequence,
70 ModuleSignature, 59 ModuleSignature,
71 ModuleSubstitution, 60 ModuleSubstitution,
72 MoveFile, 61 MoveFile,
@@ -106,7 +95,6 @@ namespace WixToolset.Data
106 Registry, 95 Registry,
107 RegLocator, 96 RegLocator,
108 RemoveFile, 97 RemoveFile,
109 RemoveIniFile,
110 RemoveRegistry, 98 RemoveRegistry,
111 ReserveCost, 99 ReserveCost,
112 ServiceControl, 100 ServiceControl,
@@ -164,7 +152,6 @@ namespace WixToolset.Data
164 WixEnsureTable, 152 WixEnsureTable,
165 WixFeatureGroup, 153 WixFeatureGroup,
166 WixFeatureModules, 154 WixFeatureModules,
167 WixFile,
168 WixFileSearch, 155 WixFileSearch,
169 WixFragment, 156 WixFragment,
170 WixGroup, 157 WixGroup,
@@ -176,7 +163,6 @@ namespace WixToolset.Data
176 WixPatchBaseline, 163 WixPatchBaseline,
177 WixPatchFamilyGroup, 164 WixPatchFamilyGroup,
178 WixPatchId, 165 WixPatchId,
179 WixPatchMetadata,
180 WixPatchRef, 166 WixPatchRef,
181 WixPatchTarget, 167 WixPatchTarget,
182 WixProductSearch, 168 WixProductSearch,
@@ -219,15 +205,6 @@ namespace WixToolset.Data
219 case TupleDefinitionType.ActionText: 205 case TupleDefinitionType.ActionText:
220 return TupleDefinitions.ActionText; 206 return TupleDefinitions.ActionText;
221 207
222 case TupleDefinitionType.AdminExecuteSequence:
223 return TupleDefinitions.AdminExecuteSequence;
224
225 case TupleDefinitionType.AdminUISequence:
226 return TupleDefinitions.AdminUISequence;
227
228 case TupleDefinitionType.AdvtExecuteSequence:
229 return TupleDefinitions.AdvtExecuteSequence;
230
231 case TupleDefinitionType.AppId: 208 case TupleDefinitionType.AppId:
232 return TupleDefinitions.AppId; 209 return TupleDefinitions.AppId;
233 210
@@ -336,12 +313,6 @@ namespace WixToolset.Data
336 case TupleDefinitionType.IniLocator: 313 case TupleDefinitionType.IniLocator:
337 return TupleDefinitions.IniLocator; 314 return TupleDefinitions.IniLocator;
338 315
339 case TupleDefinitionType.InstallExecuteSequence:
340 return TupleDefinitions.InstallExecuteSequence;
341
342 case TupleDefinitionType.InstallUISequence:
343 return TupleDefinitions.InstallUISequence;
344
345 case TupleDefinitionType.IsolatedComponent: 316 case TupleDefinitionType.IsolatedComponent:
346 return TupleDefinitions.IsolatedComponent; 317 return TupleDefinitions.IsolatedComponent;
347 318
@@ -363,15 +334,6 @@ namespace WixToolset.Data
363 case TupleDefinitionType.MIME: 334 case TupleDefinitionType.MIME:
364 return TupleDefinitions.MIME; 335 return TupleDefinitions.MIME;
365 336
366 case TupleDefinitionType.ModuleAdminExecuteSequence:
367 return TupleDefinitions.ModuleAdminExecuteSequence;
368
369 case TupleDefinitionType.ModuleAdminUISequence:
370 return TupleDefinitions.ModuleAdminUISequence;
371
372 case TupleDefinitionType.ModuleAdvtExecuteSequence:
373 return TupleDefinitions.ModuleAdvtExecuteSequence;
374
375 case TupleDefinitionType.ModuleComponents: 337 case TupleDefinitionType.ModuleComponents:
376 return TupleDefinitions.ModuleComponents; 338 return TupleDefinitions.ModuleComponents;
377 339
@@ -387,12 +349,6 @@ namespace WixToolset.Data
387 case TupleDefinitionType.ModuleIgnoreTable: 349 case TupleDefinitionType.ModuleIgnoreTable:
388 return TupleDefinitions.ModuleIgnoreTable; 350 return TupleDefinitions.ModuleIgnoreTable;
389 351
390 case TupleDefinitionType.ModuleInstallExecuteSequence:
391 return TupleDefinitions.ModuleInstallExecuteSequence;
392
393 case TupleDefinitionType.ModuleInstallUISequence:
394 return TupleDefinitions.ModuleInstallUISequence;
395
396 case TupleDefinitionType.ModuleSignature: 352 case TupleDefinitionType.ModuleSignature:
397 return TupleDefinitions.ModuleSignature; 353 return TupleDefinitions.ModuleSignature;
398 354
@@ -510,9 +466,6 @@ namespace WixToolset.Data
510 case TupleDefinitionType.RemoveFile: 466 case TupleDefinitionType.RemoveFile:
511 return TupleDefinitions.RemoveFile; 467 return TupleDefinitions.RemoveFile;
512 468
513 case TupleDefinitionType.RemoveIniFile:
514 return TupleDefinitions.RemoveIniFile;
515
516 case TupleDefinitionType.RemoveRegistry: 469 case TupleDefinitionType.RemoveRegistry:
517 return TupleDefinitions.RemoveRegistry; 470 return TupleDefinitions.RemoveRegistry;
518 471
@@ -666,6 +619,9 @@ namespace WixToolset.Data
666 case TupleDefinitionType.WixCustomTable: 619 case TupleDefinitionType.WixCustomTable:
667 return TupleDefinitions.WixCustomTable; 620 return TupleDefinitions.WixCustomTable;
668 621
622 case TupleDefinitionType.WixDeltaPatchFile:
623 return TupleDefinitions.WixDeltaPatchFile;
624
669 case TupleDefinitionType.WixDeltaPatchSymbolPaths: 625 case TupleDefinitionType.WixDeltaPatchSymbolPaths:
670 return TupleDefinitions.WixDeltaPatchSymbolPaths; 626 return TupleDefinitions.WixDeltaPatchSymbolPaths;
671 627
@@ -711,9 +667,6 @@ namespace WixToolset.Data
711 case TupleDefinitionType.WixPatchId: 667 case TupleDefinitionType.WixPatchId:
712 return TupleDefinitions.WixPatchId; 668 return TupleDefinitions.WixPatchId;
713 669
714 case TupleDefinitionType.WixPatchMetadata:
715 return TupleDefinitions.WixPatchMetadata;
716
717 case TupleDefinitionType.WixPatchRef: 670 case TupleDefinitionType.WixPatchRef:
718 return TupleDefinitions.WixPatchRef; 671 return TupleDefinitions.WixPatchRef;
719 672
diff --git a/src/WixToolset.Data/Tuples/WixBootstrapperApplicationTuple.cs b/src/WixToolset.Data/Tuples/WixBootstrapperApplicationTuple.cs
index e3c1490f..84a74b17 100644
--- a/src/WixToolset.Data/Tuples/WixBootstrapperApplicationTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBootstrapperApplicationTuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixBootstrapperApplication = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixBootstrapperApplication = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixBootstrapperApplication, 10 TupleDefinitionType.WixBootstrapperApplication,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(WixBootstrapperApplicationTuple)); 14 typeof(WixBootstrapperApplicationTuple));
13 } 15 }
14} 16}
@@ -30,5 +32,5 @@ namespace WixToolset.Data.Tuples
30 } 32 }
31 33
32 public IntermediateField this[WixBootstrapperApplicationTupleFields index] => this.Fields[(int)index]; 34 public IntermediateField this[WixBootstrapperApplicationTupleFields index] => this.Fields[(int)index];
33 } 35 }
34} 36}
diff --git a/src/WixToolset.Data/Tuples/WixBundlePackageGroupTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePackageGroupTuple.cs
index 61084c88..ababd00e 100644
--- a/src/WixToolset.Data/Tuples/WixBundlePackageGroupTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundlePackageGroupTuple.cs
@@ -8,9 +8,8 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixBundlePackageGroup = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixBundlePackageGroup = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixBundlePackageGroup, 10 TupleDefinitionType.WixBundlePackageGroup,
11 new[] 11 new IntermediateFieldDefinition[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundlePackageGroupTupleFields.WixBundlePackageGroup), IntermediateFieldType.String),
14 }, 13 },
15 typeof(WixBundlePackageGroupTuple)); 14 typeof(WixBundlePackageGroupTuple));
16 } 15 }
@@ -20,7 +19,6 @@ namespace WixToolset.Data.Tuples
20{ 19{
21 public enum WixBundlePackageGroupTupleFields 20 public enum WixBundlePackageGroupTupleFields
22 { 21 {
23 WixBundlePackageGroup,
24 } 22 }
25 23
26 public class WixBundlePackageGroupTuple : IntermediateTuple 24 public class WixBundlePackageGroupTuple : IntermediateTuple
@@ -34,11 +32,5 @@ namespace WixToolset.Data.Tuples
34 } 32 }
35 33
36 public IntermediateField this[WixBundlePackageGroupTupleFields index] => this.Fields[(int)index]; 34 public IntermediateField this[WixBundlePackageGroupTupleFields index] => this.Fields[(int)index];
37
38 public string WixBundlePackageGroup
39 {
40 get => (string)this.Fields[(int)WixBundlePackageGroupTupleFields.WixBundlePackageGroup];
41 set => this.Set((int)WixBundlePackageGroupTupleFields.WixBundlePackageGroup, value);
42 }
43 } 35 }
44} \ No newline at end of file 36} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixBundlePayloadGroupTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePayloadGroupTuple.cs
index c2f01ebc..9c177a47 100644
--- a/src/WixToolset.Data/Tuples/WixBundlePayloadGroupTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundlePayloadGroupTuple.cs
@@ -8,9 +8,8 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixBundlePayloadGroup = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixBundlePayloadGroup = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixBundlePayloadGroup, 10 TupleDefinitionType.WixBundlePayloadGroup,
11 new[] 11 new IntermediateFieldDefinition[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundlePayloadGroupTupleFields.WixBundlePayloadGroup), IntermediateFieldType.String),
14 }, 13 },
15 typeof(WixBundlePayloadGroupTuple)); 14 typeof(WixBundlePayloadGroupTuple));
16 } 15 }
@@ -20,7 +19,6 @@ namespace WixToolset.Data.Tuples
20{ 19{
21 public enum WixBundlePayloadGroupTupleFields 20 public enum WixBundlePayloadGroupTupleFields
22 { 21 {
23 WixBundlePayloadGroup,
24 } 22 }
25 23
26 public class WixBundlePayloadGroupTuple : IntermediateTuple 24 public class WixBundlePayloadGroupTuple : IntermediateTuple
@@ -34,11 +32,5 @@ namespace WixToolset.Data.Tuples
34 } 32 }
35 33
36 public IntermediateField this[WixBundlePayloadGroupTupleFields index] => this.Fields[(int)index]; 34 public IntermediateField this[WixBundlePayloadGroupTupleFields index] => this.Fields[(int)index];
37
38 public string WixBundlePayloadGroup
39 {
40 get => (string)this.Fields[(int)WixBundlePayloadGroupTupleFields.WixBundlePayloadGroup];
41 set => this.Set((int)WixBundlePayloadGroupTupleFields.WixBundlePayloadGroup, value);
42 }
43 } 35 }
44} \ No newline at end of file 36} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixBundleUpdateTuple.cs b/src/WixToolset.Data/Tuples/WixBundleUpdateTuple.cs
index 25686027..08ca5d6e 100644
--- a/src/WixToolset.Data/Tuples/WixBundleUpdateTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleUpdateTuple.cs
@@ -31,7 +31,7 @@ namespace WixToolset.Data.Tuples
31 { 31 {
32 } 32 }
33 33
34 public WixBundleUpdateTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixBundleUpdate,sourceLineNumber,id) 34 public WixBundleUpdateTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixBundleUpdate, sourceLineNumber, id)
35 { 35 {
36 } 36 }
37 37
diff --git a/src/WixToolset.Data/Tuples/WixChainItemTuple.cs b/src/WixToolset.Data/Tuples/WixChainItemTuple.cs
index a6541c43..6c0633e0 100644
--- a/src/WixToolset.Data/Tuples/WixChainItemTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixChainItemTuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixChainItem = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixChainItem = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixChainItem, 10 TupleDefinitionType.WixChainItem,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(WixChainItemTuple)); 14 typeof(WixChainItemTuple));
13 } 15 }
14} 16}
diff --git a/src/WixToolset.Data/Tuples/WixDeltaPatchFileTuple.cs b/src/WixToolset.Data/Tuples/WixDeltaPatchFileTuple.cs
new file mode 100644
index 00000000..4f90bb7c
--- /dev/null
+++ b/src/WixToolset.Data/Tuples/WixDeltaPatchFileTuple.cs
@@ -0,0 +1,84 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition WixDeltaPatchFile = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixDeltaPatchFile,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixDeltaPatchFileTupleFields.FileRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixDeltaPatchFileTupleFields.RetainLengths), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixDeltaPatchFileTupleFields.IgnoreOffsets), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixDeltaPatchFileTupleFields.IgnoreLengths), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixDeltaPatchFileTupleFields.RetainOffsets), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixDeltaPatchFileTupleFields.SymbolPaths), IntermediateFieldType.String),
19 },
20 typeof(WixDeltaPatchFileTuple));
21 }
22}
23
24namespace WixToolset.Data.Tuples
25{
26 public enum WixDeltaPatchFileTupleFields
27 {
28 FileRef,
29 RetainLengths,
30 IgnoreOffsets,
31 IgnoreLengths,
32 RetainOffsets,
33 SymbolPaths,
34 }
35
36 public class WixDeltaPatchFileTuple : IntermediateTuple
37 {
38 public WixDeltaPatchFileTuple() : base(TupleDefinitions.WixDeltaPatchFile, null, null)
39 {
40 }
41
42 public WixDeltaPatchFileTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixDeltaPatchFile, sourceLineNumber, id)
43 {
44 }
45
46 public IntermediateField this[WixDeltaPatchFileTupleFields index] => this.Fields[(int)index];
47
48 public string FileRef
49 {
50 get => (string)this.Fields[(int)WixDeltaPatchFileTupleFields.FileRef];
51 set => this.Set((int)WixDeltaPatchFileTupleFields.FileRef, value);
52 }
53
54 public string RetainLengths
55 {
56 get => (string)this.Fields[(int)WixDeltaPatchFileTupleFields.RetainLengths];
57 set => this.Set((int)WixDeltaPatchFileTupleFields.RetainLengths, value);
58 }
59
60 public string IgnoreOffsets
61 {
62 get => (string)this.Fields[(int)WixDeltaPatchFileTupleFields.IgnoreOffsets];
63 set => this.Set((int)WixDeltaPatchFileTupleFields.IgnoreOffsets, value);
64 }
65
66 public string IgnoreLengths
67 {
68 get => (string)this.Fields[(int)WixDeltaPatchFileTupleFields.IgnoreLengths];
69 set => this.Set((int)WixDeltaPatchFileTupleFields.IgnoreLengths, value);
70 }
71
72 public string RetainOffsets
73 {
74 get => (string)this.Fields[(int)WixDeltaPatchFileTupleFields.RetainOffsets];
75 set => this.Set((int)WixDeltaPatchFileTupleFields.RetainOffsets, value);
76 }
77
78 public string SymbolPaths
79 {
80 get => (string)this.Fields[(int)WixDeltaPatchFileTupleFields.SymbolPaths];
81 set => this.Set((int)WixDeltaPatchFileTupleFields.SymbolPaths, value);
82 }
83 }
84} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixFeatureGroupTuple.cs b/src/WixToolset.Data/Tuples/WixFeatureGroupTuple.cs
index 424bddb7..481bb193 100644
--- a/src/WixToolset.Data/Tuples/WixFeatureGroupTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixFeatureGroupTuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixFeatureGroup = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixFeatureGroup = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixFeatureGroup, 10 TupleDefinitionType.WixFeatureGroup,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(WixFeatureGroupTuple)); 14 typeof(WixFeatureGroupTuple));
13 } 15 }
14} 16}
@@ -30,5 +32,5 @@ namespace WixToolset.Data.Tuples
30 } 32 }
31 33
32 public IntermediateField this[WixFeatureGroupTupleFields index] => this.Fields[(int)index]; 34 public IntermediateField this[WixFeatureGroupTupleFields index] => this.Fields[(int)index];
33 } 35 }
34} \ No newline at end of file 36} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixFragmentTuple.cs b/src/WixToolset.Data/Tuples/WixFragmentTuple.cs
index fedfa872..cda7534d 100644
--- a/src/WixToolset.Data/Tuples/WixFragmentTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixFragmentTuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixFragment = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixFragment = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixFragment, 10 TupleDefinitionType.WixFragment,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(WixFragmentTuple)); 14 typeof(WixFragmentTuple));
13 } 15 }
14} 16}
diff --git a/src/WixToolset.Data/Tuples/WixPatchMetadataTuple.cs b/src/WixToolset.Data/Tuples/WixPatchMetadataTuple.cs
deleted file mode 100644
index b64fd891..00000000
--- a/src/WixToolset.Data/Tuples/WixPatchMetadataTuple.cs
+++ /dev/null
@@ -1,46 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3// TODO: delete this
4
5namespace WixToolset.Data
6{
7 using WixToolset.Data.Tuples;
8
9 public static partial class TupleDefinitions
10 {
11 public static readonly IntermediateTupleDefinition WixPatchMetadata = new IntermediateTupleDefinition(
12 TupleDefinitionType.WixPatchMetadata,
13 new[]
14 {
15 new IntermediateFieldDefinition(nameof(WixPatchMetadataTupleFields.Value), IntermediateFieldType.String),
16 },
17 typeof(WixPatchMetadataTuple));
18 }
19}
20
21namespace WixToolset.Data.Tuples
22{
23 public enum WixPatchMetadataTupleFields
24 {
25 Value,
26 }
27
28 public class WixPatchMetadataTuple : IntermediateTuple
29 {
30 public WixPatchMetadataTuple() : base(TupleDefinitions.WixPatchMetadata, null, null)
31 {
32 }
33
34 public WixPatchMetadataTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixPatchMetadata, sourceLineNumber, id)
35 {
36 }
37
38 public IntermediateField this[WixPatchMetadataTupleFields index] => this.Fields[(int)index];
39
40 public string Value
41 {
42 get => (string)this.Fields[(int)WixPatchMetadataTupleFields.Value];
43 set => this.Set((int)WixPatchMetadataTupleFields.Value, value);
44 }
45 }
46} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixSuppressModularizationTuple.cs b/src/WixToolset.Data/Tuples/WixSuppressModularizationTuple.cs
index ab1a1a4c..9c6c8468 100644
--- a/src/WixToolset.Data/Tuples/WixSuppressModularizationTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixSuppressModularizationTuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixSuppressModularization = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixSuppressModularization = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixSuppressModularization, 10 TupleDefinitionType.WixSuppressModularization,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(WixSuppressModularizationTuple)); 14 typeof(WixSuppressModularizationTuple));
13 } 15 }
14} 16}
diff --git a/src/WixToolset.Data/Tuples/WixUITuple.cs b/src/WixToolset.Data/Tuples/WixUITuple.cs
index 89205850..23312096 100644
--- a/src/WixToolset.Data/Tuples/WixUITuple.cs
+++ b/src/WixToolset.Data/Tuples/WixUITuple.cs
@@ -8,7 +8,9 @@ namespace WixToolset.Data
8 { 8 {
9 public static readonly IntermediateTupleDefinition WixUI = new IntermediateTupleDefinition( 9 public static readonly IntermediateTupleDefinition WixUI = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixUI, 10 TupleDefinitionType.WixUI,
11 new IntermediateFieldDefinition[0], 11 new IntermediateFieldDefinition[]
12 {
13 },
12 typeof(WixUITuple)); 14 typeof(WixUITuple));
13 } 15 }
14} 16}
@@ -30,5 +32,5 @@ namespace WixToolset.Data.Tuples
30 } 32 }
31 33
32 public IntermediateField this[WixUITupleFields index] => this.Fields[(int)index]; 34 public IntermediateField this[WixUITupleFields index] => this.Fields[(int)index];
33 } 35 }
34} 36}
diff --git a/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs b/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs
index 96c5f74f..e1119a68 100644
--- a/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs
+++ b/src/WixToolset.Data/WindowsInstaller/TableDefinitionCollection.cs
@@ -33,6 +33,14 @@ namespace WixToolset.Data.WindowsInstaller
33 } 33 }
34 34
35 /// <summary> 35 /// <summary>
36 /// Creates a table definition collection with the given table definitions.
37 /// </summary>
38 public TableDefinitionCollection(IEnumerable<TableDefinition> tableDefinitions)
39 {
40 this.collection = tableDefinitions.ToDictionary(t => t.Name);
41 }
42
43 /// <summary>
36 /// Gets the number of items in the collection. 44 /// Gets the number of items in the collection.
37 /// </summary> 45 /// </summary>
38 /// <value>Number of items in collection.</value> 46 /// <value>Number of items in collection.</value>
diff --git a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs
new file mode 100644
index 00000000..11b884bd
--- /dev/null
+++ b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs
@@ -0,0 +1,2967 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data.WindowsInstaller
4{
5 public static class WindowsInstallerTableDefinitions
6 {
7 public static readonly TableDefinition ActionText = new TableDefinition(
8 "ActionText",
9 new[]
10 {
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("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 },
15 tupleDefinitionName: TupleDefinitions.ActionText.Name,
16 tupleIdIsPrimaryKey: false
17 );
18
19 public static readonly TableDefinition AdminExecuteSequence = new TableDefinition(
20 "AdminExecuteSequence",
21 new[]
22 {
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("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.", forceLocalizable: true),
25 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."),
26 },
27 tupleIdIsPrimaryKey: true
28 );
29
30 public static readonly TableDefinition Condition = new TableDefinition(
31 "Condition",
32 new[]
33 {
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."),
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."),
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),
37 },
38 tupleDefinitionName: TupleDefinitions.Condition.Name,
39 tupleIdIsPrimaryKey: false
40 );
41
42 public static readonly TableDefinition AdminUISequence = new TableDefinition(
43 "AdminUISequence",
44 new[]
45 {
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."),
47 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.", forceLocalizable: true),
48 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."),
49 },
50 tupleIdIsPrimaryKey: true
51 );
52
53 public static readonly TableDefinition AdvtExecuteSequence = new TableDefinition(
54 "AdvtExecuteSequence",
55 new[]
56 {
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."),
58 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.", forceLocalizable: true),
59 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."),
60 },
61 tupleIdIsPrimaryKey: true
62 );
63
64 public static readonly TableDefinition AdvtUISequence = new TableDefinition(
65 "AdvtUISequence",
66 new[]
67 {
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."),
69 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.", forceLocalizable: true),
70 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."),
71 },
72 tupleIdIsPrimaryKey: true
73 );
74
75 public static readonly TableDefinition AppId = new TableDefinition(
76 "AppId",
77 new[]
78 {
79 new ColumnDefinition("AppId", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid),
80 new ColumnDefinition("RemoteServerName", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, modularizeType: ColumnModularizeType.Property),
81 new ColumnDefinition("LocalService", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
82 new ColumnDefinition("ServiceParameters", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
83 new ColumnDefinition("DllSurrogate", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
84 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),
86 },
87 tupleDefinitionName: TupleDefinitions.AppId.Name,
88 tupleIdIsPrimaryKey: false
89 );
90
91 public static readonly TableDefinition AppSearch = new TableDefinition(
92 "AppSearch",
93 new[]
94 {
95 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),
97 },
98 tupleDefinitionName: TupleDefinitions.AppSearch.Name,
99 tupleIdIsPrimaryKey: false
100 );
101
102 public static readonly TableDefinition Property = new TableDefinition(
103 "Property",
104 new[]
105 {
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),
107 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "String value for property. Never null or empty."),
108 },
109 tupleDefinitionName: TupleDefinitions.Property.Name,
110 tupleIdIsPrimaryKey: true
111 );
112
113 public static readonly TableDefinition BBControl = new TableDefinition(
114 "BBControl",
115 new[]
116 {
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),
118 new ColumnDefinition("BBControl", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the control. This name must be unique within a billboard, but can repeat on different billboard."),
119 new ColumnDefinition("Type", ColumnType.String, 50, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "The type of the control."),
120 new ColumnDefinition("X", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Horizontal coordinate of the upper left corner of the bounding rectangle of the control.", forceLocalizable: true),
121 new ColumnDefinition("Y", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Vertical coordinate of the upper left corner of the bounding rectangle of the control.", forceLocalizable: true),
122 new ColumnDefinition("Width", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Width of the bounding rectangle of the control.", forceLocalizable: true),
123 new ColumnDefinition("Height", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Height of the bounding rectangle of the control.", forceLocalizable: true),
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."),
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)."),
126 },
127 tupleDefinitionName: TupleDefinitions.BBControl.Name,
128 tupleIdIsPrimaryKey: false
129 );
130
131 public static readonly TableDefinition Billboard = new TableDefinition(
132 "Billboard",
133 new[]
134 {
135 new ColumnDefinition("Billboard", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the billboard.", modularizeType: ColumnModularizeType.Column),
136 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "An external key to the Feature Table. The billboard is shown only if this feature is being installed."),
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."),
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."),
139 },
140 tupleDefinitionName: TupleDefinitions.Billboard.Name,
141 tupleIdIsPrimaryKey: true
142 );
143
144 public static readonly TableDefinition Feature = new TableDefinition(
145 "Feature",
146 new[]
147 {
148 new ColumnDefinition("Feature", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular feature record."),
149 new ColumnDefinition("Feature_Parent", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item."),
150 new ColumnDefinition("Title", ColumnType.Localized, 64, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Short text identifying a visible feature item."),
151 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Longer descriptive text describing a visible feature item."),
152 new ColumnDefinition("Display", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Numeric sort order, used to force a specific display ordering."),
153 new ColumnDefinition("Level", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display."),
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),
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"),
156 },
157 tupleDefinitionName: TupleDefinitions.Feature.Name,
158 tupleIdIsPrimaryKey: true
159 );
160
161 public static readonly TableDefinition Binary = new TableDefinition(
162 "Binary",
163 new[]
164 {
165 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."),
167 },
168 tupleDefinitionName: TupleDefinitions.Binary.Name,
169 tupleIdIsPrimaryKey: true
170 );
171
172 public static readonly TableDefinition BindImage = new TableDefinition(
173 "BindImage",
174 new[]
175 {
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),
177 new ColumnDefinition("Path", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Paths, description: "A list of ; delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .", modularizeType: ColumnModularizeType.Property),
178 },
179 tupleIdIsPrimaryKey: false
180 );
181
182 public static readonly TableDefinition File = new TableDefinition(
183 "File",
184 new[]
185 {
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),
187 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the file.", modularizeType: ColumnModularizeType.Column),
188 new ColumnDefinition("FileName", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Filename, description: "File name used for installation, may be localized. This may contain a \"short name|long name\" pair."),
189 new ColumnDefinition("FileSize", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Size of file in bytes (long integer)."),
190 new ColumnDefinition("Version", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Version, keyTable: "File", keyColumn: 1, description: "Version string for versioned files; Blank for unversioned files.", modularizeType: ColumnModularizeType.CompanionFile),
191 new ColumnDefinition("Language", ColumnType.String, 20, primaryKey: false, nullable: true, ColumnCategory.Language, description: "List of decimal language Ids, comma-separated if more than one."),
192 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)"),
193 new ColumnDefinition("Sequence", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 2147483647, description: "Sequence with respect to the media images; order must track cabinet order."),
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),
195 new ColumnDefinition("Source", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "Path to source of file.", unreal: true),
196 },
197 tupleDefinitionName: TupleDefinitions.File.Name,
198 tupleIdIsPrimaryKey: true
199 );
200
201 public static readonly TableDefinition CCPSearch = new TableDefinition(
202 "CCPSearch",
203 new[]
204 {
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."),
206 },
207 tupleDefinitionName: TupleDefinitions.CCPSearch.Name,
208 tupleIdIsPrimaryKey: true
209 );
210
211 public static readonly TableDefinition CheckBox = new TableDefinition(
212 "CheckBox",
213 new[]
214 {
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),
216 new ColumnDefinition("Value", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value string associated with the item.", modularizeType: ColumnModularizeType.Property),
217 },
218 tupleDefinitionName: TupleDefinitions.CheckBox.Name,
219 tupleIdIsPrimaryKey: false
220 );
221
222 public static readonly TableDefinition Class = new TableDefinition(
223 "Class",
224 new[]
225 {
226 new ColumnDefinition("CLSID", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The CLSID of an OLE factory."),
227 new ColumnDefinition("Context", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The numeric server context for this server. CLSCTX_xxxx"),
228 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.", modularizeType: ColumnModularizeType.Column),
229 new ColumnDefinition("ProgId_Default", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, keyTable: "ProgId", keyColumn: 1, description: "Optional ProgId associated with this CLSID."),
230 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Localized description for the Class."),
231 new ColumnDefinition("AppId_", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, keyTable: "AppId", keyColumn: 1, description: "Optional AppID containing DCOM information for associated application (string GUID)."),
232 new ColumnDefinition("FileTypeMask", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2..."),
233 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 CLSID. Will be written under the DefaultIcon key.", modularizeType: ColumnModularizeType.Icon),
234 new ColumnDefinition("IconIndex", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -32767, maxValue: 32767, description: "Optional icon index."),
235 new ColumnDefinition("DefInprocHandler", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Filename, possibilities: "1;2;3", description: "Optional default inproc handler. Only optionally provided if Context=CLSCTX_LOCAL_SERVER. Typically \"ole32.dll\" or \"mapi32.dll\""),
236 new ColumnDefinition("Argument", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "optional argument for LocalServers."),
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."),
238 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, maxValue: 32767, description: "Class registration attributes."),
239 },
240 tupleDefinitionName: TupleDefinitions.Class.Name,
241 tupleIdIsPrimaryKey: false
242 );
243
244 public static readonly TableDefinition Component = new TableDefinition(
245 "Component",
246 new[]
247 {
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),
249 new ColumnDefinition("ComponentId", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, description: "A string GUID unique to this component, version, and language."),
250 new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.", modularizeType: ColumnModularizeType.Column),
251 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Remote execution option, one of irsEnum"),
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),
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),
254 },
255 tupleDefinitionName: TupleDefinitions.Component.Name,
256 tupleIdIsPrimaryKey: true
257 );
258
259 public static readonly TableDefinition Icon = new TableDefinition(
260 "Icon",
261 new[]
262 {
263 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."),
265 },
266 tupleDefinitionName: TupleDefinitions.Icon.Name,
267 tupleIdIsPrimaryKey: true
268 );
269
270 public static readonly TableDefinition ProgId = new TableDefinition(
271 "ProgId",
272 new[]
273 {
274 new ColumnDefinition("ProgId", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The Program Identifier. Primary key."),
275 new ColumnDefinition("ProgId_Parent", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, keyTable: "ProgId", keyColumn: 1, description: "The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id."),
276 new ColumnDefinition("Class_", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, keyTable: "Class", keyColumn: 1, description: "The CLSID of an OLE factory corresponding to the ProgId."),
277 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Localized description for the Program identifier."),
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),
279 new ColumnDefinition("IconIndex", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -32767, maxValue: 32767, description: "Optional icon index."),
280 },
281 tupleDefinitionName: TupleDefinitions.ProgId.Name,
282 tupleIdIsPrimaryKey: false
283 );
284
285 public static readonly TableDefinition ComboBox = new TableDefinition(
286 "ComboBox",
287 new[]
288 {
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),
290 new ColumnDefinition("Order", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "A positive integer used to determine the ordering of the items within one list. The integers do not have to be consecutive."),
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),
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),
293 },
294 tupleDefinitionName: TupleDefinitions.ComboBox.Name,
295 tupleIdIsPrimaryKey: false
296 );
297
298 public static readonly TableDefinition CompLocator = new TableDefinition(
299 "CompLocator",
300 new[]
301 {
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),
303 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."),
305 },
306 tupleDefinitionName: TupleDefinitions.CompLocator.Name,
307 tupleIdIsPrimaryKey: false
308 );
309
310 public static readonly TableDefinition Complus = new TableDefinition(
311 "Complus",
312 new[]
313 {
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),
315 new ColumnDefinition("ExpType", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "ComPlus component attributes."),
316 },
317 tupleDefinitionName: TupleDefinitions.Complus.Name,
318 tupleIdIsPrimaryKey: false
319 );
320
321 public static readonly TableDefinition Directory = new TableDefinition(
322 "Directory",
323 new[]
324 {
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),
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),
327 new ColumnDefinition("DefaultDir", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.DefaultDir, description: "The default sub-path under parent's path."),
328 },
329 tupleDefinitionName: TupleDefinitions.Directory.Name,
330 tupleIdIsPrimaryKey: true
331 );
332
333 public static readonly TableDefinition Control = new TableDefinition(
334 "Control",
335 new[]
336 {
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),
338 new ColumnDefinition("Control", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. "),
339 new ColumnDefinition("Type", ColumnType.String, 20, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "The type of the control."),
340 new ColumnDefinition("X", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Horizontal coordinate of the upper left corner of the bounding rectangle of the control.", forceLocalizable: true),
341 new ColumnDefinition("Y", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Vertical coordinate of the upper left corner of the bounding rectangle of the control.", forceLocalizable: true),
342 new ColumnDefinition("Width", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Width of the bounding rectangle of the control.", forceLocalizable: true),
343 new ColumnDefinition("Height", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Height of the bounding rectangle of the control.", forceLocalizable: true),
344 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."),
345 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "The name of a defined property to be linked to this control. ", modularizeType: ColumnModularizeType.Column),
346 new ColumnDefinition("Text", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "A string used to set the initial text contained within a control (if appropriate).", modularizeType: ColumnModularizeType.ControlText),
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!"),
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. "),
349 },
350 tupleDefinitionName: TupleDefinitions.Control.Name,
351 tupleIdIsPrimaryKey: false
352 );
353
354 public static readonly TableDefinition Dialog = new TableDefinition(
355 "Dialog",
356 new[]
357 {
358 new ColumnDefinition("Dialog", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the dialog.", modularizeType: ColumnModularizeType.Column),
359 new ColumnDefinition("HCentering", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 100, description: "Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center."),
360 new ColumnDefinition("VCentering", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 100, description: "Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center."),
361 new ColumnDefinition("Width", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Width of the bounding rectangle of the dialog."),
362 new ColumnDefinition("Height", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Height of the bounding rectangle of the dialog."),
363 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 dialog."),
364 new ColumnDefinition("Title", ColumnType.Localized, 128, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "A text string specifying the title to be displayed in the title bar of the dialog's window.", modularizeType: ColumnModularizeType.Property),
365 new ColumnDefinition("Control_First", ColumnType.String, 50, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Control", keyColumn: 2, description: "Defines the control that has the focus when the dialog is created."),
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."),
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."),
368 },
369 tupleDefinitionName: TupleDefinitions.Dialog.Name,
370 tupleIdIsPrimaryKey: true
371 );
372
373 public static readonly TableDefinition ControlCondition = new TableDefinition(
374 "ControlCondition",
375 new[]
376 {
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),
378 new ColumnDefinition("Control_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Control", keyColumn: 2, description: "A foreign key to the Control table, name of the control."),
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."),
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),
381 },
382 tupleDefinitionName: TupleDefinitions.ControlCondition.Name,
383 tupleIdIsPrimaryKey: false
384 );
385
386 public static readonly TableDefinition ControlEvent = new TableDefinition(
387 "ControlEvent",
388 new[]
389 {
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),
391 new ColumnDefinition("Control_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Control", keyColumn: 2, description: "A foreign key to the Control table, name of the control"),
392 new ColumnDefinition("Event", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.", modularizeType: ColumnModularizeType.Property),
393 new ColumnDefinition("Argument", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "A value to be used as a modifier when triggering a particular event.", modularizeType: ColumnModularizeType.ControlEventArgument, forceLocalizable: true),
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),
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."),
396 },
397 tupleDefinitionName: TupleDefinitions.ControlEvent.Name,
398 tupleIdIsPrimaryKey: false
399 );
400
401 public static readonly TableDefinition CreateFolder = new TableDefinition(
402 "CreateFolder",
403 new[]
404 {
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),
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),
407 },
408 tupleDefinitionName: TupleDefinitions.CreateFolder.Name,
409 tupleIdIsPrimaryKey: false
410 );
411
412 public static readonly TableDefinition CustomAction = new TableDefinition(
413 "CustomAction",
414 new[]
415 {
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),
417 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "The numeric custom action type, consisting of source location, code type, entry, option flags."),
418 new ColumnDefinition("Source", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.CustomSource, description: "The table reference of the source of the code.", modularizeType: ColumnModularizeType.Column),
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),
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."),
421 },
422 tupleDefinitionName: TupleDefinitions.CustomAction.Name,
423 tupleIdIsPrimaryKey: true
424 );
425
426 public static readonly TableDefinition DrLocator = new TableDefinition(
427 "DrLocator",
428 new[]
429 {
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),
431 new ColumnDefinition("Parent", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Identifier, description: "The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.", modularizeType: ColumnModularizeType.Column),
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),
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."),
434 },
435 tupleDefinitionName: TupleDefinitions.DrLocator.Name,
436 tupleIdIsPrimaryKey: false
437 );
438
439 public static readonly TableDefinition DuplicateFile = new TableDefinition(
440 "DuplicateFile",
441 new[]
442 {
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),
444 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the duplicate file.", modularizeType: ColumnModularizeType.Column),
445 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Foreign key referencing the source file to be duplicated.", modularizeType: ColumnModularizeType.Column),
446 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),
448 },
449 tupleDefinitionName: TupleDefinitions.DuplicateFile.Name,
450 tupleIdIsPrimaryKey: true
451 );
452
453 public static readonly TableDefinition Environment = new TableDefinition(
454 "Environment",
455 new[]
456 {
457 new ColumnDefinition("Environment", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique identifier for the environmental variable setting", modularizeType: ColumnModularizeType.Column),
458 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The name of the environmental value."),
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),
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),
461 },
462 tupleDefinitionName: TupleDefinitions.Environment.Name,
463 tupleIdIsPrimaryKey: true
464 );
465
466 public static readonly TableDefinition Error = new TableDefinition(
467 "Error",
468 new[]
469 {
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."),
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),
472 },
473 tupleDefinitionName: TupleDefinitions.Error.Name,
474 tupleIdIsPrimaryKey: true
475 );
476
477 public static readonly TableDefinition EventMapping = new TableDefinition(
478 "EventMapping",
479 new[]
480 {
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),
482 new ColumnDefinition("Control_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Control", keyColumn: 2, description: "A foreign key to the Control table, name of the control."),
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."),
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."),
485 },
486 tupleDefinitionName: TupleDefinitions.EventMapping.Name,
487 tupleIdIsPrimaryKey: false
488 );
489
490 public static readonly TableDefinition Extension = new TableDefinition(
491 "Extension",
492 new[]
493 {
494 new ColumnDefinition("Extension", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The extension associated with the table row."),
495 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.", modularizeType: ColumnModularizeType.Column),
496 new ColumnDefinition("ProgId_", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, keyTable: "ProgId", keyColumn: 1, description: "Optional ProgId associated with this extension."),
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"),
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."),
499 },
500 tupleDefinitionName: TupleDefinitions.Extension.Name,
501 tupleIdIsPrimaryKey: false
502 );
503
504 public static readonly TableDefinition MIME = new TableDefinition(
505 "MIME",
506 new[]
507 {
508 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)"),
510 new ColumnDefinition("CLSID", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, description: "Optional associated CLSID."),
511 },
512 tupleDefinitionName: TupleDefinitions.MIME.Name,
513 tupleIdIsPrimaryKey: false
514 );
515
516 public static readonly TableDefinition FeatureComponents = new TableDefinition(
517 "FeatureComponents",
518 new[]
519 {
520 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),
522 },
523 tupleDefinitionName: TupleDefinitions.FeatureComponents.Name,
524 tupleIdIsPrimaryKey: false
525 );
526
527 public static readonly TableDefinition FileSFPCatalog = new TableDefinition(
528 "FileSFPCatalog",
529 new[]
530 {
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),
532 new ColumnDefinition("SFPCatalog_", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Filename, keyTable: "SFPCatalog", keyColumn: 1, description: "Catalog associated with the file"),
533 },
534 tupleDefinitionName: TupleDefinitions.FileSFPCatalog.Name,
535 tupleIdIsPrimaryKey: false
536 );
537
538 public static readonly TableDefinition SFPCatalog = new TableDefinition(
539 "SFPCatalog",
540 new[]
541 {
542 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"),
544 new ColumnDefinition("Dependency", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Parent catalog - only used by SFP", modularizeType: ColumnModularizeType.Property),
545 },
546 tupleDefinitionName: TupleDefinitions.SFPCatalog.Name,
547 tupleIdIsPrimaryKey: false
548 );
549
550 public static readonly TableDefinition Font = new TableDefinition(
551 "Font",
552 new[]
553 {
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),
555 new ColumnDefinition("FontTitle", ColumnType.String, 128, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Font name."),
556 },
557 tupleIdIsPrimaryKey: false
558 );
559
560 public static readonly TableDefinition IniFile = new TableDefinition(
561 "IniFile",
562 new[]
563 {
564 new ColumnDefinition("IniFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
565 new ColumnDefinition("FileName", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Filename, description: "The .INI file name in which to write the information"),
566 new ColumnDefinition("DirProperty", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Foreign key into the Directory table denoting the directory where the .INI file is.", modularizeType: ColumnModularizeType.Column),
567 new ColumnDefinition("Section", ColumnType.Localized, 96, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .INI file Section.", modularizeType: ColumnModularizeType.Property),
568 new ColumnDefinition("Key", ColumnType.Localized, 128, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .INI file key below Section.", modularizeType: ColumnModularizeType.Property),
569 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The value to be written.", modularizeType: ColumnModularizeType.Property),
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"),
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),
572 },
573 tupleDefinitionName: TupleDefinitions.IniFile.Name,
574 tupleIdIsPrimaryKey: true
575 );
576
577 public static readonly TableDefinition IniLocator = new TableDefinition(
578 "IniLocator",
579 new[]
580 {
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),
582 new ColumnDefinition("FileName", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Filename, description: "The .INI file name."),
583 new ColumnDefinition("Section", ColumnType.String, 96, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Section name within in file (within square brackets in INI file)."),
584 new ColumnDefinition("Key", ColumnType.String, 128, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Key value (followed by an equals sign in INI file)."),
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."),
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."),
587 },
588 tupleDefinitionName: TupleDefinitions.IniLocator.Name,
589 tupleIdIsPrimaryKey: false
590 );
591
592 public static readonly TableDefinition InstallExecuteSequence = new TableDefinition(
593 "InstallExecuteSequence",
594 new[]
595 {
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."),
597 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.", forceLocalizable: true),
598 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."),
599 },
600 tupleIdIsPrimaryKey: true
601 );
602
603 public static readonly TableDefinition InstallUISequence = new TableDefinition(
604 "InstallUISequence",
605 new[]
606 {
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."),
608 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.", forceLocalizable: true),
609 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."),
610 },
611 tupleIdIsPrimaryKey: true
612 );
613
614 public static readonly TableDefinition IsolatedComponent = new TableDefinition(
615 "IsolatedComponent",
616 new[]
617 {
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),
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),
620 },
621 tupleDefinitionName: TupleDefinitions.IsolatedComponent.Name,
622 tupleIdIsPrimaryKey: false
623 );
624
625 public static readonly TableDefinition LaunchCondition = new TableDefinition(
626 "LaunchCondition",
627 new[]
628 {
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),
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."),
631 },
632 tupleDefinitionName: TupleDefinitions.LaunchCondition.Name,
633 tupleIdIsPrimaryKey: false
634 );
635
636 public static readonly TableDefinition ListBox = new TableDefinition(
637 "ListBox",
638 new[]
639 {
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),
641 new ColumnDefinition("Order", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive."),
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),
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."),
644 },
645 tupleDefinitionName: TupleDefinitions.ListBox.Name,
646 tupleIdIsPrimaryKey: false
647 );
648
649 public static readonly TableDefinition ListView = new TableDefinition(
650 "ListView",
651 new[]
652 {
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),
654 new ColumnDefinition("Order", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive."),
655 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),
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),
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),
658 },
659 tupleDefinitionName: TupleDefinitions.ListView.Name,
660 tupleIdIsPrimaryKey: false
661 );
662
663 public static readonly TableDefinition LockPermissions = new TableDefinition(
664 "LockPermissions",
665 new[]
666 {
667 new ColumnDefinition("LockObject", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Foreign key into Registry or File table", modularizeType: ColumnModularizeType.Column),
668 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Identifier, possibilities: "Directory;File;Registry", description: "Reference to another table name"),
669 new ColumnDefinition("Domain", ColumnType.String, 255, primaryKey: true, nullable: true, ColumnCategory.Formatted, description: "Domain name for user whose permissions are being set. (usually a property)", modularizeType: ColumnModularizeType.Property),
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),
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)"),
672 },
673 tupleDefinitionName: TupleDefinitions.LockPermissions.Name,
674 tupleIdIsPrimaryKey: false
675 );
676
677 public static readonly TableDefinition MsiLockPermissionsEx = new TableDefinition(
678 "MsiLockPermissionsEx",
679 new[]
680 {
681 new ColumnDefinition("MsiLockPermissionsEx", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column),
682 new ColumnDefinition("LockObject", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "Foreign key into Registry, File, CreateFolder, or ServiceInstall table", modularizeType: ColumnModularizeType.Column),
683 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Identifier, possibilities: "CreateFolder;File;Registry;ServiceInstall", description: "Reference to another table name"),
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),
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),
686 },
687 tupleDefinitionName: TupleDefinitions.MsiLockPermissionsEx.Name,
688 tupleIdIsPrimaryKey: true
689 );
690
691 public static readonly TableDefinition Media = new TableDefinition(
692 "Media",
693 new[]
694 {
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."),
696 new ColumnDefinition("LastSequence", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "File sequence number for the last file for this media."),
697 new ColumnDefinition("DiskPrompt", ColumnType.Localized, 64, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Disk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted."),
698 new ColumnDefinition("Cabinet", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Cabinet, description: "If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet."),
699 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."),
701 },
702 tupleDefinitionName: TupleDefinitions.Media.Name,
703 tupleIdIsPrimaryKey: false
704 );
705
706 public static readonly TableDefinition MoveFile = new TableDefinition(
707 "MoveFile",
708 new[]
709 {
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),
711 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "If this component is not \"selected\" for installation or removal, no action will be taken on the associated MoveFile entry", modularizeType: ColumnModularizeType.Column),
712 new ColumnDefinition("SourceName", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Name of the source file(s) to be moved or copied. Can contain the '*' or '?' wildcards."),
713 new ColumnDefinition("DestName", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Filename, description: "Name to be given to the original file after it is moved or copied. If blank, the destination file will be given the same name as the source file"),
714 new ColumnDefinition("SourceFolder", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Name of a property whose value is assumed to resolve to the full path to the source directory", modularizeType: ColumnModularizeType.Column),
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),
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"),
717 },
718 tupleDefinitionName: TupleDefinitions.MoveFile.Name,
719 tupleIdIsPrimaryKey: true
720 );
721
722 public static readonly TableDefinition MsiAssembly = new TableDefinition(
723 "MsiAssembly",
724 new[]
725 {
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),
727 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into Feature table."),
728 new ColumnDefinition("File_Manifest", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "Foreign key into the File table denoting the manifest file for the assembly.", modularizeType: ColumnModularizeType.Column),
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),
730 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Assembly attributes"),
731 },
732 tupleDefinitionName: TupleDefinitions.Assembly.Name,
733 tupleIdIsPrimaryKey: false
734 );
735
736 public static readonly TableDefinition MsiAssemblyName = new TableDefinition(
737 "MsiAssemblyName",
738 new[]
739 {
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),
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."),
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."),
743 },
744 tupleDefinitionName: TupleDefinitions.MsiAssemblyName.Name,
745 tupleIdIsPrimaryKey: false
746 );
747
748 public static readonly TableDefinition MsiDigitalCertificate = new TableDefinition(
749 "MsiDigitalCertificate",
750 new[]
751 {
752 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"),
754 },
755 tupleDefinitionName: TupleDefinitions.MsiDigitalCertificate.Name,
756 tupleIdIsPrimaryKey: true
757 );
758
759 public static readonly TableDefinition MsiDigitalSignature = new TableDefinition(
760 "MsiDigitalSignature",
761 new[]
762 {
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)"),
764 new ColumnDefinition("SignObject", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Foreign key to Media table"),
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"),
766 new ColumnDefinition("Hash", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Binary, description: "The encoded hash blob from the digital signature"),
767 },
768 tupleDefinitionName: TupleDefinitions.MsiDigitalSignature.Name,
769 tupleIdIsPrimaryKey: false
770 );
771
772 public static readonly TableDefinition MsiEmbeddedChainer = new TableDefinition(
773 "MsiEmbeddedChainer",
774 new[]
775 {
776 new ColumnDefinition("MsiEmbeddedChainer", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key for the table.", modularizeType: ColumnModularizeType.Column),
777 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "A conditional statement for running the user-defined function.", forceLocalizable: true),
778 new ColumnDefinition("CommandLine", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value in this field is a part of the command line string passed to the executable file identified in the Source column.", modularizeType: ColumnModularizeType.Property),
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),
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."),
781 },
782 tupleDefinitionName: TupleDefinitions.MsiEmbeddedChainer.Name,
783 tupleIdIsPrimaryKey: true
784 );
785
786 public static readonly TableDefinition MsiEmbeddedUI = new TableDefinition(
787 "MsiEmbeddedUI",
788 new[]
789 {
790 new ColumnDefinition("MsiEmbeddedUI", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key for the table.", modularizeType: ColumnModularizeType.Column),
791 new ColumnDefinition("FileName", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The name of the file that receives the binary information in the Data column."),
792 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "0;1;2;3", description: "Information about the data in the Data column."),
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."),
794 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Binary, description: "This column contains binary information."),
795 },
796 tupleDefinitionName: TupleDefinitions.MsiEmbeddedUI.Name,
797 tupleIdIsPrimaryKey: true
798 );
799
800 public static readonly TableDefinition MsiFileHash = new TableDefinition(
801 "MsiFileHash",
802 new[]
803 {
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),
805 new ColumnDefinition("Options", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Various options and attributes for this hash."),
806 new ColumnDefinition("HashPart1", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Size of file in bytes (long integer)."),
807 new ColumnDefinition("HashPart2", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Size of file in bytes (long integer)."),
808 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)."),
810 },
811 tupleDefinitionName: TupleDefinitions.MsiFileHash.Name,
812 tupleIdIsPrimaryKey: true
813 );
814
815 public static readonly TableDefinition MsiPackageCertificate = new TableDefinition(
816 "MsiPackageCertificate",
817 new[]
818 {
819 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."),
821 },
822 tupleDefinitionName: TupleDefinitions.MsiPackageCertificate.Name,
823 tupleIdIsPrimaryKey: false
824 );
825
826 public static readonly TableDefinition MsiPatchCertificate = new TableDefinition(
827 "MsiPatchCertificate",
828 new[]
829 {
830 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."),
832 },
833 tupleDefinitionName: TupleDefinitions.MsiPatchCertificate.Name,
834 tupleIdIsPrimaryKey: false
835 );
836
837 public static readonly TableDefinition MsiPatchHeaders = new TableDefinition(
838 "MsiPatchHeaders",
839 new[]
840 {
841 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."),
843 },
844 tupleDefinitionName: TupleDefinitions.MsiPatchHeaders.Name,
845 tupleIdIsPrimaryKey: false
846 );
847
848 public static readonly TableDefinition PatchMetadata = new TableDefinition(
849 "PatchMetadata",
850 new[]
851 {
852 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."),
854 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Non-null, non-empty value of the metadata property."),
855 },
856 tupleDefinitionName: TupleDefinitions.PatchMetadata.Name,
857 tupleIdIsPrimaryKey: false
858 );
859
860 public static readonly TableDefinition MsiPatchMetadata = new TableDefinition(
861 "MsiPatchMetadata",
862 new[]
863 {
864 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),
866 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
867 },
868 tupleDefinitionName: TupleDefinitions.MsiPatchMetadata.Name,
869 tupleIdIsPrimaryKey: false
870 );
871
872 public static readonly TableDefinition MsiPatchOldAssemblyFile = new TableDefinition(
873 "MsiPatchOldAssemblyFile",
874 new[]
875 {
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),
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),
878 },
879 tupleDefinitionName: TupleDefinitions.MsiPatchOldAssemblyFile.Name,
880 tupleIdIsPrimaryKey: false
881 );
882
883 public static readonly TableDefinition MsiPatchOldAssemblyName = new TableDefinition(
884 "MsiPatchOldAssemblyName",
885 new[]
886 {
887 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."),
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."),
890 },
891 tupleDefinitionName: TupleDefinitions.MsiPatchOldAssemblyName.Name,
892 tupleIdIsPrimaryKey: false
893 );
894
895 public static readonly TableDefinition PatchSequence = new TableDefinition(
896 "PatchSequence",
897 new[]
898 {
899 new ColumnDefinition("PatchFamily", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key. The name of the family for the patch."),
900 new ColumnDefinition("Target", ColumnType.String, 72, primaryKey: true, nullable: true, ColumnCategory.Text, description: "Primary key. Determines product code filtering for family."),
901 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."),
903 },
904 tupleDefinitionName: TupleDefinitions.PatchSequence.Name,
905 tupleIdIsPrimaryKey: false
906 );
907
908 public static readonly TableDefinition MsiPatchSequence = new TableDefinition(
909 "MsiPatchSequence",
910 new[]
911 {
912 new ColumnDefinition("PatchFamily", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
913 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: true, nullable: true, ColumnCategory.Unknown),
914 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),
916 },
917 tupleDefinitionName: TupleDefinitions.MsiPatchSequence.Name,
918 tupleIdIsPrimaryKey: false
919 );
920
921 public static readonly TableDefinition ODBCAttribute = new TableDefinition(
922 "ODBCAttribute",
923 new[]
924 {
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),
926 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"),
928 },
929 tupleDefinitionName: TupleDefinitions.ODBCAttribute.Name,
930 tupleIdIsPrimaryKey: false
931 );
932
933 public static readonly TableDefinition ODBCDriver = new TableDefinition(
934 "ODBCDriver",
935 new[]
936 {
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),
938 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Reference to associated component", modularizeType: ColumnModularizeType.Column),
939 new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Text used as registered name for driver, non-localized"),
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),
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),
942 },
943 tupleDefinitionName: TupleDefinitions.ODBCDriver.Name,
944 tupleIdIsPrimaryKey: true
945 );
946
947 public static readonly TableDefinition ODBCDataSource = new TableDefinition(
948 "ODBCDataSource",
949 new[]
950 {
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),
952 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Reference to associated component", modularizeType: ColumnModularizeType.Column),
953 new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Text used as registered name for data source"),
954 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."),
956 },
957 tupleDefinitionName: TupleDefinitions.ODBCDataSource.Name,
958 tupleIdIsPrimaryKey: true
959 );
960
961 public static readonly TableDefinition ODBCSourceAttribute = new TableDefinition(
962 "ODBCSourceAttribute",
963 new[]
964 {
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),
966 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"),
968 },
969 tupleDefinitionName: TupleDefinitions.ODBCSourceAttribute.Name,
970 tupleIdIsPrimaryKey: false
971 );
972
973 public static readonly TableDefinition ODBCTranslator = new TableDefinition(
974 "ODBCTranslator",
975 new[]
976 {
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),
978 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Reference to associated component", modularizeType: ColumnModularizeType.Column),
979 new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Text used as registered name for translator"),
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),
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),
982 },
983 tupleDefinitionName: TupleDefinitions.ODBCTranslator.Name,
984 tupleIdIsPrimaryKey: true
985 );
986
987 public static readonly TableDefinition Patch = new TableDefinition(
988 "Patch",
989 new[]
990 {
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),
992 new ColumnDefinition("Sequence", ColumnType.Number, 4, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Primary key, sequence with respect to the media images; order must track cabinet order."),
993 new ColumnDefinition("PatchSize", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Size of patch in bytes (long integer)."),
994 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Integer containing bit flags representing patch attributes"),
995 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."),
997 },
998 tupleDefinitionName: TupleDefinitions.Patch.Name,
999 tupleIdIsPrimaryKey: false
1000 );
1001
1002 public static readonly TableDefinition PatchPackage = new TableDefinition(
1003 "PatchPackage",
1004 new[]
1005 {
1006 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."),
1008 },
1009 tupleDefinitionName: TupleDefinitions.PatchPackage.Name,
1010 tupleIdIsPrimaryKey: false
1011 );
1012
1013 public static readonly TableDefinition PublishComponent = new TableDefinition(
1014 "PublishComponent",
1015 new[]
1016 {
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."),
1018 new ColumnDefinition("Qualifier", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect."),
1019 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),
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."),
1021 new ColumnDefinition("Feature_", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Feature", keyColumn: 1, description: "Foreign key into the Feature table."),
1022 },
1023 tupleDefinitionName: TupleDefinitions.PublishComponent.Name,
1024 tupleIdIsPrimaryKey: false
1025 );
1026
1027 public static readonly TableDefinition RadioButton = new TableDefinition(
1028 "RadioButton",
1029 new[]
1030 {
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),
1032 new ColumnDefinition("Order", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 32767, description: "A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive."),
1033 new ColumnDefinition("Value", ColumnType.String, 64, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The value string associated with this button. Selecting the button will set the associated property to this value.", modularizeType: ColumnModularizeType.Property),
1034 new ColumnDefinition("X", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.", forceLocalizable: true),
1035 new ColumnDefinition("Y", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.", forceLocalizable: true),
1036 new ColumnDefinition("Width", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The width of the button.", forceLocalizable: true),
1037 new ColumnDefinition("Height", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The height of the button.", forceLocalizable: true),
1038 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."),
1040 },
1041 tupleDefinitionName: TupleDefinitions.RadioButton.Name,
1042 tupleIdIsPrimaryKey: false
1043 );
1044
1045 public static readonly TableDefinition Registry = new TableDefinition(
1046 "Registry",
1047 new[]
1048 {
1049 new ColumnDefinition("Registry", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
1050 new ColumnDefinition("Root", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: -1, maxValue: 3, description: "The predefined root key for the registry value, one of rrkEnum."),
1051 new ColumnDefinition("Key", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.RegPath, description: "The key for the registry value.", modularizeType: ColumnModularizeType.Property),
1052 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The registry value name.", modularizeType: ColumnModularizeType.Property),
1053 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),
1055 },
1056 tupleDefinitionName: TupleDefinitions.Registry.Name,
1057 tupleIdIsPrimaryKey: true
1058 );
1059
1060 public static readonly TableDefinition RegLocator = new TableDefinition(
1061 "RegLocator",
1062 new[]
1063 {
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),
1065 new ColumnDefinition("Root", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 3, description: "The predefined root key for the registry value, one of rrkEnum."),
1066 new ColumnDefinition("Key", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.RegPath, description: "The key for the registry value.", modularizeType: ColumnModularizeType.Property, forceLocalizable: true),
1067 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."),
1069 },
1070 tupleDefinitionName: TupleDefinitions.RegLocator.Name,
1071 tupleIdIsPrimaryKey: true
1072 );
1073
1074 public static readonly TableDefinition RemoveFile = new TableDefinition(
1075 "RemoveFile",
1076 new[]
1077 {
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),
1079 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the file to be removed.", modularizeType: ColumnModularizeType.Column),
1080 new ColumnDefinition("FileName", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.WildCardFilename, description: "Name of the file to be removed."),
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),
1082 new ColumnDefinition("InstallMode", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "1;2;3", description: "Installation option, one of iimEnum."),
1083 },
1084 tupleDefinitionName: TupleDefinitions.RemoveFile.Name,
1085 tupleIdIsPrimaryKey: true
1086 );
1087
1088 public static readonly TableDefinition RemoveIniFile = new TableDefinition(
1089 "RemoveIniFile",
1090 new[]
1091 {
1092 new ColumnDefinition("RemoveIniFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
1093 new ColumnDefinition("FileName", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Filename, description: "The .INI file name in which to delete the information"),
1094 new ColumnDefinition("DirProperty", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Foreign key into the Directory table denoting the directory where the .INI file is.", modularizeType: ColumnModularizeType.Column),
1095 new ColumnDefinition("Section", ColumnType.Localized, 96, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .INI file Section.", modularizeType: ColumnModularizeType.Property),
1096 new ColumnDefinition("Key", ColumnType.Localized, 128, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .INI file key below Section.", modularizeType: ColumnModularizeType.Property),
1097 new ColumnDefinition("Value", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value to be deleted. The value is required when Action is iifIniRemoveTag", modularizeType: ColumnModularizeType.Property),
1098 new ColumnDefinition("Action", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "2;4", description: "The type of modification to be made, one of iifEnum."),
1099 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 .INI value.", modularizeType: ColumnModularizeType.Column),
1100 },
1101 tupleIdIsPrimaryKey: true
1102 );
1103
1104 public static readonly TableDefinition RemoveRegistry = new TableDefinition(
1105 "RemoveRegistry",
1106 new[]
1107 {
1108 new ColumnDefinition("RemoveRegistry", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
1109 new ColumnDefinition("Root", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: -1, maxValue: 3, description: "The predefined root key for the registry value, one of rrkEnum"),
1110 new ColumnDefinition("Key", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.RegPath, description: "The key for the registry value.", modularizeType: ColumnModularizeType.Property),
1111 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),
1113 },
1114 tupleDefinitionName: TupleDefinitions.RemoveRegistry.Name,
1115 tupleIdIsPrimaryKey: true
1116 );
1117
1118 public static readonly TableDefinition ReserveCost = new TableDefinition(
1119 "ReserveCost",
1120 new[]
1121 {
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),
1123 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Reserve a specified amount of space if this component is to be installed.", modularizeType: ColumnModularizeType.Column),
1124 new ColumnDefinition("ReserveFolder", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Name of a property whose value is assumed to resolve to the full path to the destination directory", modularizeType: ColumnModularizeType.Column),
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."),
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."),
1127 },
1128 tupleDefinitionName: TupleDefinitions.ReserveCost.Name,
1129 tupleIdIsPrimaryKey: true
1130 );
1131
1132 public static readonly TableDefinition SelfReg = new TableDefinition(
1133 "SelfReg",
1134 new[]
1135 {
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),
1137 new ColumnDefinition("Cost", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The cost of registering the module."),
1138 },
1139 tupleIdIsPrimaryKey: false
1140 );
1141
1142 public static readonly TableDefinition ServiceControl = new TableDefinition(
1143 "ServiceControl",
1144 new[]
1145 {
1146 new ColumnDefinition("ServiceControl", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
1147 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of a service. /, \\, comma and space are invalid", modularizeType: ColumnModularizeType.Property),
1148 new ColumnDefinition("Event", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 187, description: "Bit field: Install: 0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete"),
1149 new ColumnDefinition("Arguments", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Arguments for the service. Separate by [~].", modularizeType: ColumnModularizeType.Property),
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"),
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),
1152 },
1153 tupleDefinitionName: TupleDefinitions.ServiceControl.Name,
1154 tupleIdIsPrimaryKey: true
1155 );
1156
1157 public static readonly TableDefinition ServiceInstall = new TableDefinition(
1158 "ServiceInstall",
1159 new[]
1160 {
1161 new ColumnDefinition("ServiceInstall", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
1162 new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Internal Name of the Service", modularizeType: ColumnModularizeType.Property),
1163 new ColumnDefinition("DisplayName", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "External Name of the Service", modularizeType: ColumnModularizeType.Property),
1164 new ColumnDefinition("ServiceType", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Type of the service"),
1165 new ColumnDefinition("StartType", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 4, description: "Type of the service"),
1166 new ColumnDefinition("ErrorControl", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Severity of error if service fails to start"),
1167 new ColumnDefinition("LoadOrderGroup", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "LoadOrderGroup", modularizeType: ColumnModularizeType.Property),
1168 new ColumnDefinition("Dependencies", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Other services this depends on to start. Separate by [~], and end with [~][~]", modularizeType: ColumnModularizeType.Property),
1169 new ColumnDefinition("StartName", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "User or object name to run service as", modularizeType: ColumnModularizeType.Property),
1170 new ColumnDefinition("Password", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "password to run service with. (with StartName)", modularizeType: ColumnModularizeType.Property),
1171 new ColumnDefinition("Arguments", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Arguments to include in every start of the service, passed to WinMain", modularizeType: ColumnModularizeType.Property),
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),
1173 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Description of service.", modularizeType: ColumnModularizeType.Property),
1174 },
1175 tupleDefinitionName: TupleDefinitions.ServiceInstall.Name,
1176 tupleIdIsPrimaryKey: true
1177 );
1178
1179 public static readonly TableDefinition MsiServiceConfig = new TableDefinition(
1180 "MsiServiceConfig",
1181 new[]
1182 {
1183 new ColumnDefinition("MsiServiceConfig", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
1184 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of a service. /, \\, comma and space are invalid", modularizeType: ColumnModularizeType.Property),
1185 new ColumnDefinition("Event", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 7, description: "Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = Reinstall"),
1186 new ColumnDefinition("ConfigType", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Service Configuration Option"),
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"),
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),
1189 },
1190 tupleDefinitionName: TupleDefinitions.MsiServiceConfig.Name,
1191 tupleIdIsPrimaryKey: true
1192 );
1193
1194 public static readonly TableDefinition MsiServiceConfigFailureActions = new TableDefinition(
1195 "MsiServiceConfigFailureActions",
1196 new[]
1197 {
1198 new ColumnDefinition("MsiServiceConfigFailureActions", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column),
1199 new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of a service. /, \\, comma and space are invalid", modularizeType: ColumnModularizeType.Property),
1200 new ColumnDefinition("Event", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 7, description: "Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = Reinstall"),
1201 new ColumnDefinition("ResetPeriod", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Time in seconds after which to reset the failure count to zero. Leave blank if it should never be reset"),
1202 new ColumnDefinition("RebootMessage", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Message to be broadcast to server users before rebooting"),
1203 new ColumnDefinition("Command", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Command line of the process to CreateProcess function to execute"),
1204 new ColumnDefinition("Actions", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "A list of integer actions separated by [~] delimiters: 0 = SC_ACTION_NONE, 1 = SC_ACTION_RESTART, 2 = SC_ACTION_REBOOT, 3 = SC_ACTION_RUN_COMMAND. Terminate with [~][~]"),
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 [~][~]"),
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),
1207 },
1208 tupleDefinitionName: TupleDefinitions.MsiServiceConfigFailureActions.Name,
1209 tupleIdIsPrimaryKey: true
1210 );
1211
1212 public static readonly TableDefinition Shortcut = new TableDefinition(
1213 "Shortcut",
1214 new[]
1215 {
1216 new ColumnDefinition("Shortcut", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column),
1217 new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Foreign key into the Directory table denoting the directory where the shortcut file is created.", modularizeType: ColumnModularizeType.Column),
1218 new ColumnDefinition("Name", ColumnType.Localized, 128, primaryKey: false, nullable: false, ColumnCategory.Filename, description: "The name of the shortcut to be created."),
1219 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.", modularizeType: ColumnModularizeType.Column),
1220 new ColumnDefinition("Target", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Shortcut, description: "The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.", modularizeType: ColumnModularizeType.Property),
1221 new ColumnDefinition("Arguments", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The command-line arguments for the shortcut.", modularizeType: ColumnModularizeType.Property),
1222 new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The description for the shortcut."),
1223 new ColumnDefinition("Hotkey", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. "),
1224 new ColumnDefinition("Icon_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Icon", keyColumn: 1, description: "Foreign key into the File table denoting the external icon file for the shortcut.", modularizeType: ColumnModularizeType.Icon),
1225 new ColumnDefinition("IconIndex", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -32767, maxValue: 32767, description: "The icon index for the shortcut."),
1226 new ColumnDefinition("ShowCmd", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "1;3;7", description: "The show command for the application window.The following values may be used."),
1227 new ColumnDefinition("WkDir", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Name of property defining location of working directory.", modularizeType: ColumnModularizeType.Column),
1228 new ColumnDefinition("DisplayResourceDLL", 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),
1229 new ColumnDefinition("DisplayResourceId", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The display name index for the shortcut. This must be a non-negative number."),
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),
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."),
1232 },
1233 tupleDefinitionName: TupleDefinitions.Shortcut.Name,
1234 tupleIdIsPrimaryKey: true
1235 );
1236
1237 public static readonly TableDefinition MsiShortcutProperty = new TableDefinition(
1238 "MsiShortcutProperty",
1239 new[]
1240 {
1241 new ColumnDefinition("MsiShortcutProperty", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column),
1242 new ColumnDefinition("Shortcut_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Shortcut", keyColumn: 1, description: "Foreign key into the Shortcut table", modularizeType: ColumnModularizeType.Column),
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),
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),
1245 },
1246 tupleDefinitionName: TupleDefinitions.MsiShortcutProperty.Name,
1247 tupleIdIsPrimaryKey: true
1248 );
1249
1250 public static readonly TableDefinition Signature = new TableDefinition(
1251 "Signature",
1252 new[]
1253 {
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),
1255 new ColumnDefinition("FileName", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The name of the file. This may contain a \"short name|long name\" pair."),
1256 new ColumnDefinition("MinVersion", ColumnType.String, 20, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The minimum version of the file."),
1257 new ColumnDefinition("MaxVersion", ColumnType.String, 20, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The maximum version of the file."),
1258 new ColumnDefinition("MinSize", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "The minimum size of the file."),
1259 new ColumnDefinition("MaxSize", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "The maximum size of the file. "),
1260 new ColumnDefinition("MinDate", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "The minimum creation date of the file."),
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."),
1262 new ColumnDefinition("Languages", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Language, description: "The languages supported by the file."),
1263 },
1264 tupleDefinitionName: TupleDefinitions.Signature.Name,
1265 tupleIdIsPrimaryKey: true
1266 );
1267
1268 public static readonly TableDefinition TextStyle = new TableDefinition(
1269 "TextStyle",
1270 new[]
1271 {
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."),
1273 new ColumnDefinition("FaceName", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Text, description: "A string indicating the name of the font used. Required. The string must be at most 31 characters long.", forceLocalizable: true),
1274 new ColumnDefinition("Size", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.", forceLocalizable: true),
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)."),
1276 new ColumnDefinition("StyleBits", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 15, description: "A combination of style bits."),
1277 },
1278 tupleDefinitionName: TupleDefinitions.TextStyle.Name,
1279 tupleIdIsPrimaryKey: true
1280 );
1281
1282 public static readonly TableDefinition TypeLib = new TableDefinition(
1283 "TypeLib",
1284 new[]
1285 {
1286 new ColumnDefinition("LibID", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The GUID that represents the library."),
1287 new ColumnDefinition("Language", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "The language of the library."),
1288 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.", modularizeType: ColumnModularizeType.Column),
1289 new ColumnDefinition("Version", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 16777215, description: "The version of the library. The minor version is in the lower 8 bits of the integer. The major version is in the next 16 bits. "),
1290 new ColumnDefinition("Description", ColumnType.Localized, 128, primaryKey: false, nullable: true, ColumnCategory.Text),
1291 new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Optional. The foreign key into the Directory table denoting the path to the help file for the type library.", modularizeType: ColumnModularizeType.Column),
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."),
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."),
1294 },
1295 tupleDefinitionName: TupleDefinitions.TypeLib.Name,
1296 tupleIdIsPrimaryKey: false
1297 );
1298
1299 public static readonly TableDefinition UIText = new TableDefinition(
1300 "UIText",
1301 new[]
1302 {
1303 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."),
1305 },
1306 tupleDefinitionName: TupleDefinitions.UIText.Name,
1307 tupleIdIsPrimaryKey: true
1308 );
1309
1310 public static readonly TableDefinition Upgrade = new TableDefinition(
1311 "Upgrade",
1312 new[]
1313 {
1314 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: true, nullable: false, ColumnCategory.Guid, description: "The UpgradeCode GUID belonging to the products in this set."),
1315 new ColumnDefinition("VersionMin", ColumnType.String, 20, primaryKey: true, nullable: true, ColumnCategory.Text, description: "The minimum ProductVersion of the products in this set. The set may or may not include products with this particular version."),
1316 new ColumnDefinition("VersionMax", ColumnType.String, 20, primaryKey: true, nullable: true, ColumnCategory.Text, description: "The maximum ProductVersion of the products in this set. The set may or may not include products with this particular version."),
1317 new ColumnDefinition("Language", ColumnType.String, 255, primaryKey: true, nullable: true, ColumnCategory.Language, description: "A comma-separated list of languages for either products in this set or products not in this set.", forceLocalizable: true),
1318 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "The attributes of this product set."),
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\"."),
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."),
1321 },
1322 tupleDefinitionName: TupleDefinitions.Upgrade.Name,
1323 tupleIdIsPrimaryKey: false
1324 );
1325
1326 public static readonly TableDefinition Verb = new TableDefinition(
1327 "Verb",
1328 new[]
1329 {
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."),
1331 new ColumnDefinition("Verb", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Text, description: "The verb for the command."),
1332 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 32767, description: "Order within the verbs for a particular extension. Also used simply to specify the default verb."),
1333 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),
1335 },
1336 tupleDefinitionName: TupleDefinitions.Verb.Name,
1337 tupleIdIsPrimaryKey: false
1338 );
1339
1340 public static readonly TableDefinition ModuleAdminExecuteSequence = new TableDefinition(
1341 "ModuleAdminExecuteSequence",
1342 new[]
1343 {
1344 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
1345 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Standard Sequence number"),
1346 new ColumnDefinition("BaseAction", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "ModuleAdminExecuteSequence", keyColumn: 1, description: "Base action to determine insert location.", modularizeType: ColumnModularizeType.Column),
1347 new ColumnDefinition("After", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Before (0) or After (1)"),
1348 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
1349 },
1350 tupleIdIsPrimaryKey: true
1351 );
1352
1353 public static readonly TableDefinition ModuleAdminUISequence = new TableDefinition(
1354 "ModuleAdminUISequence",
1355 new[]
1356 {
1357 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
1358 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Standard Sequence number"),
1359 new ColumnDefinition("BaseAction", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "ModuleAdminUISequence", keyColumn: 1, description: "Base action to determine insert location.", modularizeType: ColumnModularizeType.Column),
1360 new ColumnDefinition("After", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Before (0) or After (1)"),
1361 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
1362 },
1363 tupleIdIsPrimaryKey: true
1364 );
1365
1366 public static readonly TableDefinition ModuleAdvtExecuteSequence = new TableDefinition(
1367 "ModuleAdvtExecuteSequence",
1368 new[]
1369 {
1370 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
1371 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Standard Sequence number"),
1372 new ColumnDefinition("BaseAction", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "ModuleAdvtExecuteSequence", keyColumn: 1, description: "Base action to determine insert location.", modularizeType: ColumnModularizeType.Column),
1373 new ColumnDefinition("After", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Before (0) or After (1)"),
1374 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
1375 },
1376 tupleIdIsPrimaryKey: true
1377 );
1378
1379 public static readonly TableDefinition ModuleAdvtUISequence = new TableDefinition(
1380 "ModuleAdvtUISequence",
1381 new[]
1382 {
1383 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
1384 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Standard Sequence number"),
1385 new ColumnDefinition("BaseAction", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "ModuleAdvtUISequence", keyColumn: 1, description: "Base action to determine insert location.", modularizeType: ColumnModularizeType.Column),
1386 new ColumnDefinition("After", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Before (0) or After (1)"),
1387 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
1388 },
1389 tupleIdIsPrimaryKey: true
1390 );
1391
1392 public static readonly TableDefinition ModuleComponents = new TableDefinition(
1393 "ModuleComponents",
1394 new[]
1395 {
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),
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),
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),
1399 },
1400 tupleDefinitionName: TupleDefinitions.ModuleComponents.Name,
1401 tupleIdIsPrimaryKey: false
1402 );
1403
1404 public static readonly TableDefinition ModuleSignature = new TableDefinition(
1405 "ModuleSignature",
1406 new[]
1407 {
1408 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),
1410 new ColumnDefinition("Version", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Version, description: "Version of the module."),
1411 },
1412 tupleDefinitionName: TupleDefinitions.ModuleSignature.Name,
1413 tupleIdIsPrimaryKey: false
1414 );
1415
1416 public static readonly TableDefinition ModuleConfiguration = new TableDefinition(
1417 "ModuleConfiguration",
1418 new[]
1419 {
1420 new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique identifier for this row."),
1421 new ColumnDefinition("Format", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 3, description: "Format of this item."),
1422 new ColumnDefinition("Type", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Additional type information for this item."),
1423 new ColumnDefinition("ContextData", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Additional context information about this item."),
1424 new ColumnDefinition("DefaultValue", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Default value for this item."),
1425 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 3, description: "Additional type-specific attributes."),
1426 new ColumnDefinition("DisplayName", ColumnType.Localized, 72, primaryKey: false, nullable: true, ColumnCategory.Text, description: "A short human-readable name for this item."),
1427 new ColumnDefinition("Description", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "A human-readable description."),
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."),
1429 new ColumnDefinition("HelpKeyword", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Keyword index into the HelpLocation for this item."),
1430 },
1431 tupleDefinitionName: TupleDefinitions.ModuleConfiguration.Name,
1432 tupleIdIsPrimaryKey: true
1433 );
1434
1435 public static readonly TableDefinition ModuleDependency = new TableDefinition(
1436 "ModuleDependency",
1437 new[]
1438 {
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),
1440 new ColumnDefinition("ModuleLanguage", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, keyTable: "ModuleSignature", keyColumn: 2, description: "Language of module requiring the dependency.", forceLocalizable: true),
1441 new ColumnDefinition("RequiredID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "String.GUID of required module."),
1442 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."),
1444 },
1445 tupleDefinitionName: TupleDefinitions.ModuleDependency.Name,
1446 tupleIdIsPrimaryKey: false
1447 );
1448
1449 public static readonly TableDefinition ModuleExclusion = new TableDefinition(
1450 "ModuleExclusion",
1451 new[]
1452 {
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),
1454 new ColumnDefinition("ModuleLanguage", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, keyTable: "ModuleSignature", keyColumn: 2, description: "LanguageID of module with exclusion requirement.", forceLocalizable: true),
1455 new ColumnDefinition("ExcludedID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "String.GUID of excluded module."),
1456 new ColumnDefinition("ExcludedLanguage", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Language of excluded module.", forceLocalizable: true),
1457 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."),
1459 },
1460 tupleDefinitionName: TupleDefinitions.ModuleExclusion.Name,
1461 tupleIdIsPrimaryKey: false
1462 );
1463
1464 public static readonly TableDefinition ModuleIgnoreTable = new TableDefinition(
1465 "ModuleIgnoreTable",
1466 new[]
1467 {
1468 new ColumnDefinition("Table", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Table name to ignore during merge operation."),
1469 },
1470 tupleDefinitionName: TupleDefinitions.ModuleIgnoreTable.Name,
1471 tupleIdIsPrimaryKey: true
1472 );
1473
1474 public static readonly TableDefinition ModuleInstallExecuteSequence = new TableDefinition(
1475 "ModuleInstallExecuteSequence",
1476 new[]
1477 {
1478 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
1479 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Standard Sequence number"),
1480 new ColumnDefinition("BaseAction", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "ModuleInstallExecuteSequence", keyColumn: 1, description: "Base action to determine insert location.", modularizeType: ColumnModularizeType.Column),
1481 new ColumnDefinition("After", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Before (0) or After (1)"),
1482 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
1483 },
1484 tupleIdIsPrimaryKey: true
1485 );
1486
1487 public static readonly TableDefinition ModuleInstallUISequence = new TableDefinition(
1488 "ModuleInstallUISequence",
1489 new[]
1490 {
1491 new ColumnDefinition("Action", ColumnType.String, 64, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Action to insert", modularizeType: ColumnModularizeType.Column),
1492 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -4, maxValue: 32767, description: "Standard Sequence number"),
1493 new ColumnDefinition("BaseAction", ColumnType.String, 64, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "ModuleInstallUISequence", keyColumn: 1, description: "Base action to determine insert location.", modularizeType: ColumnModularizeType.Column),
1494 new ColumnDefinition("After", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Before (0) or After (1)"),
1495 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition, modularizeType: ColumnModularizeType.Condition, forceLocalizable: true),
1496 },
1497 tupleIdIsPrimaryKey: true
1498 );
1499
1500 public static readonly TableDefinition ModuleSubstitution = new TableDefinition(
1501 "ModuleSubstitution",
1502 new[]
1503 {
1504 new ColumnDefinition("Table", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Table containing the data to be modified."),
1505 new ColumnDefinition("Row", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Row containing the data to be modified.", modularizeType: ColumnModularizeType.SemicolonDelimited),
1506 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."),
1508 },
1509 tupleDefinitionName: TupleDefinitions.ModuleSubstitution.Name,
1510 tupleIdIsPrimaryKey: false
1511 );
1512
1513 public static readonly TableDefinition Properties = new TableDefinition(
1514 "Properties",
1515 new[]
1516 {
1517 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"),
1519 },
1520 tupleDefinitionName: TupleDefinitions.Properties.Name,
1521 tupleIdIsPrimaryKey: false
1522 );
1523
1524 public static readonly TableDefinition ImageFamilies = new TableDefinition(
1525 "ImageFamilies",
1526 new[]
1527 {
1528 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"),
1529 new ColumnDefinition("MediaSrcPropName", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Text),
1530 new ColumnDefinition("MediaDiskId", ColumnType.Number, 0, primaryKey: false, nullable: true, ColumnCategory.Integer),
1531 new ColumnDefinition("FileSequenceStart", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Integer, minValue: 1, maxValue: 214743647),
1532 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),
1534 },
1535 tupleDefinitionName: TupleDefinitions.ImageFamilies.Name,
1536 tupleIdIsPrimaryKey: false
1537 );
1538
1539 public static readonly TableDefinition UpgradedImages = new TableDefinition(
1540 "UpgradedImages",
1541 new[]
1542 {
1543 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Primary key"),
1544 new ColumnDefinition("MsiPath", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text),
1545 new ColumnDefinition("PatchMsiPath", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1546 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"),
1548 },
1549 tupleDefinitionName: TupleDefinitions.UpgradedImages.Name,
1550 tupleIdIsPrimaryKey: false
1551 );
1552
1553 public static readonly TableDefinition UpgradedFilesToIgnore = new TableDefinition(
1554 "UpgradedFilesToIgnore",
1555 new[]
1556 {
1557 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),
1559 },
1560 tupleDefinitionName: TupleDefinitions.UpgradedFilesToIgnore.Name,
1561 tupleIdIsPrimaryKey: false
1562 );
1563
1564 public static readonly TableDefinition UpgradedFiles_OptionalData = new TableDefinition(
1565 "UpgradedFiles_OptionalData",
1566 new[]
1567 {
1568 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "UpgradedImages", keyColumn: 1, description: "Foreign key, Upgraded image"),
1569 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),
1570 new ColumnDefinition("SymbolPaths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1571 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),
1573 },
1574 tupleDefinitionName: TupleDefinitions.UpgradedFilesOptionalData.Name,
1575 tupleIdIsPrimaryKey: false
1576 );
1577
1578 public static readonly TableDefinition TargetImages = new TableDefinition(
1579 "TargetImages",
1580 new[]
1581 {
1582 new ColumnDefinition("Target", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text),
1583 new ColumnDefinition("MsiPath", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text),
1584 new ColumnDefinition("SymbolPaths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1585 new ColumnDefinition("Upgraded", ColumnType.String, 13, primaryKey: false, nullable: false, ColumnCategory.Text, keyTable: "UpgradedImages", keyColumn: 1, description: "Foreign key, Upgraded image"),
1586 new ColumnDefinition("Order", ColumnType.Number, 0, primaryKey: false, nullable: false, ColumnCategory.Integer),
1587 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),
1589 },
1590 tupleDefinitionName: TupleDefinitions.TargetImages.Name,
1591 tupleIdIsPrimaryKey: false
1592 );
1593
1594 public static readonly TableDefinition TargetFiles_OptionalData = new TableDefinition(
1595 "TargetFiles_OptionalData",
1596 new[]
1597 {
1598 new ColumnDefinition("Target", ColumnType.String, 13, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "TargetImages", keyColumn: 1, description: "Foreign key, Target image"),
1599 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),
1600 new ColumnDefinition("SymbolPaths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1601 new ColumnDefinition("IgnoreOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1602 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),
1604 },
1605 tupleDefinitionName: TupleDefinitions.TargetFilesOptionalData.Name,
1606 tupleIdIsPrimaryKey: false
1607 );
1608
1609 public static readonly TableDefinition FamilyFileRanges = new TableDefinition(
1610 "FamilyFileRanges",
1611 new[]
1612 {
1613 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "ImageFamilies", keyColumn: 1, description: "Foreign key, Family"),
1614 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),
1615 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),
1617 },
1618 tupleDefinitionName: TupleDefinitions.FamilyFileRanges.Name,
1619 tupleIdIsPrimaryKey: false
1620 );
1621
1622 public static readonly TableDefinition ExternalFiles = new TableDefinition(
1623 "ExternalFiles",
1624 new[]
1625 {
1626 new ColumnDefinition("Family", ColumnType.String, 8, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "ImageFamilies", keyColumn: 1, description: "Foreign key, Family"),
1627 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),
1628 new ColumnDefinition("FilePath", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text),
1629 new ColumnDefinition("SymbolPaths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1630 new ColumnDefinition("IgnoreOffsets", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1631 new ColumnDefinition("IgnoreLengths", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
1632 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),
1634 },
1635 tupleDefinitionName: TupleDefinitions.ExternalFiles.Name,
1636 tupleIdIsPrimaryKey: false
1637 );
1638
1639 public static readonly TableDefinition WixAction = new TableDefinition(
1640 "WixAction",
1641 new[]
1642 {
1643 new ColumnDefinition("SequenceTable", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1644 new ColumnDefinition("Action", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1645 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Unknown, forceLocalizable: true),
1646 new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1647 new ColumnDefinition("Before", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1648 new ColumnDefinition("After", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1649 new ColumnDefinition("Overridable", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1650 },
1651 unreal: true,
1652 tupleDefinitionName: TupleDefinitions.WixAction.Name,
1653 tupleIdIsPrimaryKey: false
1654 );
1655
1656 public static readonly TableDefinition WixBBControl = new TableDefinition(
1657 "WixBBControl",
1658 new[]
1659 {
1660 new ColumnDefinition("Billboard_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
1661 new ColumnDefinition("BBControl_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1662 new ColumnDefinition("SourceFile", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1663 },
1664 unreal: true,
1665 tupleIdIsPrimaryKey: false
1666 );
1667
1668 public static readonly TableDefinition WixComplexReference = new TableDefinition(
1669 "WixComplexReference",
1670 new[]
1671 {
1672 new ColumnDefinition("Parent", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown, forceLocalizable: true),
1673 new ColumnDefinition("ParentAttributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1674 new ColumnDefinition("ParentLanguage", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1675 new ColumnDefinition("Child", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown, forceLocalizable: true),
1676 new ColumnDefinition("ChildAttributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1677 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1678 },
1679 unreal: true,
1680 tupleDefinitionName: TupleDefinitions.WixComplexReference.Name,
1681 tupleIdIsPrimaryKey: false
1682 );
1683
1684 public static readonly TableDefinition WixComponentGroup = new TableDefinition(
1685 "WixComponentGroup",
1686 new[]
1687 {
1688 new ColumnDefinition("WixComponentGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1689 },
1690 unreal: true,
1691 tupleDefinitionName: TupleDefinitions.WixComponentGroup.Name,
1692 tupleIdIsPrimaryKey: false
1693 );
1694
1695 public static readonly TableDefinition WixControl = new TableDefinition(
1696 "WixControl",
1697 new[]
1698 {
1699 new ColumnDefinition("Dialog_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
1700 new ColumnDefinition("Control_", ColumnType.String, 50, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1701 new ColumnDefinition("SourceFile", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1702 },
1703 unreal: true,
1704 tupleIdIsPrimaryKey: false
1705 );
1706
1707 public static readonly TableDefinition WixCustomRow = new TableDefinition(
1708 "WixCustomRow",
1709 new[]
1710 {
1711 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),
1713 },
1714 unreal: true,
1715 tupleDefinitionName: TupleDefinitions.WixCustomRow.Name,
1716 tupleIdIsPrimaryKey: false
1717 );
1718
1719 public static readonly TableDefinition WixCustomTable = new TableDefinition(
1720 "WixCustomTable",
1721 new[]
1722 {
1723 new ColumnDefinition("Table", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1724 new ColumnDefinition("ColumnCount", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1725 new ColumnDefinition("ColumnNames", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1726 new ColumnDefinition("ColumnTypes", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1727 new ColumnDefinition("PrimaryKeys", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1728 new ColumnDefinition("MinValues", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1729 new ColumnDefinition("MaxValues", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1730 new ColumnDefinition("KeyTables", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1731 new ColumnDefinition("KeyColumns", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1732 new ColumnDefinition("Categories", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1733 new ColumnDefinition("Sets", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1734 new ColumnDefinition("Descriptions", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1735 new ColumnDefinition("Modularizations", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1736 new ColumnDefinition("BootstrapperApplicationData", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1737 },
1738 unreal: true,
1739 tupleDefinitionName: TupleDefinitions.WixCustomTable.Name,
1740 tupleIdIsPrimaryKey: true
1741 );
1742
1743 public static readonly TableDefinition WixDirectory = new TableDefinition(
1744 "WixDirectory",
1745 new[]
1746 {
1747 new ColumnDefinition("Directory_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
1748 new ColumnDefinition("ComponentGuidGenerationSeed", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1749 },
1750 unreal: true,
1751 tupleIdIsPrimaryKey: false
1752 );
1753
1754 public static readonly TableDefinition WixEnsureTable = new TableDefinition(
1755 "WixEnsureTable",
1756 new[]
1757 {
1758 new ColumnDefinition("Table", ColumnType.String, 31, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1759 },
1760 unreal: true,
1761 tupleDefinitionName: TupleDefinitions.WixEnsureTable.Name,
1762 tupleIdIsPrimaryKey: false
1763 );
1764
1765 public static readonly TableDefinition WixFeatureGroup = new TableDefinition(
1766 "WixFeatureGroup",
1767 new[]
1768 {
1769 new ColumnDefinition("WixFeatureGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1770 },
1771 unreal: true,
1772 tupleDefinitionName: TupleDefinitions.WixFeatureGroup.Name,
1773 tupleIdIsPrimaryKey: true
1774 );
1775
1776 public static readonly TableDefinition WixPatchFamilyGroup = new TableDefinition(
1777 "WixPatchFamilyGroup",
1778 new[]
1779 {
1780 new ColumnDefinition("WixPatchFamilyGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1781 },
1782 unreal: true,
1783 tupleDefinitionName: TupleDefinitions.WixPatchFamilyGroup.Name,
1784 tupleIdIsPrimaryKey: false
1785 );
1786
1787 public static readonly TableDefinition WixGroup = new TableDefinition(
1788 "WixGroup",
1789 new[]
1790 {
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."),
1792 new ColumnDefinition("ParentType", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Primary key used to identify a particular parent type in a parent table."),
1793 new ColumnDefinition("ChildId", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key used to identify a particular record in a child table."),
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."),
1795 },
1796 unreal: true,
1797 tupleDefinitionName: TupleDefinitions.WixGroup.Name,
1798 tupleIdIsPrimaryKey: false
1799 );
1800
1801 public static readonly TableDefinition WixFeatureModules = new TableDefinition(
1802 "WixFeatureModules",
1803 new[]
1804 {
1805 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),
1807 },
1808 unreal: true,
1809 tupleDefinitionName: TupleDefinitions.WixFeatureModules.Name,
1810 tupleIdIsPrimaryKey: false
1811 );
1812
1813 public static readonly TableDefinition WixFile = new TableDefinition(
1814 "WixFile",
1815 new[]
1816 {
1817 new ColumnDefinition("File_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1818 new ColumnDefinition("AssemblyType", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
1819 new ColumnDefinition("File_AssemblyManifest", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1820 new ColumnDefinition("File_AssemblyApplication", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1821 new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown, keyTable: "Directory", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1822 new ColumnDefinition("DiskId", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1823 new ColumnDefinition("Source", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1824 new ColumnDefinition("ProcessorArchitecture", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1825 new ColumnDefinition("PatchGroup", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1826 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1827 new ColumnDefinition("PatchAttributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1828 new ColumnDefinition("DeltaPatchHeaderSource", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1829 },
1830 unreal: true,
1831 tupleIdIsPrimaryKey: false
1832 );
1833
1834 public static readonly TableDefinition WixBindUpdatedFiles = new TableDefinition(
1835 "WixBindUpdatedFiles",
1836 new[]
1837 {
1838 new ColumnDefinition("File_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1839 },
1840 unreal: true,
1841 tupleDefinitionName: TupleDefinitions.WixBindUpdatedFiles.Name,
1842 tupleIdIsPrimaryKey: false
1843 );
1844
1845 public static readonly TableDefinition WixBuildInfo = new TableDefinition(
1846 "WixBuildInfo",
1847 new[]
1848 {
1849 new ColumnDefinition("WixVersion", ColumnType.String, 20, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Version number of WiX."),
1850 new ColumnDefinition("WixOutputFile", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Path to output file, if supplied."),
1851 new ColumnDefinition("WixProjectFile", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Path to .wixproj file, if supplied."),
1852 new ColumnDefinition("WixPdbFile", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Path to .wixpdb file, if supplied."),
1853 },
1854 unreal: true,
1855 tupleDefinitionName: TupleDefinitions.WixBuildInfo.Name,
1856 tupleIdIsPrimaryKey: false
1857 );
1858
1859 public static readonly TableDefinition WixFragment = new TableDefinition(
1860 "WixFragment",
1861 new[]
1862 {
1863 new ColumnDefinition("WixFragment", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1864 },
1865 unreal: true,
1866 tupleDefinitionName: TupleDefinitions.WixFragment.Name,
1867 tupleIdIsPrimaryKey: true
1868 );
1869
1870 public static readonly TableDefinition WixInstanceComponent = new TableDefinition(
1871 "WixInstanceComponent",
1872 new[]
1873 {
1874 new ColumnDefinition("Component_", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, modularizeType: ColumnModularizeType.Column),
1875 },
1876 unreal: true,
1877 tupleDefinitionName: TupleDefinitions.WixInstanceComponent.Name,
1878 tupleIdIsPrimaryKey: false
1879 );
1880
1881 public static readonly TableDefinition WixInstanceTransforms = new TableDefinition(
1882 "WixInstanceTransforms",
1883 new[]
1884 {
1885 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1886 new ColumnDefinition("PropertyId", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1887 new ColumnDefinition("ProductCode", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Guid),
1888 new ColumnDefinition("ProductName", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown, forceLocalizable: true),
1889 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid),
1890 },
1891 unreal: true,
1892 tupleDefinitionName: TupleDefinitions.WixInstanceTransforms.Name,
1893 tupleIdIsPrimaryKey: true
1894 );
1895
1896 public static readonly TableDefinition WixMedia = new TableDefinition(
1897 "WixMedia",
1898 new[]
1899 {
1900 new ColumnDefinition("DiskId_", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1901 new ColumnDefinition("CompressionLevel", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 4),
1902 new ColumnDefinition("Layout", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1903 },
1904 unreal: true,
1905 tupleIdIsPrimaryKey: false
1906 );
1907
1908 public static readonly TableDefinition WixMediaTemplate = new TableDefinition(
1909 "WixMediaTemplate",
1910 new[]
1911 {
1912 new ColumnDefinition("CabinetTemplate", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1913 new ColumnDefinition("CompressionLevel", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 4),
1914 new ColumnDefinition("DiskPrompt", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1915 new ColumnDefinition("VolumeLabel", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1916 new ColumnDefinition("MaximumUncompressedMediaSize", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1917 new ColumnDefinition("MaximumCabinetSizeForLargeFileSplitting", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1918 },
1919 unreal: true,
1920 tupleDefinitionName: TupleDefinitions.WixMediaTemplate.Name,
1921 tupleIdIsPrimaryKey: false
1922 );
1923
1924 public static readonly TableDefinition WixMerge = new TableDefinition(
1925 "WixMerge",
1926 new[]
1927 {
1928 new ColumnDefinition("WixMerge", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1929 new ColumnDefinition("Language", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, forceLocalizable: true),
1930 new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1931 new ColumnDefinition("SourceFile", ColumnType.Object, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1932 new ColumnDefinition("DiskId", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1933 new ColumnDefinition("FileCompression", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1934 new ColumnDefinition("ConfigurationData", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Unknown),
1935 new ColumnDefinition("Feature_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
1936 },
1937 unreal: true,
1938 tupleDefinitionName: TupleDefinitions.WixMerge.Name,
1939 tupleIdIsPrimaryKey: true
1940 );
1941
1942 public static readonly TableDefinition WixOrdering = new TableDefinition(
1943 "WixOrdering",
1944 new[]
1945 {
1946 new ColumnDefinition("ItemType", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Primary key used to identify the item in another table."),
1947 new ColumnDefinition("ItemId_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Reference to an entry in another table."),
1948 new ColumnDefinition("DependsOnType", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "Primary key used to identify the item in another table."),
1949 new ColumnDefinition("DependsOnId_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Reference to an entry in another table."),
1950 },
1951 unreal: true,
1952 tupleDefinitionName: TupleDefinitions.WixOrdering.Name,
1953 tupleIdIsPrimaryKey: false
1954 );
1955
1956 public static readonly TableDefinition WixDeltaPatchFile = new TableDefinition(
1957 "WixDeltaPatchFile",
1958 new[]
1959 {
1960 new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown, keyTable: "File", keyColumn: 1, modularizeType: ColumnModularizeType.Column),
1961 new ColumnDefinition("RetainLengths", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
1962 new ColumnDefinition("IgnoreOffsets", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
1963 new ColumnDefinition("IgnoreLengths", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
1964 new ColumnDefinition("RetainOffsets", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
1965 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
1966 },
1967 unreal: true,
1968 tupleDefinitionName: TupleDefinitions.WixDeltaPatchFile.Name,
1969 tupleIdIsPrimaryKey: false
1970 );
1971
1972 public static readonly TableDefinition WixDeltaPatchSymbolPaths = new TableDefinition(
1973 "WixDeltaPatchSymbolPaths",
1974 new[]
1975 {
1976 new ColumnDefinition("Id", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
1977 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 4),
1978 new ColumnDefinition("SymbolPaths", ColumnType.Preserved, 0, primaryKey: false, nullable: false, ColumnCategory.Text),
1979 },
1980 unreal: true,
1981 tupleDefinitionName: TupleDefinitions.WixDeltaPatchSymbolPaths.Name,
1982 tupleIdIsPrimaryKey: false
1983 );
1984
1985 public static readonly TableDefinition WixProperty = new TableDefinition(
1986 "WixProperty",
1987 new[]
1988 {
1989 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),
1991 },
1992 unreal: true,
1993 tupleDefinitionName: TupleDefinitions.WixProperty.Name,
1994 tupleIdIsPrimaryKey: false
1995 );
1996
1997 public static readonly TableDefinition WixSimpleReference = new TableDefinition(
1998 "WixSimpleReference",
1999 new[]
2000 {
2001 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),
2003 },
2004 unreal: true,
2005 tupleDefinitionName: TupleDefinitions.WixSimpleReference.Name,
2006 tupleIdIsPrimaryKey: false
2007 );
2008
2009 public static readonly TableDefinition WixSuppressAction = new TableDefinition(
2010 "WixSuppressAction",
2011 new[]
2012 {
2013 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),
2015 },
2016 unreal: true,
2017 tupleDefinitionName: TupleDefinitions.WixSuppressAction.Name,
2018 tupleIdIsPrimaryKey: false
2019 );
2020
2021 public static readonly TableDefinition WixSuppressModularization = new TableDefinition(
2022 "WixSuppressModularization",
2023 new[]
2024 {
2025 new ColumnDefinition("WixSuppressModularization", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2026 },
2027 unreal: true,
2028 tupleDefinitionName: TupleDefinitions.WixSuppressModularization.Name,
2029 tupleIdIsPrimaryKey: true
2030 );
2031
2032 public static readonly TableDefinition WixPatchBaseline = new TableDefinition(
2033 "WixPatchBaseline",
2034 new[]
2035 {
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."),
2037 new ColumnDefinition("DiskId", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2038 new ColumnDefinition("ValidationFlags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Integer, description: "Patch transform validation flags for the associated patch baseline."),
2039 },
2040 unreal: true,
2041 tupleDefinitionName: TupleDefinitions.WixPatchBaseline.Name,
2042 tupleIdIsPrimaryKey: true
2043 );
2044
2045 public static readonly TableDefinition WixPatchRef = new TableDefinition(
2046 "WixPatchRef",
2047 new[]
2048 {
2049 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),
2051 },
2052 unreal: true,
2053 tupleDefinitionName: TupleDefinitions.WixPatchRef.Name,
2054 tupleIdIsPrimaryKey: false
2055 );
2056
2057 public static readonly TableDefinition WixPatchId = new TableDefinition(
2058 "WixPatchId",
2059 new[]
2060 {
2061 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2062 new ColumnDefinition("ClientPatchId", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2063 new ColumnDefinition("OptimizePatchSizeForLargeFiles", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2064 new ColumnDefinition("ApiPatchingSymbolFlags", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 7),
2065 },
2066 unreal: true,
2067 tupleDefinitionName: TupleDefinitions.WixPatchId.Name,
2068 tupleIdIsPrimaryKey: true
2069 );
2070
2071 public static readonly TableDefinition WixPatchTarget = new TableDefinition(
2072 "WixPatchTarget",
2073 new[]
2074 {
2075 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2076 },
2077 unreal: true,
2078 tupleDefinitionName: TupleDefinitions.WixPatchTarget.Name,
2079 tupleIdIsPrimaryKey: false
2080 );
2081
2082 public static readonly TableDefinition WixPatchMetadata = new TableDefinition(
2083 "WixPatchMetadata",
2084 new[]
2085 {
2086 new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2087 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2088 },
2089 unreal: true,
2090 tupleIdIsPrimaryKey: false
2091 );
2092
2093 public static readonly TableDefinition WixUI = new TableDefinition(
2094 "WixUI",
2095 new[]
2096 {
2097 new ColumnDefinition("WixUI", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2098 },
2099 unreal: true,
2100 tupleDefinitionName: TupleDefinitions.WixUI.Name,
2101 tupleIdIsPrimaryKey: true
2102 );
2103
2104 public static readonly TableDefinition WixVariable = new TableDefinition(
2105 "WixVariable",
2106 new[]
2107 {
2108 new ColumnDefinition("WixVariable", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2109 new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2110 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2111 },
2112 unreal: true,
2113 tupleDefinitionName: TupleDefinitions.WixVariable.Name,
2114 tupleIdIsPrimaryKey: true
2115 );
2116
2117 public static readonly TableDefinition WixBundleContainer = new TableDefinition(
2118 "WixBundleContainer",
2119 new[]
2120 {
2121 new ColumnDefinition("WixBundleContainer", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2122 new ColumnDefinition("Name", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2123 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2124 new ColumnDefinition("DownloadUrl", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2125 new ColumnDefinition("Size", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0),
2126 new ColumnDefinition("Hash", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2127 new ColumnDefinition("AttachedContainerIndex", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2128 new ColumnDefinition("WorkingPath", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2129 },
2130 unreal: true,
2131 tupleDefinitionName: TupleDefinitions.WixBundleContainer.Name,
2132 tupleIdIsPrimaryKey: true
2133 );
2134
2135 public static readonly TableDefinition WixBundlePayloadGroup = new TableDefinition(
2136 "WixBundlePayloadGroup",
2137 new[]
2138 {
2139 new ColumnDefinition("WixBundlePayloadGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2140 },
2141 unreal: true,
2142 tupleDefinitionName: TupleDefinitions.WixBundlePayloadGroup.Name,
2143 tupleIdIsPrimaryKey: true
2144 );
2145
2146 public static readonly TableDefinition WixBundlePayload = new TableDefinition(
2147 "WixBundlePayload",
2148 new[]
2149 {
2150 new ColumnDefinition("WixBundlePayload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2151 new ColumnDefinition("Name", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2152 new ColumnDefinition("SourceFile", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2153 new ColumnDefinition("DownloadUrl", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2154 new ColumnDefinition("Compressed", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2),
2155 new ColumnDefinition("UnresolvedSourceFile", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2156 new ColumnDefinition("DisplayName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2157 new ColumnDefinition("Description", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2158 new ColumnDefinition("EnableSignatureValidation", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2159 new ColumnDefinition("FileSize", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647),
2160 new ColumnDefinition("Version", ColumnType.String, 24, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2161 new ColumnDefinition("Hash", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2162 new ColumnDefinition("PublicKey", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2163 new ColumnDefinition("Thumbprint", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2164 new ColumnDefinition("Catalog_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "WixBundleCatalog", keyColumn: 1, description: "Reference to a catalog entry in the WixBundleCatalog table."),
2165 new ColumnDefinition("Container_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown, keyTable: "WixBundleContainer", keyColumn: 1, description: "Reference to a container entry in the WixBundleContainer table."),
2166 new ColumnDefinition("Package", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2167 new ColumnDefinition("ContentFile", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2168 new ColumnDefinition("EmbeddedId", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2169 new ColumnDefinition("LayoutOnly", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2170 new ColumnDefinition("Packaging", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 1, maxValue: 2),
2171 new ColumnDefinition("ParentPackagePayload_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2172 },
2173 unreal: true,
2174 tupleDefinitionName: TupleDefinitions.WixBundlePayload.Name,
2175 tupleIdIsPrimaryKey: true
2176 );
2177
2178 public static readonly TableDefinition WixBundlePatchTargetCode = new TableDefinition(
2179 "WixBundlePatchTargetCode",
2180 new[]
2181 {
2182 new ColumnDefinition("PackageId", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2183 new ColumnDefinition("TargetCode", ColumnType.String, 0, primaryKey: true, nullable: true, ColumnCategory.Unknown),
2184 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647),
2185 },
2186 unreal: true,
2187 tupleDefinitionName: TupleDefinitions.WixBundlePatchTargetCode.Name,
2188 tupleIdIsPrimaryKey: false
2189 );
2190
2191 public static readonly TableDefinition WixBundle = new TableDefinition(
2192 "WixBundle",
2193 new[]
2194 {
2195 new ColumnDefinition("Version", ColumnType.String, 24, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2196 new ColumnDefinition("Copyright", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2197 new ColumnDefinition("Name", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2198 new ColumnDefinition("AboutUrl", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2199 new ColumnDefinition("DisableModify", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2),
2200 new ColumnDefinition("DisableRemove", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2201 new ColumnDefinition("DisableRepair", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2202 new ColumnDefinition("HelpTelephone", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2203 new ColumnDefinition("HelpUrl", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2204 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2205 new ColumnDefinition("UpdateUrl", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2206 new ColumnDefinition("Compressed", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2207 new ColumnDefinition("LogPrefixAndExtension", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2208 new ColumnDefinition("IconSourceFile", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2209 new ColumnDefinition("SplashScreenSourceFile", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2210 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2211 new ColumnDefinition("Tag", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2212 new ColumnDefinition("Platform", ColumnType.String, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2213 new ColumnDefinition("ParentName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2214 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid),
2215 new ColumnDefinition("BundleId", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid, description: "Only valid after binding."),
2216 new ColumnDefinition("ProviderKey", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid, description: "Only valid after binding."),
2217 new ColumnDefinition("PerMachine", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Only valid after binding."),
2218 },
2219 unreal: true,
2220 tupleDefinitionName: TupleDefinitions.WixBundle.Name,
2221 tupleIdIsPrimaryKey: false
2222 );
2223
2224 public static readonly TableDefinition WixApprovedExeForElevation = new TableDefinition(
2225 "WixApprovedExeForElevation",
2226 new[]
2227 {
2228 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2229 new ColumnDefinition("Key", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2230 new ColumnDefinition("Value", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2231 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2232 },
2233 unreal: true,
2234 tupleDefinitionName: TupleDefinitions.WixApprovedExeForElevation.Name,
2235 tupleIdIsPrimaryKey: true
2236 );
2237
2238 public static readonly TableDefinition WixBundleUpdate = new TableDefinition(
2239 "WixBundleUpdate",
2240 new[]
2241 {
2242 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),
2244 },
2245 unreal: true,
2246 tupleDefinitionName: TupleDefinitions.WixBundleUpdate.Name,
2247 tupleIdIsPrimaryKey: false
2248 );
2249
2250 public static readonly TableDefinition WixBootstrapperApplication = new TableDefinition(
2251 "WixBootstrapperApplication",
2252 new[]
2253 {
2254 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2255 },
2256 unreal: true,
2257 tupleDefinitionName: TupleDefinitions.WixBootstrapperApplication.Name,
2258 tupleIdIsPrimaryKey: true
2259 );
2260
2261 public static readonly TableDefinition WixUpdateRegistration = new TableDefinition(
2262 "WixUpdateRegistration",
2263 new[]
2264 {
2265 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2266 new ColumnDefinition("Department", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2267 new ColumnDefinition("ProductFamily", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2268 new ColumnDefinition("Name", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2269 new ColumnDefinition("Classification", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2270 },
2271 unreal: true,
2272 tupleDefinitionName: TupleDefinitions.WixUpdateRegistration.Name,
2273 tupleIdIsPrimaryKey: false
2274 );
2275
2276 public static readonly TableDefinition WixBundleCatalog = new TableDefinition(
2277 "WixBundleCatalog",
2278 new[]
2279 {
2280 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."),
2282 },
2283 unreal: true,
2284 tupleDefinitionName: TupleDefinitions.WixBundleCatalog.Name,
2285 tupleIdIsPrimaryKey: true
2286 );
2287
2288 public static readonly TableDefinition WixChain = new TableDefinition(
2289 "WixChain",
2290 new[]
2291 {
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."),
2293 },
2294 unreal: true,
2295 tupleDefinitionName: TupleDefinitions.WixChain.Name,
2296 tupleIdIsPrimaryKey: false
2297 );
2298
2299 public static readonly TableDefinition WixChainItem = new TableDefinition(
2300 "WixChainItem",
2301 new[]
2302 {
2303 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2304 },
2305 unreal: true,
2306 tupleDefinitionName: TupleDefinitions.WixChainItem.Name,
2307 tupleIdIsPrimaryKey: true
2308 );
2309
2310 public static readonly TableDefinition WixBundleRollbackBoundary = new TableDefinition(
2311 "WixBundleRollbackBoundary",
2312 new[]
2313 {
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."),
2315 new ColumnDefinition("Vital", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2316 new ColumnDefinition("Transaction", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2317 },
2318 unreal: true,
2319 tupleDefinitionName: TupleDefinitions.WixBundleRollbackBoundary.Name,
2320 tupleIdIsPrimaryKey: true
2321 );
2322
2323 public static readonly TableDefinition WixBundlePackageGroup = new TableDefinition(
2324 "WixBundlePackageGroup",
2325 new[]
2326 {
2327 new ColumnDefinition("WixBundlePackageGroup", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2328 },
2329 unreal: true,
2330 tupleDefinitionName: TupleDefinitions.WixBundlePackageGroup.Name,
2331 tupleIdIsPrimaryKey: true
2332 );
2333
2334 public static readonly TableDefinition WixBundlePackage = new TableDefinition(
2335 "WixBundlePackage",
2336 new[]
2337 {
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."),
2339 new ColumnDefinition("Type", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 3),
2340 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."),
2341 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 this package."),
2342 new ColumnDefinition("InstallCondition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2343 new ColumnDefinition("Cache", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2),
2344 new ColumnDefinition("CacheId", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2345 new ColumnDefinition("Vital", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2346 new ColumnDefinition("PerMachine", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2),
2347 new ColumnDefinition("LogPathVariable", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2348 new ColumnDefinition("RollbackLogPathVariable", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2349 new ColumnDefinition("Size", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2350 new ColumnDefinition("InstallSize", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2351 new ColumnDefinition("Version", ColumnType.String, 24, primaryKey: false, nullable: true, ColumnCategory.Version),
2352 new ColumnDefinition("Language", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2353 new ColumnDefinition("DisplayName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2354 new ColumnDefinition("Description", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2355 new ColumnDefinition("RollbackBoundary_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown, keyTable: "WixBundleRollbackBoundary", keyColumn: 1, description: "Reference to a rollback boundary entry in the WixBundleRollbackBoundary table."),
2356 new ColumnDefinition("RollbackBoundaryBackward_", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown, keyTable: "WixBundleRollbackBoundary", keyColumn: 1, description: "Reference to a rollback boundary entry in the WixBundleRollbackBoundary table."),
2357 new ColumnDefinition("x64", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2358 },
2359 unreal: true,
2360 tupleDefinitionName: TupleDefinitions.WixBundlePackage.Name,
2361 tupleIdIsPrimaryKey: true
2362 );
2363
2364 public static readonly TableDefinition WixBundleExePackage = new TableDefinition(
2365 "WixBundleExePackage",
2366 new[]
2367 {
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."),
2369 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 this MSI package."),
2370 new ColumnDefinition("DetectCondition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2371 new ColumnDefinition("InstallCommand", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2372 new ColumnDefinition("RepairCommand", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2373 new ColumnDefinition("UninstallCommand", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2374 new ColumnDefinition("ExeProtocol", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2375 },
2376 unreal: true,
2377 tupleDefinitionName: TupleDefinitions.WixBundleExePackage.Name,
2378 tupleIdIsPrimaryKey: true
2379 );
2380
2381 public static readonly TableDefinition WixBundleMsiPackage = new TableDefinition(
2382 "WixBundleMsiPackage",
2383 new[]
2384 {
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."),
2386 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 this MSI package."),
2387 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid),
2388 new ColumnDefinition("UpgradeCode", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid),
2389 new ColumnDefinition("ProductVersion", ColumnType.String, 20, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2390 new ColumnDefinition("ProductLanguage", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2391 new ColumnDefinition("ProductName", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2392 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2393 },
2394 unreal: true,
2395 tupleDefinitionName: TupleDefinitions.WixBundleMsiPackage.Name,
2396 tupleIdIsPrimaryKey: true
2397 );
2398
2399 public static readonly TableDefinition WixBundleMspPackage = new TableDefinition(
2400 "WixBundleMspPackage",
2401 new[]
2402 {
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."),
2404 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2405 new ColumnDefinition("PatchCode", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid),
2406 new ColumnDefinition("Manufacturer", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2407 new ColumnDefinition("PatchXml", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2408 },
2409 unreal: true,
2410 tupleDefinitionName: TupleDefinitions.WixBundleMspPackage.Name,
2411 tupleIdIsPrimaryKey: true
2412 );
2413
2414 public static readonly TableDefinition WixBundleMsuPackage = new TableDefinition(
2415 "WixBundleMsuPackage",
2416 new[]
2417 {
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."),
2419 new ColumnDefinition("DetectCondition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2420 new ColumnDefinition("MsuKB", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2421 },
2422 unreal: true,
2423 tupleDefinitionName: TupleDefinitions.WixBundleMsuPackage.Name,
2424 tupleIdIsPrimaryKey: true
2425 );
2426
2427 public static readonly TableDefinition WixBundlePackageExitCode = new TableDefinition(
2428 "WixBundlePackageExitCode",
2429 new[]
2430 {
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."),
2432 new ColumnDefinition("Code", ColumnType.Number, 0, primaryKey: true, nullable: true, ColumnCategory.Integer),
2433 new ColumnDefinition("Behavior", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Integer, minValue: 0, maxValue: 3),
2434 },
2435 unreal: true,
2436 tupleDefinitionName: TupleDefinitions.WixBundlePackageExitCode.Name,
2437 tupleIdIsPrimaryKey: false
2438 );
2439
2440 public static readonly TableDefinition WixBundleMsiFeature = new TableDefinition(
2441 "WixBundleMsiFeature",
2442 new[]
2443 {
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."),
2445 new ColumnDefinition("Name", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2446 new ColumnDefinition("Size", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2447 new ColumnDefinition("Parent", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2448 new ColumnDefinition("Title", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2449 new ColumnDefinition("Description", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2450 new ColumnDefinition("Display", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2451 new ColumnDefinition("Level", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2452 new ColumnDefinition("Directory", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2453 new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2454 },
2455 unreal: true,
2456 tupleDefinitionName: TupleDefinitions.WixBundleMsiFeature.Name,
2457 tupleIdIsPrimaryKey: false
2458 );
2459
2460 public static readonly TableDefinition WixBundleMsiProperty = new TableDefinition(
2461 "WixBundleMsiProperty",
2462 new[]
2463 {
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."),
2465 new ColumnDefinition("Name", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2466 new ColumnDefinition("Value", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2467 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2468 },
2469 unreal: true,
2470 tupleDefinitionName: TupleDefinitions.WixBundleMsiProperty.Name,
2471 tupleIdIsPrimaryKey: false
2472 );
2473
2474 public static readonly TableDefinition WixBundleSlipstreamMsp = new TableDefinition(
2475 "WixBundleSlipstreamMsp",
2476 new[]
2477 {
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."),
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."),
2480 },
2481 unreal: true,
2482 tupleDefinitionName: TupleDefinitions.WixBundleSlipstreamMsp.Name,
2483 tupleIdIsPrimaryKey: false
2484 );
2485
2486 public static readonly TableDefinition WixBundlePackageCommandLine = new TableDefinition(
2487 "WixBundlePackageCommandLine",
2488 new[]
2489 {
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."),
2491 new ColumnDefinition("InstallArgument", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2492 new ColumnDefinition("UninstallArgument", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2493 new ColumnDefinition("RepairArgument", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2494 new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2495 },
2496 unreal: true,
2497 tupleDefinitionName: TupleDefinitions.WixBundlePackageCommandLine.Name,
2498 tupleIdIsPrimaryKey: false
2499 );
2500
2501 public static readonly TableDefinition WixRelatedBundle = new TableDefinition(
2502 "WixRelatedBundle",
2503 new[]
2504 {
2505 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),
2507 },
2508 unreal: true,
2509 tupleDefinitionName: TupleDefinitions.WixRelatedBundle.Name,
2510 tupleIdIsPrimaryKey: false
2511 );
2512
2513 public static readonly TableDefinition WixBundleRelatedPackage = new TableDefinition(
2514 "WixBundleRelatedPackage",
2515 new[]
2516 {
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."),
2518 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2519 new ColumnDefinition("MinVersion", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2520 new ColumnDefinition("MaxVersion", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2521 new ColumnDefinition("Languages", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2522 new ColumnDefinition("MinInclusive", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2523 new ColumnDefinition("MaxInclusive", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2524 new ColumnDefinition("LangInclusive", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2525 new ColumnDefinition("OnlyDetect", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2526 },
2527 unreal: true,
2528 tupleDefinitionName: TupleDefinitions.WixBundleRelatedPackage.Name,
2529 tupleIdIsPrimaryKey: false
2530 );
2531
2532 public static readonly TableDefinition WixBundleVariable = new TableDefinition(
2533 "WixBundleVariable",
2534 new[]
2535 {
2536 new ColumnDefinition("WixBundleVariable", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2537 new ColumnDefinition("Value", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2538 new ColumnDefinition("Type", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2539 new ColumnDefinition("Hidden", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2540 new ColumnDefinition("Persisted", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2541 },
2542 unreal: true,
2543 tupleDefinitionName: TupleDefinitions.WixBundleVariable.Name,
2544 tupleIdIsPrimaryKey: true
2545 );
2546
2547 public static readonly TableDefinition WixBundleProperties = new TableDefinition(
2548 "WixBundleProperties",
2549 new[]
2550 {
2551 new ColumnDefinition("DisplayName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2552 new ColumnDefinition("LogPathVariable", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2553 new ColumnDefinition("Compressed", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2554 new ColumnDefinition("Id", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2555 new ColumnDefinition("UpgradeCode", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2556 new ColumnDefinition("PerMachine", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2557 },
2558 unreal: true,
2559 tupleIdIsPrimaryKey: false
2560 );
2561
2562 public static readonly TableDefinition WixPackageFeatureInfo = new TableDefinition(
2563 "WixPackageFeatureInfo",
2564 new[]
2565 {
2566 new ColumnDefinition("Package", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2567 new ColumnDefinition("Feature", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2568 new ColumnDefinition("Size", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2569 new ColumnDefinition("Parent", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2570 new ColumnDefinition("Title", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2571 new ColumnDefinition("Description", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2572 new ColumnDefinition("Display", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2573 new ColumnDefinition("Level", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2574 new ColumnDefinition("Directory", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2575 new ColumnDefinition("Attributes", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2576 },
2577 unreal: true,
2578 tupleIdIsPrimaryKey: false
2579 );
2580
2581 public static readonly TableDefinition WixPackageProperties = new TableDefinition(
2582 "WixPackageProperties",
2583 new[]
2584 {
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."),
2586 new ColumnDefinition("Vital", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 1),
2587 new ColumnDefinition("DisplayName", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2588 new ColumnDefinition("Description", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2589 new ColumnDefinition("DownloadSize", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2590 new ColumnDefinition("PackageSize", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2591 new ColumnDefinition("InstalledSize", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2592 new ColumnDefinition("PackageType", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2593 new ColumnDefinition("Permanent", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2594 new ColumnDefinition("LogPathVariable", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2595 new ColumnDefinition("RollbackLogPathVariable", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2596 new ColumnDefinition("Compressed", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2597 new ColumnDefinition("DisplayInternalUI", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2598 new ColumnDefinition("ProductCode", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2599 new ColumnDefinition("UpgradeCode", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2600 new ColumnDefinition("Version", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2601 new ColumnDefinition("InstallCondition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2602 new ColumnDefinition("Cache", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2),
2603 },
2604 unreal: true,
2605 tupleIdIsPrimaryKey: true
2606 );
2607
2608 public static readonly TableDefinition WixPayloadProperties = new TableDefinition(
2609 "WixPayloadProperties",
2610 new[]
2611 {
2612 new ColumnDefinition("Payload", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2613 new ColumnDefinition("Package", ColumnType.String, 0, primaryKey: true, nullable: true, ColumnCategory.Identifier, keyTable: "WixBundlePackage", keyColumn: 1, description: "Reference to a chain package entry in the WixBundlePackage table."),
2614 new ColumnDefinition("Container", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown, keyTable: "WixBundleContainer", keyColumn: 1, description: "Reference to a container entry in the WixBundleContainer table."),
2615 new ColumnDefinition("Name", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2616 new ColumnDefinition("Size", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2617 new ColumnDefinition("DownloadUrl", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2618 new ColumnDefinition("LayoutOnly", ColumnType.String, 3, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2619 },
2620 unreal: true,
2621 tupleIdIsPrimaryKey: false
2622 );
2623
2624 public static readonly TableDefinition Streams = new TableDefinition(
2625 "_Streams",
2626 new[]
2627 {
2628 new ColumnDefinition("Name", ColumnType.String, 62, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2629 new ColumnDefinition("Data", ColumnType.Object, 0, primaryKey: false, nullable: true, ColumnCategory.Unknown),
2630 },
2631 unreal: true,
2632 tupleIdIsPrimaryKey: false
2633 );
2634
2635 public static readonly TableDefinition SummaryInformation = new TableDefinition(
2636 "_SummaryInformation",
2637 new[]
2638 {
2639 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),
2641 },
2642 tupleDefinitionName: TupleDefinitions.SummaryInformation.Name,
2643 tupleIdIsPrimaryKey: false
2644 );
2645
2646 public static readonly TableDefinition TransformView = new TableDefinition(
2647 "_TransformView",
2648 new[]
2649 {
2650 new ColumnDefinition("Table", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2651 new ColumnDefinition("Column", ColumnType.String, 0, primaryKey: true, nullable: false, ColumnCategory.Unknown),
2652 new ColumnDefinition("Row", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2653 new ColumnDefinition("Data", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2654 new ColumnDefinition("Current", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Unknown),
2655 },
2656 unreal: true,
2657 tupleIdIsPrimaryKey: false
2658 );
2659
2660 public static readonly TableDefinition Validation = new TableDefinition(
2661 "_Validation",
2662 new[]
2663 {
2664 new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of table"),
2665 new ColumnDefinition("Column", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of column"),
2666 new ColumnDefinition("Nullable", ColumnType.String, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "Y;N", description: "Whether the column is nullable"),
2667 new ColumnDefinition("MinValue", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Minimum value allowed"),
2668 new ColumnDefinition("MaxValue", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Maximum value allowed"),
2669 new ColumnDefinition("KeyTable", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "For foreign key, Name of table to which data must link"),
2670 new ColumnDefinition("KeyColumn", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 1, maxValue: 32, description: "Column to which foreign key connects"),
2671 new ColumnDefinition("Category", ColumnType.String, 32, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "Text;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;CustomSource;Property;Cabinet;Shortcut;FormattedSDDLText;Integer;DoubleInteger;TimeDate;DefaultDir", description: "String category"),
2672 new ColumnDefinition("Set", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Set of values that are permitted"),
2673 new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Description of column"),
2674 },
2675 tupleIdIsPrimaryKey: false
2676 );
2677
2678 public static readonly TableDefinition WixSearch = new TableDefinition(
2679 "WixSearch",
2680 new[]
2681 {
2682 new ColumnDefinition("WixSearch", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier),
2683 new ColumnDefinition("Variable", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier),
2684 new ColumnDefinition("Condition", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Condition),
2685 },
2686 unreal: true,
2687 tupleDefinitionName: TupleDefinitions.WixSearch.Name,
2688 tupleIdIsPrimaryKey: true
2689 );
2690
2691 public static readonly TableDefinition WixSearchRelation = new TableDefinition(
2692 "WixSearchRelation",
2693 new[]
2694 {
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."),
2696 new ColumnDefinition("ParentId_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixSearch", keyColumn: 1, description: "Reference to a WixSearch entry in the WixSearch table."),
2697 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2698 },
2699 unreal: true,
2700 tupleDefinitionName: TupleDefinitions.WixSearchRelation.Name,
2701 tupleIdIsPrimaryKey: true
2702 );
2703
2704 public static readonly TableDefinition WixFileSearch = new TableDefinition(
2705 "WixFileSearch",
2706 new[]
2707 {
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."),
2709 new ColumnDefinition("Path", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text),
2710 new ColumnDefinition("MinVersion", ColumnType.String, 24, primaryKey: false, nullable: true, ColumnCategory.Version),
2711 new ColumnDefinition("MaxVersion", ColumnType.String, 24, primaryKey: false, nullable: true, ColumnCategory.Version),
2712 new ColumnDefinition("MinSize", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.DoubleInteger),
2713 new ColumnDefinition("MaxSize", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.DoubleInteger),
2714 new ColumnDefinition("MinDate", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.DoubleInteger),
2715 new ColumnDefinition("MaxDate", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.DoubleInteger),
2716 new ColumnDefinition("Languages", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text),
2717 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2718 },
2719 unreal: true,
2720 tupleDefinitionName: TupleDefinitions.WixFileSearch.Name,
2721 tupleIdIsPrimaryKey: true
2722 );
2723
2724 public static readonly TableDefinition WixRegistrySearch = new TableDefinition(
2725 "WixRegistrySearch",
2726 new[]
2727 {
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."),
2729 new ColumnDefinition("Root", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2730 new ColumnDefinition("Key", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text),
2731 new ColumnDefinition("Value", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text),
2732 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2733 },
2734 unreal: true,
2735 tupleDefinitionName: TupleDefinitions.WixRegistrySearch.Name,
2736 tupleIdIsPrimaryKey: true
2737 );
2738
2739 public static readonly TableDefinition WixComponentSearch = new TableDefinition(
2740 "WixComponentSearch",
2741 new[]
2742 {
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."),
2744 new ColumnDefinition("Guid", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid),
2745 new ColumnDefinition("ProductCode", ColumnType.String, 38, primaryKey: false, nullable: true, ColumnCategory.Guid),
2746 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2747 },
2748 unreal: true,
2749 tupleDefinitionName: TupleDefinitions.WixComponentSearch.Name,
2750 tupleIdIsPrimaryKey: true
2751 );
2752
2753 public static readonly TableDefinition WixProductSearch = new TableDefinition(
2754 "WixProductSearch",
2755 new[]
2756 {
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."),
2758 new ColumnDefinition("Guid", ColumnType.String, 38, primaryKey: false, nullable: false, ColumnCategory.Guid),
2759 new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.DoubleInteger),
2760 },
2761 unreal: true,
2762 tupleDefinitionName: TupleDefinitions.WixProductSearch.Name,
2763 tupleIdIsPrimaryKey: true
2764 );
2765
2766 public static readonly TableDefinition[] All = new[]
2767 {
2768 ActionText,
2769 AdminExecuteSequence,
2770 Condition,
2771 AdminUISequence,
2772 AdvtExecuteSequence,
2773 AdvtUISequence,
2774 AppId,
2775 AppSearch,
2776 Property,
2777 BBControl,
2778 Billboard,
2779 Feature,
2780 Binary,
2781 BindImage,
2782 File,
2783 CCPSearch,
2784 CheckBox,
2785 Class,
2786 Component,
2787 Icon,
2788 ProgId,
2789 ComboBox,
2790 CompLocator,
2791 Complus,
2792 Directory,
2793 Control,
2794 Dialog,
2795 ControlCondition,
2796 ControlEvent,
2797 CreateFolder,
2798 CustomAction,
2799 DrLocator,
2800 DuplicateFile,
2801 Environment,
2802 Error,
2803 EventMapping,
2804 Extension,
2805 MIME,
2806 FeatureComponents,
2807 FileSFPCatalog,
2808 SFPCatalog,
2809 Font,
2810 IniFile,
2811 IniLocator,
2812 InstallExecuteSequence,
2813 InstallUISequence,
2814 IsolatedComponent,
2815 LaunchCondition,
2816 ListBox,
2817 ListView,
2818 LockPermissions,
2819 MsiLockPermissionsEx,
2820 Media,
2821 MoveFile,
2822 MsiAssembly,
2823 MsiAssemblyName,
2824 MsiDigitalCertificate,
2825 MsiDigitalSignature,
2826 MsiEmbeddedChainer,
2827 MsiEmbeddedUI,
2828 MsiFileHash,
2829 MsiPackageCertificate,
2830 MsiPatchCertificate,
2831 MsiPatchHeaders,
2832 PatchMetadata,
2833 MsiPatchMetadata,
2834 MsiPatchOldAssemblyFile,
2835 MsiPatchOldAssemblyName,
2836 PatchSequence,
2837 MsiPatchSequence,
2838 ODBCAttribute,
2839 ODBCDriver,
2840 ODBCDataSource,
2841 ODBCSourceAttribute,
2842 ODBCTranslator,
2843 Patch,
2844 PatchPackage,
2845 PublishComponent,
2846 RadioButton,
2847 Registry,
2848 RegLocator,
2849 RemoveFile,
2850 RemoveIniFile,
2851 RemoveRegistry,
2852 ReserveCost,
2853 SelfReg,
2854 ServiceControl,
2855 ServiceInstall,
2856 MsiServiceConfig,
2857 MsiServiceConfigFailureActions,
2858 Shortcut,
2859 MsiShortcutProperty,
2860 Signature,
2861 TextStyle,
2862 TypeLib,
2863 UIText,
2864 Upgrade,
2865 Verb,
2866 ModuleAdminExecuteSequence,
2867 ModuleAdminUISequence,
2868 ModuleAdvtExecuteSequence,
2869 ModuleAdvtUISequence,
2870 ModuleComponents,
2871 ModuleSignature,
2872 ModuleConfiguration,
2873 ModuleDependency,
2874 ModuleExclusion,
2875 ModuleIgnoreTable,
2876 ModuleInstallExecuteSequence,
2877 ModuleInstallUISequence,
2878 ModuleSubstitution,
2879 Properties,
2880 ImageFamilies,
2881 UpgradedImages,
2882 UpgradedFilesToIgnore,
2883 UpgradedFiles_OptionalData,
2884 TargetImages,
2885 TargetFiles_OptionalData,
2886 FamilyFileRanges,
2887 ExternalFiles,
2888 WixAction,
2889 WixBBControl,
2890 WixComplexReference,
2891 WixComponentGroup,
2892 WixControl,
2893 WixCustomRow,
2894 WixCustomTable,
2895 WixDirectory,
2896 WixEnsureTable,
2897 WixFeatureGroup,
2898 WixPatchFamilyGroup,
2899 WixGroup,
2900 WixFeatureModules,
2901 WixFile,
2902 WixBindUpdatedFiles,
2903 WixBuildInfo,
2904 WixFragment,
2905 WixInstanceComponent,
2906 WixInstanceTransforms,
2907 WixMedia,
2908 WixMediaTemplate,
2909 WixMerge,
2910 WixOrdering,
2911 WixDeltaPatchFile,
2912 WixDeltaPatchSymbolPaths,
2913 WixProperty,
2914 WixSimpleReference,
2915 WixSuppressAction,
2916 WixSuppressModularization,
2917 WixPatchBaseline,
2918 WixPatchRef,
2919 WixPatchId,
2920 WixPatchTarget,
2921 WixPatchMetadata,
2922 WixUI,
2923 WixVariable,
2924 WixBundleContainer,
2925 WixBundlePayloadGroup,
2926 WixBundlePayload,
2927 WixBundlePatchTargetCode,
2928 WixBundle,
2929 WixApprovedExeForElevation,
2930 WixBundleUpdate,
2931 WixBootstrapperApplication,
2932 WixUpdateRegistration,
2933 WixBundleCatalog,
2934 WixChain,
2935 WixChainItem,
2936 WixBundleRollbackBoundary,
2937 WixBundlePackageGroup,
2938 WixBundlePackage,
2939 WixBundleExePackage,
2940 WixBundleMsiPackage,
2941 WixBundleMspPackage,
2942 WixBundleMsuPackage,
2943 WixBundlePackageExitCode,
2944 WixBundleMsiFeature,
2945 WixBundleMsiProperty,
2946 WixBundleSlipstreamMsp,
2947 WixBundlePackageCommandLine,
2948 WixRelatedBundle,
2949 WixBundleRelatedPackage,
2950 WixBundleVariable,
2951 WixBundleProperties,
2952 WixPackageFeatureInfo,
2953 WixPackageProperties,
2954 WixPayloadProperties,
2955 Streams,
2956 SummaryInformation,
2957 TransformView,
2958 Validation,
2959 WixSearch,
2960 WixSearchRelation,
2961 WixFileSearch,
2962 WixRegistrySearch,
2963 WixComponentSearch,
2964 WixProductSearch,
2965 };
2966 }
2967}