diff options
Diffstat (limited to 'src/wixext/UtilTableDefinitions.cs')
-rw-r--r-- | src/wixext/UtilTableDefinitions.cs | 300 |
1 files changed, 300 insertions, 0 deletions
diff --git a/src/wixext/UtilTableDefinitions.cs b/src/wixext/UtilTableDefinitions.cs new file mode 100644 index 00000000..78f21ebc --- /dev/null +++ b/src/wixext/UtilTableDefinitions.cs | |||
@@ -0,0 +1,300 @@ | |||
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 | namespace WixToolset.Util | ||
4 | { | ||
5 | using WixToolset.Data.WindowsInstaller; | ||
6 | |||
7 | public static class UtilTableDefinitions | ||
8 | { | ||
9 | public static readonly TableDefinition Wix4CloseApplication = new TableDefinition( | ||
10 | "Wix4CloseApplication", | ||
11 | new[] | ||
12 | { | ||
13 | new ColumnDefinition("Wix4CloseApplication", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token in table.", modularizeType: ColumnModularizeType.Column), | ||
14 | new ColumnDefinition("Target", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of executable to ensure is closed.", modularizeType: ColumnModularizeType.Property), | ||
15 | new ColumnDefinition("Description", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Description string displayed to user when executable is in use.", modularizeType: ColumnModularizeType.Property, forceLocalizable: true), | ||
16 | new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the closing.", modularizeType: ColumnModularizeType.Condition, forceLocalizable: true), | ||
17 | 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."), | ||
18 | new ColumnDefinition("Sequence", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 1, maxValue: 2147483647, description: "Sequence to order the closings by."), | ||
19 | new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, description: "Optional property that is set to the number of running instances of the app.", modularizeType: ColumnModularizeType.Property, forceLocalizable: true), | ||
20 | new ColumnDefinition("TerminateExitCode", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Exit code to return from a terminated application."), | ||
21 | new ColumnDefinition("Timeout", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 1, maxValue: 2147483647, description: "Timeout in milliseconds before scheduling restart or terminating application."), | ||
22 | }, | ||
23 | tupleDefinitionName: UtilTupleDefinitions.WixCloseApplication.Name, | ||
24 | tupleIdIsPrimaryKey: true | ||
25 | ); | ||
26 | |||
27 | public static readonly TableDefinition Wix4RemoveFolderEx = new TableDefinition( | ||
28 | "Wix4RemoveFolderEx", | ||
29 | new[] | ||
30 | { | ||
31 | new ColumnDefinition("Wix4RemoveFolderEx", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Identifier for the WixRemoveFolderEx row in the package.", modularizeType: ColumnModularizeType.Column), | ||
32 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
33 | new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "Name of Property that contains the root of the directory tree to remove.", modularizeType: ColumnModularizeType.Property), | ||
34 | new ColumnDefinition("InstallMode", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 3, description: "1 == Remove only when the associated component is being installed (msiInstallStateLocal or msiInstallStateSource), 2 == Remove only when the associated component is being removed (msiInstallStateAbsent), 3 = Remove in either of the above cases."), | ||
35 | }, | ||
36 | tupleDefinitionName: UtilTupleDefinitions.WixRemoveFolderEx.Name, | ||
37 | tupleIdIsPrimaryKey: true | ||
38 | ); | ||
39 | |||
40 | public static readonly TableDefinition Wix4RestartResource = new TableDefinition( | ||
41 | "Wix4RestartResource", | ||
42 | new[] | ||
43 | { | ||
44 | new ColumnDefinition("Wix4RestartResource", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized identifier.", modularizeType: ColumnModularizeType.Column), | ||
45 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table used to determine install state.", modularizeType: ColumnModularizeType.Column), | ||
46 | new ColumnDefinition("Resource", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The resource to be registered with the Restart Manager.", modularizeType: ColumnModularizeType.Property), | ||
47 | new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "A 32-bit word that specifies the type of resource and flags used for processing."), | ||
48 | }, | ||
49 | tupleDefinitionName: UtilTupleDefinitions.WixRestartResource.Name, | ||
50 | tupleIdIsPrimaryKey: true | ||
51 | ); | ||
52 | |||
53 | public static readonly TableDefinition Wix4FileShare = new TableDefinition( | ||
54 | "Wix4FileShare", | ||
55 | new[] | ||
56 | { | ||
57 | new ColumnDefinition("Wix4FileShare", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized identifier", modularizeType: ColumnModularizeType.Column), | ||
58 | new ColumnDefinition("ShareName", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The actual share name used"), | ||
59 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
60 | new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Description string displayed for the file share"), | ||
61 | new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Foreign key referencing directory that the share is created on", modularizeType: ColumnModularizeType.Column), | ||
62 | }, | ||
63 | tupleDefinitionName: UtilTupleDefinitions.FileShare.Name, | ||
64 | tupleIdIsPrimaryKey: true | ||
65 | ); | ||
66 | |||
67 | public static readonly TableDefinition Wix4FileSharePermissions = new TableDefinition( | ||
68 | "Wix4FileSharePermissions", | ||
69 | new[] | ||
70 | { | ||
71 | new ColumnDefinition("Wix4FileShare_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "FileShare", keyColumn: 1, description: "FileShare that these premissions are to be applied to.", modularizeType: ColumnModularizeType.Column), | ||
72 | new ColumnDefinition("Wix4User_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Wix4User", description: "User that these premissions are to apply to.", modularizeType: ColumnModularizeType.Column), | ||
73 | new ColumnDefinition("Permissions", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Permissions int, as in EXPLICIT_ACCESS.grfAccessPermissions in MSDN"), | ||
74 | }, | ||
75 | tupleDefinitionName: UtilTupleDefinitions.FileSharePermissions.Name, | ||
76 | tupleIdIsPrimaryKey: false | ||
77 | ); | ||
78 | |||
79 | public static readonly TableDefinition Wix4Group = new TableDefinition( | ||
80 | "Wix4Group", | ||
81 | new[] | ||
82 | { | ||
83 | new ColumnDefinition("Wix4Group", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
84 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Text, keyTable: "Component", keyColumn: 1, description: "Foreign key, Component used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
85 | new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Group name", modularizeType: ColumnModularizeType.Property), | ||
86 | new ColumnDefinition("Domain", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Group domain", modularizeType: ColumnModularizeType.Property), | ||
87 | }, | ||
88 | tupleDefinitionName: UtilTupleDefinitions.Group.Name, | ||
89 | tupleIdIsPrimaryKey: true | ||
90 | ); | ||
91 | |||
92 | public static readonly TableDefinition Wix4InternetShortcut = new TableDefinition( | ||
93 | "Wix4InternetShortcut", | ||
94 | new[] | ||
95 | { | ||
96 | new ColumnDefinition("Wix4InternetShortcut", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token in table.", modularizeType: ColumnModularizeType.Column), | ||
97 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Text, keyTable: "Component", keyColumn: 1, description: "Foreign key, Component used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
98 | new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Foreign key referencing directory that the shortcut is created in", modularizeType: ColumnModularizeType.Column), | ||
99 | new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Name used for shortcut.", modularizeType: ColumnModularizeType.Property), | ||
100 | new ColumnDefinition("Target", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "URL target."), | ||
101 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Attribute flags that control how the shortcut is created."), | ||
102 | new ColumnDefinition("IconFile", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Icon file for shortcut"), | ||
103 | new ColumnDefinition("IconIndex", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Index of the icon being referenced."), | ||
104 | }, | ||
105 | tupleDefinitionName: UtilTupleDefinitions.WixInternetShortcut.Name, | ||
106 | tupleIdIsPrimaryKey: true | ||
107 | ); | ||
108 | |||
109 | public static readonly TableDefinition Wix4PerformanceCategory = new TableDefinition( | ||
110 | "Wix4PerformanceCategory", | ||
111 | new[] | ||
112 | { | ||
113 | new ColumnDefinition("Wix4PerformanceCategory", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token in table.", modularizeType: ColumnModularizeType.Column), | ||
114 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Component used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
115 | new ColumnDefinition("Name", ColumnType.String, 80, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Name of the performance counter category."), | ||
116 | new ColumnDefinition("IniData", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Data that goes into the performance counter .ini file."), | ||
117 | new ColumnDefinition("ConstantData", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Data that goes into the performance counter .h file."), | ||
118 | }, | ||
119 | tupleDefinitionName: UtilTupleDefinitions.PerformanceCategory.Name, | ||
120 | tupleIdIsPrimaryKey: true | ||
121 | ); | ||
122 | |||
123 | public static readonly TableDefinition Wix4Perfmon = new TableDefinition( | ||
124 | "Wix4Perfmon", | ||
125 | new[] | ||
126 | { | ||
127 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Component used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
128 | new ColumnDefinition("File", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Name of .INI file", modularizeType: ColumnModularizeType.Property), | ||
129 | new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Service name in registry"), | ||
130 | }, | ||
131 | tupleDefinitionName: UtilTupleDefinitions.Perfmon.Name, | ||
132 | tupleIdIsPrimaryKey: false | ||
133 | ); | ||
134 | |||
135 | public static readonly TableDefinition Wix4PerfmonManifest = new TableDefinition( | ||
136 | "Wix4PerfmonManifest", | ||
137 | new[] | ||
138 | { | ||
139 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Component used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
140 | new ColumnDefinition("File", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Name of perfmon manifest file", modularizeType: ColumnModularizeType.Property), | ||
141 | new ColumnDefinition("ResourceFileDirectory", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "The path of the Resource File Directory"), | ||
142 | }, | ||
143 | tupleDefinitionName: UtilTupleDefinitions.PerfmonManifest.Name, | ||
144 | tupleIdIsPrimaryKey: false | ||
145 | ); | ||
146 | |||
147 | public static readonly TableDefinition Wix4EventManifest = new TableDefinition( | ||
148 | "Wix4EventManifest", | ||
149 | new[] | ||
150 | { | ||
151 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Component used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
152 | new ColumnDefinition("File", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Name of event manifest file", modularizeType: ColumnModularizeType.Property), | ||
153 | }, | ||
154 | tupleDefinitionName: UtilTupleDefinitions.EventManifest.Name, | ||
155 | tupleIdIsPrimaryKey: false | ||
156 | ); | ||
157 | |||
158 | public static readonly TableDefinition Wix4SecureObject = new TableDefinition( | ||
159 | "Wix4SecureObject", | ||
160 | new[] | ||
161 | { | ||
162 | new ColumnDefinition("Wix4SecureObject", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token in Table", modularizeType: ColumnModularizeType.Column), | ||
163 | new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Table SecureObject should be securing"), | ||
164 | new ColumnDefinition("Domain", ColumnType.String, 255, primaryKey: true, nullable: true, ColumnCategory.Text, description: "Domain half of user account to secure", modularizeType: ColumnModularizeType.Property), | ||
165 | new ColumnDefinition("User", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "User name half of user account to secure", modularizeType: ColumnModularizeType.Property), | ||
166 | new ColumnDefinition("Permission", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Permissions to grant to User"), | ||
167 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
168 | }, | ||
169 | tupleDefinitionName: UtilTupleDefinitions.SecureObjects.Name, | ||
170 | tupleIdIsPrimaryKey: false | ||
171 | ); | ||
172 | |||
173 | public static readonly TableDefinition Wix4ServiceConfig = new TableDefinition( | ||
174 | "Wix4ServiceConfig", | ||
175 | new[] | ||
176 | { | ||
177 | new ColumnDefinition("ServiceName", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Primary key, non-localized token"), | ||
178 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key, Component used to determine install state ", modularizeType: ColumnModularizeType.Column), | ||
179 | new ColumnDefinition("NewService", ColumnType.Number, 1, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 1, description: "Whether the affected service is being installed or already exists."), | ||
180 | new ColumnDefinition("FirstFailureActionType", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Text, description: "First failure action type for configured service to take."), | ||
181 | new ColumnDefinition("SecondFailureActionType", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Second failure action type for configured service to take."), | ||
182 | new ColumnDefinition("ThirdFailureActionType", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Third failure action type for configured service to take."), | ||
183 | new ColumnDefinition("ResetPeriodInDays", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Integer, minValue: 0, description: "Period after which to reset the failure count for the service."), | ||
184 | new ColumnDefinition("RestartServiceDelayInSeconds", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Integer, minValue: 0, description: "Period after which to restart the service after a given failure."), | ||
185 | new ColumnDefinition("ProgramCommandLine", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Command line for program to run if failure action is RUN_COMMAND."), | ||
186 | new ColumnDefinition("RebootMessage", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Message to show to users when rebooting if failure action is REBOOT."), | ||
187 | }, | ||
188 | tupleDefinitionName: UtilTupleDefinitions.ServiceConfig.Name, | ||
189 | tupleIdIsPrimaryKey: false | ||
190 | ); | ||
191 | |||
192 | public static readonly TableDefinition Wix4TouchFile = new TableDefinition( | ||
193 | "Wix4TouchFile", | ||
194 | new[] | ||
195 | { | ||
196 | new ColumnDefinition("Wix4TouchFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Identifier for the Wix4TouchFile row in the package.", modularizeType: ColumnModularizeType.Column), | ||
197 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key into the Component table used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
198 | new ColumnDefinition("Path", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Formatted column that resolves to the path to touch.", modularizeType: ColumnModularizeType.Property), | ||
199 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 63, description: "1 == Touch only when the associated component is being installed, 2 == Touch only when the associated component is being repaired , 4 == Touch only when the associated component is being removed, 16 = path is in 64-bit location, 32 = touching the file is vital."), | ||
200 | }, | ||
201 | tupleDefinitionName: UtilTupleDefinitions.WixTouchFile.Name, | ||
202 | tupleIdIsPrimaryKey: true | ||
203 | ); | ||
204 | |||
205 | public static readonly TableDefinition Wix4User = new TableDefinition( | ||
206 | "Wix4User", | ||
207 | new[] | ||
208 | { | ||
209 | new ColumnDefinition("Wix4User", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
210 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Text, keyTable: "Component", keyColumn: 1, description: "Foreign key, Component used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
211 | new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "User name", modularizeType: ColumnModularizeType.Property), | ||
212 | new ColumnDefinition("Domain", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "User domain", modularizeType: ColumnModularizeType.Property), | ||
213 | new ColumnDefinition("Password", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "User password", modularizeType: ColumnModularizeType.Property), | ||
214 | new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 65535, description: "Attributes describing how to create the user"), | ||
215 | }, | ||
216 | tupleDefinitionName: UtilTupleDefinitions.User.Name, | ||
217 | tupleIdIsPrimaryKey: true | ||
218 | ); | ||
219 | |||
220 | public static readonly TableDefinition Wix4UserGroup = new TableDefinition( | ||
221 | "Wix4UserGroup", | ||
222 | new[] | ||
223 | { | ||
224 | new ColumnDefinition("Wix4User_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Wix4User", keyColumn: 1, description: "User to be joined to a Group.", modularizeType: ColumnModularizeType.Column), | ||
225 | new ColumnDefinition("Wix4Group_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Wix4Group", keyColumn: 1, description: "Group to join User to.", modularizeType: ColumnModularizeType.Column), | ||
226 | }, | ||
227 | tupleDefinitionName: UtilTupleDefinitions.UserGroup.Name, | ||
228 | tupleIdIsPrimaryKey: false | ||
229 | ); | ||
230 | |||
231 | public static readonly TableDefinition Wix4XmlFile = new TableDefinition( | ||
232 | "Wix4XmlFile", | ||
233 | new[] | ||
234 | { | ||
235 | new ColumnDefinition("Wix4XmlFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), | ||
236 | new ColumnDefinition("File", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .XML file in which to write the information", modularizeType: ColumnModularizeType.Property), | ||
237 | new ColumnDefinition("ElementPath", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .XML file element to modify.", modularizeType: ColumnModularizeType.Property), | ||
238 | new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The .XML file node to set/add in the element.", modularizeType: ColumnModularizeType.Property), | ||
239 | new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value to be written.", modularizeType: ColumnModularizeType.Property), | ||
240 | new ColumnDefinition("Flags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 70143, description: "Flags"), | ||
241 | 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 .XML value.", modularizeType: ColumnModularizeType.Column), | ||
242 | new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Order to execute the XML modifications."), | ||
243 | }, | ||
244 | tupleDefinitionName: UtilTupleDefinitions.XmlFile.Name, | ||
245 | tupleIdIsPrimaryKey: true | ||
246 | ); | ||
247 | |||
248 | public static readonly TableDefinition Wix4XmlConfig = new TableDefinition( | ||
249 | "Wix4XmlConfig", | ||
250 | new[] | ||
251 | { | ||
252 | new ColumnDefinition("Wix4XmlConfig", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), | ||
253 | new ColumnDefinition("File", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .XML file in which to write the information", modularizeType: ColumnModularizeType.Property), | ||
254 | new ColumnDefinition("ElementPath", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The XPATH query for an element to modify or add children to. Can also be a foreign key reference to another Wix4XmlConfig row if no attributes are set and the row referenced is a create element row.", modularizeType: ColumnModularizeType.Property), | ||
255 | new ColumnDefinition("VerifyPath", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The XPATH query run from ElementPath to verify whether a repair is necessary. Also used to uninstall.", modularizeType: ColumnModularizeType.Property), | ||
256 | new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The .XML file node to set/add in the element.", modularizeType: ColumnModularizeType.Property), | ||
257 | new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value to be written.", modularizeType: ColumnModularizeType.Property), | ||
258 | new ColumnDefinition("Flags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 65536, description: "Element=1,Value=2,Document=4,Create=16,Delete=32,Install=256,Uninstall=512"), | ||
259 | 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 .XML value.", modularizeType: ColumnModularizeType.Column), | ||
260 | new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Order to execute the XML modifications."), | ||
261 | }, | ||
262 | tupleDefinitionName: UtilTupleDefinitions.XmlConfig.Name, | ||
263 | tupleIdIsPrimaryKey: true | ||
264 | ); | ||
265 | |||
266 | public static readonly TableDefinition Wix4FormatFile = new TableDefinition( | ||
267 | "Wix4FormatFile", | ||
268 | new[] | ||
269 | { | ||
270 | new ColumnDefinition("Binary_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Binary", keyColumn: 1, description: "Binary data to be formatted.", modularizeType: ColumnModularizeType.Column), | ||
271 | new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "File whose component controls the custom action and where the formatted data is written.", modularizeType: ColumnModularizeType.Column), | ||
272 | }, | ||
273 | tupleDefinitionName: UtilTupleDefinitions.WixFormatFiles.Name, | ||
274 | tupleIdIsPrimaryKey: false | ||
275 | ); | ||
276 | |||
277 | public static readonly TableDefinition[] All = new[] | ||
278 | { | ||
279 | Wix4CloseApplication, | ||
280 | Wix4RemoveFolderEx, | ||
281 | Wix4RestartResource, | ||
282 | Wix4FileShare, | ||
283 | Wix4FileSharePermissions, | ||
284 | Wix4Group, | ||
285 | Wix4InternetShortcut, | ||
286 | Wix4PerformanceCategory, | ||
287 | Wix4Perfmon, | ||
288 | Wix4PerfmonManifest, | ||
289 | Wix4EventManifest, | ||
290 | Wix4SecureObject, | ||
291 | Wix4ServiceConfig, | ||
292 | Wix4TouchFile, | ||
293 | Wix4User, | ||
294 | Wix4UserGroup, | ||
295 | Wix4XmlFile, | ||
296 | Wix4XmlConfig, | ||
297 | Wix4FormatFile, | ||
298 | }; | ||
299 | } | ||
300 | } | ||