aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/DependencyTableDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/DependencyTableDefinitions.cs')
-rw-r--r--src/wixext/DependencyTableDefinitions.cs57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/wixext/DependencyTableDefinitions.cs b/src/wixext/DependencyTableDefinitions.cs
new file mode 100644
index 00000000..bc3e880a
--- /dev/null
+++ b/src/wixext/DependencyTableDefinitions.cs
@@ -0,0 +1,57 @@
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.Dependency
4{
5 using WixToolset.Data;
6 using WixToolset.Data.WindowsInstaller;
7
8 public static class DependencyTableDefinitions
9 {
10 public static readonly TableDefinition WixDependencyProvider = new TableDefinition(
11 "WixDependencyProvider",
12 new[]
13 {
14 new ColumnDefinition("WixDependencyProvider", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The non-localized primary key for the table.", modularizeType: ColumnModularizeType.Column),
15 new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "The foreign key into the Component table used to determine install state.", modularizeType: ColumnModularizeType.Column),
16 new ColumnDefinition("ProviderKey", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The name of the registry key that holds the provider identity."),
17 new ColumnDefinition("Version", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Version, description: "The version of the package."),
18 new ColumnDefinition("DisplayName", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "The display name of the package."),
19 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."),
20 },
21 tupleDefinitionName: TupleDefinitions.WixDependencyProvider.Name,
22 tupleIdIsPrimaryKey: true
23 );
24
25 public static readonly TableDefinition WixDependency = new TableDefinition(
26 "WixDependency",
27 new[]
28 {
29 new ColumnDefinition("WixDependency", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The non-localized primary key for the table.", modularizeType: ColumnModularizeType.Column),
30 new ColumnDefinition("ProviderKey", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The name of the registry key that holds the provider identity."),
31 new ColumnDefinition("MinVersion", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Version, description: "The minimum version of the provider supported."),
32 new ColumnDefinition("MaxVersion", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Version, description: "The maximum version of the provider supported."),
33 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."),
34 },
35 tupleDefinitionName: DependencyTupleDefinitions.WixDependency.Name,
36 tupleIdIsPrimaryKey: true
37 );
38
39 public static readonly TableDefinition WixDependencyRef = new TableDefinition(
40 "WixDependencyRef",
41 new[]
42 {
43 new ColumnDefinition("WixDependencyProvider_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixDependencyProvider", keyColumn: 1, description: "Foreign key into the Component table.", modularizeType: ColumnModularizeType.Column),
44 new ColumnDefinition("WixDependency_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "WixDependency", keyColumn: 1, description: "Foreign key into the WixDependency table.", modularizeType: ColumnModularizeType.Column),
45 },
46 tupleDefinitionName: DependencyTupleDefinitions.WixDependencyRef.Name,
47 tupleIdIsPrimaryKey: false
48 );
49
50 public static readonly TableDefinition[] All = new[]
51 {
52 WixDependencyProvider,
53 WixDependency,
54 WixDependencyRef,
55 };
56 }
57}