| 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 | UtilSymbolDefinitions.WixCloseApplication, |
| 12 | new[] |
| 13 | { |
| 14 | new ColumnDefinition("CloseApplication", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token in table.", modularizeType: ColumnModularizeType.Column), |
| 15 | new ColumnDefinition("Target", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of executable to ensure is closed.", modularizeType: ColumnModularizeType.Property), |
| 16 | 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), |
| 17 | new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the closing.", modularizeType: ColumnModularizeType.Condition, forceLocalizable: true), |
| 18 | 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."), |
| 19 | new ColumnDefinition("Sequence", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 1, maxValue: 2147483647, description: "Sequence to order the closings by."), |
| 20 | 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), |
| 21 | 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."), |
| 22 | 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."), |
| 23 | }, |
| 24 | symbolIdIsPrimaryKey: true |
| 25 | ); |
| 26 | |
| 27 | public static readonly TableDefinition Wix4RemoveFolderEx = new TableDefinition( |
| 28 | "Wix4RemoveFolderEx", |
| 29 | UtilSymbolDefinitions.WixRemoveFolderEx, |
| 30 | new[] |
| 31 | { |
| 32 | new ColumnDefinition("RemoveFolderEx", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Identifier for the WixRemoveFolderEx row in the package.", modularizeType: ColumnModularizeType.Column), |
| 33 | 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), |
| 34 | 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.Column), |
| 35 | 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."), |
| 36 | new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression which skips the removing of folders.", modularizeType: ColumnModularizeType.Condition, forceLocalizable: true), |
| 37 | }, |
| 38 | symbolIdIsPrimaryKey: true |
| 39 | ); |
| 40 | |
| 41 | public static readonly TableDefinition Wix4RemoveRegistryKeyEx = new TableDefinition( |
| 42 | "Wix4RemoveRegistryKeyEx", |
| 43 | UtilSymbolDefinitions.WixRemoveRegistryKeyEx, |
| 44 | new[] |
| 45 | { |
| 46 | new ColumnDefinition("RemoveRegistryKeyEx", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Identifier for the Wix4RemoveRegistryKeyEx row in the package.", modularizeType: ColumnModularizeType.Column), |
| 47 | 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), |
| 48 | 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."), |
| 49 | new ColumnDefinition("Key", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.RegPath, description: "The key for the registry value.", modularizeType: ColumnModularizeType.Property), |
| 50 | 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."), |
| 51 | new ColumnDefinition("Condition", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Condition, description: "Optional expression to control whether the registry key is removed.", modularizeType: ColumnModularizeType.Condition, forceLocalizable: true), |
| 52 | }, |
| 53 | symbolIdIsPrimaryKey: true |
| 54 | ); |
| 55 | |
| 56 | public static readonly TableDefinition Wix4RestartResource = new TableDefinition( |
| 57 | "Wix4RestartResource", |
| 58 | UtilSymbolDefinitions.WixRestartResource, |
| 59 | new[] |
| 60 | { |
| 61 | new ColumnDefinition("RestartResource", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized identifier.", modularizeType: ColumnModularizeType.Column), |
| 62 | 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), |
| 63 | 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), |
| 64 | 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."), |
| 65 | }, |
| 66 | symbolIdIsPrimaryKey: true |
| 67 | ); |
| 68 | |
| 69 | public static readonly TableDefinition Wix4FileShare = new TableDefinition( |
| 70 | "Wix4FileShare", |
| 71 | UtilSymbolDefinitions.FileShare, |
| 72 | new[] |
| 73 | { |
| 74 | new ColumnDefinition("FileShare", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized identifier", modularizeType: ColumnModularizeType.Column), |
| 75 | new ColumnDefinition("ShareName", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The actual share name used"), |
| 76 | 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), |
| 77 | new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Description string displayed for the file share"), |
| 78 | 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), |
| 79 | }, |
| 80 | symbolIdIsPrimaryKey: true |
| 81 | ); |
| 82 | |
| 83 | public static readonly TableDefinition Wix4FileSharePermissions = new TableDefinition( |
| 84 | "Wix4FileSharePermissions", |
| 85 | UtilSymbolDefinitions.FileSharePermissions, |
| 86 | new[] |
| 87 | { |
| 88 | new ColumnDefinition("FileShare_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Wix4FileShare", keyColumn: 1, description: "FileShare that these premissions are to be applied to.", modularizeType: ColumnModularizeType.Column), |
| 89 | new ColumnDefinition("User_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Wix4User", keyColumn: 1, description: "User that these premissions are to apply to.", modularizeType: ColumnModularizeType.Column), |
| 90 | new ColumnDefinition("Permissions", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Permissions int, as in EXPLICIT_ACCESS.grfAccessPermissions in MSDN"), |
| 91 | }, |
| 92 | symbolIdIsPrimaryKey: false |
| 93 | ); |
| 94 | |
| 95 | public static readonly TableDefinition Wix4Group = new TableDefinition( |
| 96 | "Wix4Group", |
| 97 | UtilSymbolDefinitions.Group, |
| 98 | new[] |
| 99 | { |
| 100 | new ColumnDefinition("Group", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), |
| 101 | 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), |
| 102 | new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Group name", modularizeType: ColumnModularizeType.Property), |
| 103 | new ColumnDefinition("Domain", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Group domain", modularizeType: ColumnModularizeType.Property), |
| 104 | }, |
| 105 | symbolIdIsPrimaryKey: true |
| 106 | ); |
| 107 | |
| 108 | public static readonly TableDefinition Wix4InternetShortcut = new TableDefinition( |
| 109 | "Wix4InternetShortcut", |
| 110 | UtilSymbolDefinitions.WixInternetShortcut, |
| 111 | new[] |
| 112 | { |
| 113 | new ColumnDefinition("InternetShortcut", 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.Text, keyTable: "Component", keyColumn: 1, description: "Foreign key, Component used to determine install state", modularizeType: ColumnModularizeType.Column), |
| 115 | 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), |
| 116 | new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Name used for shortcut.", modularizeType: ColumnModularizeType.Property), |
| 117 | new ColumnDefinition("Target", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "URL target."), |
| 118 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Attribute flags that control how the shortcut is created."), |
| 119 | new ColumnDefinition("IconFile", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Icon file for shortcut", modularizeType: ColumnModularizeType.Property), |
| 120 | new ColumnDefinition("IconIndex", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Index of the icon being referenced."), |
| 121 | }, |
| 122 | symbolIdIsPrimaryKey: true |
| 123 | ); |
| 124 | |
| 125 | public static readonly TableDefinition Wix4PerformanceCategory = new TableDefinition( |
| 126 | "Wix4PerformanceCategory", |
| 127 | UtilSymbolDefinitions.PerformanceCategory, |
| 128 | new[] |
| 129 | { |
| 130 | new ColumnDefinition("PerformanceCategory", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token in table.", modularizeType: ColumnModularizeType.Column), |
| 131 | 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), |
| 132 | new ColumnDefinition("Name", ColumnType.String, 80, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Name of the performance counter category."), |
| 133 | new ColumnDefinition("IniData", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Data that goes into the performance counter .ini file."), |
| 134 | new ColumnDefinition("ConstantData", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Data that goes into the performance counter .h file."), |
| 135 | }, |
| 136 | symbolIdIsPrimaryKey: true |
| 137 | ); |
| 138 | |
| 139 | public static readonly TableDefinition Wix4Perfmon = new TableDefinition( |
| 140 | "Wix4Perfmon", |
| 141 | UtilSymbolDefinitions.Perfmon, |
| 142 | new[] |
| 143 | { |
| 144 | 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), |
| 145 | new ColumnDefinition("File", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Name of .INI file", modularizeType: ColumnModularizeType.Property), |
| 146 | new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Service name in registry"), |
| 147 | }, |
| 148 | symbolIdIsPrimaryKey: false |
| 149 | ); |
| 150 | |
| 151 | public static readonly TableDefinition Wix4PerfmonManifest = new TableDefinition( |
| 152 | "Wix4PerfmonManifest", |
| 153 | UtilSymbolDefinitions.PerfmonManifest, |
| 154 | new[] |
| 155 | { |
| 156 | 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), |
| 157 | new ColumnDefinition("File", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Name of perfmon manifest file", modularizeType: ColumnModularizeType.Property), |
| 158 | new ColumnDefinition("ResourceFileDirectory", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "The path of the Resource File Directory"), |
| 159 | }, |
| 160 | symbolIdIsPrimaryKey: false |
| 161 | ); |
| 162 | |
| 163 | public static readonly TableDefinition Wix4EventManifest = new TableDefinition( |
| 164 | "Wix4EventManifest", |
| 165 | UtilSymbolDefinitions.EventManifest, |
| 166 | new[] |
| 167 | { |
| 168 | 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), |
| 169 | new ColumnDefinition("File", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Name of event manifest file", modularizeType: ColumnModularizeType.Property), |
| 170 | }, |
| 171 | symbolIdIsPrimaryKey: false |
| 172 | ); |
| 173 | |
| 174 | public static readonly TableDefinition Wix4SecureObject = new TableDefinition( |
| 175 | "Wix4SecureObject", |
| 176 | UtilSymbolDefinitions.SecureObjects, |
| 177 | new[] |
| 178 | { |
| 179 | new ColumnDefinition("SecureObject", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token in Table", modularizeType: ColumnModularizeType.Column), |
| 180 | new ColumnDefinition("Table", ColumnType.String, 32, primaryKey: true, nullable: false, ColumnCategory.Text, description: "Table SecureObject should be securing"), |
| 181 | new ColumnDefinition("Domain", ColumnType.String, 255, primaryKey: true, nullable: true, ColumnCategory.Text, description: "Domain half of user account to secure", modularizeType: ColumnModularizeType.Property), |
| 182 | new ColumnDefinition("User", ColumnType.String, 255, primaryKey: true, nullable: false, ColumnCategory.Text, description: "User name half of user account to secure", modularizeType: ColumnModularizeType.Property), |
| 183 | new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Integer, minValue: 0, maxValue: 2147483647, description: "A 32-bit word that specifies the attribute flags to be applied."), |
| 184 | new ColumnDefinition("Permission", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: -2147483647, maxValue: 2147483647, description: "Permissions to grant to User"), |
| 185 | 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), |
| 186 | }, |
| 187 | symbolIdIsPrimaryKey: false |
| 188 | ); |
| 189 | |
| 190 | public static readonly TableDefinition Wix4ServiceConfig = new TableDefinition( |
| 191 | "Wix4ServiceConfig", |
| 192 | UtilSymbolDefinitions.ServiceConfig, |
| 193 | new[] |
| 194 | { |
| 195 | new ColumnDefinition("ServiceName", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Formatted, description: "Primary key, non-localized token"), |
| 196 | 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), |
| 197 | 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."), |
| 198 | new ColumnDefinition("FirstFailureActionType", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Text, description: "First failure action type for configured service to take."), |
| 199 | new ColumnDefinition("SecondFailureActionType", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Second failure action type for configured service to take."), |
| 200 | new ColumnDefinition("ThirdFailureActionType", ColumnType.String, 32, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Third failure action type for configured service to take."), |
| 201 | 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."), |
| 202 | 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."), |
| 203 | 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."), |
| 204 | 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."), |
| 205 | }, |
| 206 | symbolIdIsPrimaryKey: false |
| 207 | ); |
| 208 | |
| 209 | public static readonly TableDefinition Wix4TouchFile = new TableDefinition( |
| 210 | "Wix4TouchFile", |
| 211 | UtilSymbolDefinitions.WixTouchFile, |
| 212 | new[] |
| 213 | { |
| 214 | new ColumnDefinition("TouchFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Identifier for the Wix4TouchFile row in the package.", modularizeType: ColumnModularizeType.Column), |
| 215 | 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), |
| 216 | 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), |
| 217 | 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."), |
| 218 | }, |
| 219 | symbolIdIsPrimaryKey: true |
| 220 | ); |
| 221 | |
| 222 | public static readonly TableDefinition Wix4User = new TableDefinition( |
| 223 | "Wix4User", |
| 224 | UtilSymbolDefinitions.User, |
| 225 | new[] |
| 226 | { |
| 227 | new ColumnDefinition("User", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), |
| 228 | 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), |
| 229 | new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "User name", modularizeType: ColumnModularizeType.Property), |
| 230 | new ColumnDefinition("Domain", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "User domain", modularizeType: ColumnModularizeType.Property), |
| 231 | new ColumnDefinition("Password", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "User password", modularizeType: ColumnModularizeType.Property), |
| 232 | new ColumnDefinition("Comment", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "User comment", modularizeType: ColumnModularizeType.Property), |
| 233 | new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, minValue: 0, maxValue: 65535, description: "Attributes describing how to create the user"), |
| 234 | }, |
| 235 | symbolIdIsPrimaryKey: true |
| 236 | ); |
| 237 | |
| 238 | public static readonly TableDefinition Wix4UserGroup = new TableDefinition( |
| 239 | "Wix4UserGroup", |
| 240 | UtilSymbolDefinitions.UserGroup, |
| 241 | new[] |
| 242 | { |
| 243 | new ColumnDefinition("User_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Wix4User", keyColumn: 1, description: "User to be joined to a Group.", modularizeType: ColumnModularizeType.Column), |
| 244 | new ColumnDefinition("Group_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "Wix4Group", keyColumn: 1, description: "Group to join User to.", modularizeType: ColumnModularizeType.Column), |
| 245 | }, |
| 246 | symbolIdIsPrimaryKey: false |
| 247 | ); |
| 248 | |
| 249 | public static readonly TableDefinition Wix4XmlFile = new TableDefinition( |
| 250 | "Wix4XmlFile", |
| 251 | UtilSymbolDefinitions.XmlFile, |
| 252 | new[] |
| 253 | { |
| 254 | new ColumnDefinition("XmlFile", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), |
| 255 | 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), |
| 256 | new ColumnDefinition("ElementPath", ColumnType.Localized, 0, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "The .XML file element to modify.", modularizeType: ColumnModularizeType.Property), |
| 257 | 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), |
| 258 | new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value to be written.", modularizeType: ColumnModularizeType.Property), |
| 259 | new ColumnDefinition("Flags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 70143, description: "Flags"), |
| 260 | 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), |
| 261 | new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Order to execute the XML modifications."), |
| 262 | }, |
| 263 | symbolIdIsPrimaryKey: true |
| 264 | ); |
| 265 | |
| 266 | public static readonly TableDefinition Wix4XmlConfig = new TableDefinition( |
| 267 | "Wix4XmlConfig", |
| 268 | UtilSymbolDefinitions.XmlConfig, |
| 269 | new[] |
| 270 | { |
| 271 | new ColumnDefinition("XmlConfig", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token.", modularizeType: ColumnModularizeType.Column), |
| 272 | 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), |
| 273 | new ColumnDefinition("ElementId", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Wix4XmlConfig", keyColumn: 1, description: "A foreign key reference to another Wix4XmlConfig row if no attributes are set and the row referenced is a create element row.", modularizeType: ColumnModularizeType.Column), |
| 274 | new ColumnDefinition("ElementPath", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The XPATH query for an element to modify or add children to. Must be null if ElementId is provided", modularizeType: ColumnModularizeType.Property), |
| 275 | 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), |
| 276 | 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), |
| 277 | new ColumnDefinition("Value", ColumnType.Localized, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The value to be written.", modularizeType: ColumnModularizeType.Property), |
| 278 | 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"), |
| 279 | 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), |
| 280 | new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Order to execute the XML modifications."), |
| 281 | }, |
| 282 | symbolIdIsPrimaryKey: true |
| 283 | ); |
| 284 | |
| 285 | public static readonly TableDefinition Wix4FormatFile = new TableDefinition( |
| 286 | "Wix4FormatFile", |
| 287 | UtilSymbolDefinitions.WixFormatFiles, |
| 288 | new[] |
| 289 | { |
| 290 | 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), |
| 291 | 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), |
| 292 | }, |
| 293 | symbolIdIsPrimaryKey: false |
| 294 | ); |
| 295 | |
| 296 | public static readonly TableDefinition[] All = new[] |
| 297 | { |
| 298 | Wix4CloseApplication, |
| 299 | Wix4RemoveFolderEx, |
| 300 | Wix4RemoveRegistryKeyEx, |
| 301 | Wix4RestartResource, |
| 302 | Wix4FileShare, |
| 303 | Wix4FileSharePermissions, |
| 304 | Wix4Group, |
| 305 | Wix4InternetShortcut, |
| 306 | Wix4PerformanceCategory, |
| 307 | Wix4Perfmon, |
| 308 | Wix4PerfmonManifest, |
| 309 | Wix4EventManifest, |
| 310 | Wix4SecureObject, |
| 311 | Wix4ServiceConfig, |
| 312 | Wix4TouchFile, |
| 313 | Wix4User, |
| 314 | Wix4UserGroup, |
| 315 | Wix4XmlFile, |
| 316 | Wix4XmlConfig, |
| 317 | Wix4FormatFile, |
| 318 | }; |
| 319 | } |
| 320 | } |