diff options
| author | Rob Mensching <rob@firegiant.com> | 2021-02-27 07:28:33 -0800 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2021-02-27 07:39:31 -0800 |
| commit | d997b6cda9e983f9dfa45fddd7122f33ae8c7666 (patch) | |
| tree | a4caca99d8242ee2cbb5955e330a5641f8c01c4a /src | |
| parent | d01237f3221ce712e5fcbc08227b6f6f7f411de7 (diff) | |
| download | wix-d997b6cda9e983f9dfa45fddd7122f33ae8c7666.tar.gz wix-d997b6cda9e983f9dfa45fddd7122f33ae8c7666.tar.bz2 wix-d997b6cda9e983f9dfa45fddd7122f33ae8c7666.zip | |
Absorb Tag.wixext into core SoftwareTag element
Resolves wixtoolset/issues#5949
Diffstat (limited to 'src')
5 files changed, 255 insertions, 0 deletions
diff --git a/src/WixToolset.Data/Symbols/SoftwareIdentificationTagSymbol.cs b/src/WixToolset.Data/Symbols/SoftwareIdentificationTagSymbol.cs new file mode 100644 index 00000000..60bf22a2 --- /dev/null +++ b/src/WixToolset.Data/Symbols/SoftwareIdentificationTagSymbol.cs | |||
| @@ -0,0 +1,76 @@ | |||
| 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.Data | ||
| 4 | { | ||
| 5 | using WixToolset.Data.Symbols; | ||
| 6 | |||
| 7 | public static partial class SymbolDefinitions | ||
| 8 | { | ||
| 9 | public static readonly IntermediateSymbolDefinition SoftwareIdentificationTag = new IntermediateSymbolDefinition( | ||
| 10 | SymbolDefinitionType.SoftwareIdentificationTag, | ||
| 11 | new[] | ||
| 12 | { | ||
| 13 | new IntermediateFieldDefinition(nameof(SoftwareIdentificationTagSymbolFields.FileRef), IntermediateFieldType.String), | ||
| 14 | new IntermediateFieldDefinition(nameof(SoftwareIdentificationTagSymbolFields.Regid), IntermediateFieldType.String), | ||
| 15 | new IntermediateFieldDefinition(nameof(SoftwareIdentificationTagSymbolFields.UniqueId), IntermediateFieldType.String), | ||
| 16 | new IntermediateFieldDefinition(nameof(SoftwareIdentificationTagSymbolFields.PersistentId), IntermediateFieldType.String), | ||
| 17 | new IntermediateFieldDefinition(nameof(SoftwareIdentificationTagSymbolFields.Alias), IntermediateFieldType.String), | ||
| 18 | }, | ||
| 19 | typeof(SoftwareIdentificationTagSymbol)); | ||
| 20 | } | ||
| 21 | } | ||
| 22 | |||
| 23 | namespace WixToolset.Data.Symbols | ||
| 24 | { | ||
| 25 | public enum SoftwareIdentificationTagSymbolFields | ||
| 26 | { | ||
| 27 | FileRef, | ||
| 28 | Regid, | ||
| 29 | UniqueId, | ||
| 30 | PersistentId, | ||
| 31 | Alias, | ||
| 32 | } | ||
| 33 | |||
| 34 | public class SoftwareIdentificationTagSymbol : IntermediateSymbol | ||
| 35 | { | ||
| 36 | public SoftwareIdentificationTagSymbol() : base(SymbolDefinitions.SoftwareIdentificationTag, null, null) | ||
| 37 | { | ||
| 38 | } | ||
| 39 | |||
| 40 | public SoftwareIdentificationTagSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.SoftwareIdentificationTag, sourceLineNumber, id) | ||
| 41 | { | ||
| 42 | } | ||
| 43 | |||
| 44 | public IntermediateField this[SoftwareIdentificationTagSymbolFields index] => this.Fields[(int)index]; | ||
| 45 | |||
| 46 | public string FileRef | ||
| 47 | { | ||
| 48 | get => this.Fields[(int)SoftwareIdentificationTagSymbolFields.FileRef].AsString(); | ||
| 49 | set => this.Set((int)SoftwareIdentificationTagSymbolFields.FileRef, value); | ||
| 50 | } | ||
| 51 | |||
| 52 | public string Regid | ||
| 53 | { | ||
| 54 | get => this.Fields[(int)SoftwareIdentificationTagSymbolFields.Regid].AsString(); | ||
| 55 | set => this.Set((int)SoftwareIdentificationTagSymbolFields.Regid, value); | ||
| 56 | } | ||
| 57 | |||
| 58 | public string TagId | ||
| 59 | { | ||
| 60 | get => this.Fields[(int)SoftwareIdentificationTagSymbolFields.UniqueId].AsString(); | ||
| 61 | set => this.Set((int)SoftwareIdentificationTagSymbolFields.UniqueId, value); | ||
| 62 | } | ||
| 63 | |||
| 64 | public string PersistentId | ||
| 65 | { | ||
| 66 | get => this.Fields[(int)SoftwareIdentificationTagSymbolFields.PersistentId].AsString(); | ||
| 67 | set => this.Set((int)SoftwareIdentificationTagSymbolFields.PersistentId, value); | ||
| 68 | } | ||
| 69 | |||
| 70 | public string Alias | ||
| 71 | { | ||
| 72 | get => this.Fields[(int)SoftwareIdentificationTagSymbolFields.Alias].AsString(); | ||
| 73 | set => this.Set((int)SoftwareIdentificationTagSymbolFields.Alias, value); | ||
| 74 | } | ||
| 75 | } | ||
| 76 | } | ||
diff --git a/src/WixToolset.Data/Symbols/SymbolDefinitions.cs b/src/WixToolset.Data/Symbols/SymbolDefinitions.cs index bed49b87..cfee33b7 100644 --- a/src/WixToolset.Data/Symbols/SymbolDefinitions.cs +++ b/src/WixToolset.Data/Symbols/SymbolDefinitions.cs | |||
| @@ -102,6 +102,7 @@ namespace WixToolset.Data | |||
| 102 | SFPCatalog, | 102 | SFPCatalog, |
| 103 | Shortcut, | 103 | Shortcut, |
| 104 | Signature, | 104 | Signature, |
| 105 | SoftwareIdentificationTag, | ||
| 105 | TargetFilesOptionalData, | 106 | TargetFilesOptionalData, |
| 106 | TargetImages, | 107 | TargetImages, |
| 107 | TextStyle, | 108 | TextStyle, |
| @@ -140,6 +141,7 @@ namespace WixToolset.Data | |||
| 140 | WixBundleRelatedPackage, | 141 | WixBundleRelatedPackage, |
| 141 | WixBundleRollbackBoundary, | 142 | WixBundleRollbackBoundary, |
| 142 | WixBundleSlipstreamMsp, | 143 | WixBundleSlipstreamMsp, |
| 144 | WixBundleTag, | ||
| 143 | WixBundleUpdate, | 145 | WixBundleUpdate, |
| 144 | WixBundleVariable, | 146 | WixBundleVariable, |
| 145 | WixChain, | 147 | WixChain, |
| @@ -170,6 +172,7 @@ namespace WixToolset.Data | |||
| 170 | WixPatchRef, | 172 | WixPatchRef, |
| 171 | WixPatchTarget, | 173 | WixPatchTarget, |
| 172 | WixProductSearch, | 174 | WixProductSearch, |
| 175 | WixProductTag, | ||
| 173 | WixProperty, | 176 | WixProperty, |
| 174 | WixRegistrySearch, | 177 | WixRegistrySearch, |
| 175 | WixRelatedBundle, | 178 | WixRelatedBundle, |
| @@ -491,6 +494,9 @@ namespace WixToolset.Data | |||
| 491 | case SymbolDefinitionType.Signature: | 494 | case SymbolDefinitionType.Signature: |
| 492 | return SymbolDefinitions.Signature; | 495 | return SymbolDefinitions.Signature; |
| 493 | 496 | ||
| 497 | case SymbolDefinitionType.SoftwareIdentificationTag: | ||
| 498 | return SymbolDefinitions.SoftwareIdentificationTag; | ||
| 499 | |||
| 494 | case SymbolDefinitionType.TargetFilesOptionalData: | 500 | case SymbolDefinitionType.TargetFilesOptionalData: |
| 495 | return SymbolDefinitions.TargetFilesOptionalData; | 501 | return SymbolDefinitions.TargetFilesOptionalData; |
| 496 | 502 | ||
| @@ -605,6 +611,9 @@ namespace WixToolset.Data | |||
| 605 | case SymbolDefinitionType.WixBundleSlipstreamMsp: | 611 | case SymbolDefinitionType.WixBundleSlipstreamMsp: |
| 606 | return SymbolDefinitions.WixBundleSlipstreamMsp; | 612 | return SymbolDefinitions.WixBundleSlipstreamMsp; |
| 607 | 613 | ||
| 614 | case SymbolDefinitionType.WixBundleTag: | ||
| 615 | return SymbolDefinitions.WixBundleTag; | ||
| 616 | |||
| 608 | case SymbolDefinitionType.WixBundleUpdate: | 617 | case SymbolDefinitionType.WixBundleUpdate: |
| 609 | return SymbolDefinitions.WixBundleUpdate; | 618 | return SymbolDefinitions.WixBundleUpdate; |
| 610 | 619 | ||
| @@ -692,6 +701,9 @@ namespace WixToolset.Data | |||
| 692 | case SymbolDefinitionType.WixProductSearch: | 701 | case SymbolDefinitionType.WixProductSearch: |
| 693 | return SymbolDefinitions.WixProductSearch; | 702 | return SymbolDefinitions.WixProductSearch; |
| 694 | 703 | ||
| 704 | case SymbolDefinitionType.WixProductTag: | ||
| 705 | return SymbolDefinitions.WixProductTag; | ||
| 706 | |||
| 695 | case SymbolDefinitionType.WixProperty: | 707 | case SymbolDefinitionType.WixProperty: |
| 696 | return SymbolDefinitions.WixProperty; | 708 | return SymbolDefinitions.WixProperty; |
| 697 | 709 | ||
diff --git a/src/WixToolset.Data/Symbols/WixBundleTagSymbol.cs b/src/WixToolset.Data/Symbols/WixBundleTagSymbol.cs new file mode 100644 index 00000000..d550dae0 --- /dev/null +++ b/src/WixToolset.Data/Symbols/WixBundleTagSymbol.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 | |||
| 3 | namespace WixToolset.Data | ||
| 4 | { | ||
| 5 | using WixToolset.Data.Symbols; | ||
| 6 | |||
| 7 | public static partial class SymbolDefinitions | ||
| 8 | { | ||
| 9 | public static readonly IntermediateSymbolDefinition WixBundleTag = new IntermediateSymbolDefinition( | ||
| 10 | SymbolDefinitionType.WixBundleTag, | ||
| 11 | new[] | ||
| 12 | { | ||
| 13 | new IntermediateFieldDefinition(nameof(WixBundleTagSymbolFields.Filename), IntermediateFieldType.String), | ||
| 14 | new IntermediateFieldDefinition(nameof(WixBundleTagSymbolFields.Regid), IntermediateFieldType.String), | ||
| 15 | new IntermediateFieldDefinition(nameof(WixBundleTagSymbolFields.Name), IntermediateFieldType.String), | ||
| 16 | new IntermediateFieldDefinition(nameof(WixBundleTagSymbolFields.InstallPath), IntermediateFieldType.String), | ||
| 17 | new IntermediateFieldDefinition(nameof(WixBundleTagSymbolFields.Attributes), IntermediateFieldType.Number), | ||
| 18 | new IntermediateFieldDefinition(nameof(WixBundleTagSymbolFields.Xml), IntermediateFieldType.String), | ||
| 19 | }, | ||
| 20 | typeof(WixBundleTagSymbol)); | ||
| 21 | } | ||
| 22 | } | ||
| 23 | |||
| 24 | namespace WixToolset.Data.Symbols | ||
| 25 | { | ||
| 26 | public enum WixBundleTagSymbolFields | ||
| 27 | { | ||
| 28 | Filename, | ||
| 29 | Regid, | ||
| 30 | Name, | ||
| 31 | InstallPath, | ||
| 32 | Attributes, | ||
| 33 | Xml, | ||
| 34 | } | ||
| 35 | |||
| 36 | public class WixBundleTagSymbol : IntermediateSymbol | ||
| 37 | { | ||
| 38 | public WixBundleTagSymbol() : base(SymbolDefinitions.WixBundleTag, null, null) | ||
| 39 | { | ||
| 40 | } | ||
| 41 | |||
| 42 | public WixBundleTagSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixBundleTag, sourceLineNumber, id) | ||
| 43 | { | ||
| 44 | } | ||
| 45 | |||
| 46 | public IntermediateField this[WixBundleTagSymbolFields index] => this.Fields[(int)index]; | ||
| 47 | |||
| 48 | public string Filename | ||
| 49 | { | ||
| 50 | get => this.Fields[(int)WixBundleTagSymbolFields.Filename].AsString(); | ||
| 51 | set => this.Set((int)WixBundleTagSymbolFields.Filename, value); | ||
| 52 | } | ||
| 53 | |||
| 54 | public string Regid | ||
| 55 | { | ||
| 56 | get => this.Fields[(int)WixBundleTagSymbolFields.Regid].AsString(); | ||
| 57 | set => this.Set((int)WixBundleTagSymbolFields.Regid, value); | ||
| 58 | } | ||
| 59 | |||
| 60 | public string Name | ||
| 61 | { | ||
| 62 | get => this.Fields[(int)WixBundleTagSymbolFields.Name].AsString(); | ||
| 63 | set => this.Set((int)WixBundleTagSymbolFields.Name, value); | ||
| 64 | } | ||
| 65 | |||
| 66 | public string InstallPath | ||
| 67 | { | ||
| 68 | get => this.Fields[(int)WixBundleTagSymbolFields.InstallPath].AsString(); | ||
| 69 | set => this.Set((int)WixBundleTagSymbolFields.InstallPath, value); | ||
| 70 | } | ||
| 71 | |||
| 72 | public int Attributes | ||
| 73 | { | ||
| 74 | get => this.Fields[(int)WixBundleTagSymbolFields.Attributes].AsNumber(); | ||
| 75 | set => this.Set((int)WixBundleTagSymbolFields.Attributes, value); | ||
| 76 | } | ||
| 77 | |||
| 78 | public string Xml | ||
| 79 | { | ||
| 80 | get => this.Fields[(int)WixBundleTagSymbolFields.Xml].AsString(); | ||
| 81 | set => this.Set((int)WixBundleTagSymbolFields.Xml, value); | ||
| 82 | } | ||
| 83 | } | ||
| 84 | } | ||
diff --git a/src/WixToolset.Data/Symbols/WixProductTagSymbol.cs b/src/WixToolset.Data/Symbols/WixProductTagSymbol.cs new file mode 100644 index 00000000..a2f1ed11 --- /dev/null +++ b/src/WixToolset.Data/Symbols/WixProductTagSymbol.cs | |||
| @@ -0,0 +1,68 @@ | |||
| 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.Data | ||
| 4 | { | ||
| 5 | using WixToolset.Data.Symbols; | ||
| 6 | |||
| 7 | public static partial class SymbolDefinitions | ||
| 8 | { | ||
| 9 | public static readonly IntermediateSymbolDefinition WixProductTag = new IntermediateSymbolDefinition( | ||
| 10 | SymbolDefinitionType.WixProductTag, | ||
| 11 | new[] | ||
| 12 | { | ||
| 13 | new IntermediateFieldDefinition(nameof(WixProductTagSymbolFields.FileRef), IntermediateFieldType.String), | ||
| 14 | new IntermediateFieldDefinition(nameof(WixProductTagSymbolFields.Regid), IntermediateFieldType.String), | ||
| 15 | new IntermediateFieldDefinition(nameof(WixProductTagSymbolFields.Name), IntermediateFieldType.String), | ||
| 16 | new IntermediateFieldDefinition(nameof(WixProductTagSymbolFields.Attributes), IntermediateFieldType.Number) | ||
| 17 | }, | ||
| 18 | typeof(WixProductTagSymbol)); | ||
| 19 | } | ||
| 20 | } | ||
| 21 | |||
| 22 | namespace WixToolset.Data.Symbols | ||
| 23 | { | ||
| 24 | public enum WixProductTagSymbolFields | ||
| 25 | { | ||
| 26 | FileRef, | ||
| 27 | Regid, | ||
| 28 | Name, | ||
| 29 | Attributes | ||
| 30 | } | ||
| 31 | |||
| 32 | public class WixProductTagSymbol : IntermediateSymbol | ||
| 33 | { | ||
| 34 | public WixProductTagSymbol() : base(SymbolDefinitions.WixProductTag, null, null) | ||
| 35 | { | ||
| 36 | } | ||
| 37 | |||
| 38 | public WixProductTagSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixProductTag, sourceLineNumber, id) | ||
| 39 | { | ||
| 40 | } | ||
| 41 | |||
| 42 | public IntermediateField this[WixProductTagSymbolFields index] => this.Fields[(int)index]; | ||
| 43 | |||
| 44 | public string FileRef | ||
| 45 | { | ||
| 46 | get => this.Fields[(int)WixProductTagSymbolFields.FileRef].AsString(); | ||
| 47 | set => this.Set((int)WixProductTagSymbolFields.FileRef, value); | ||
| 48 | } | ||
| 49 | |||
| 50 | public string Regid | ||
| 51 | { | ||
| 52 | get => this.Fields[(int)WixProductTagSymbolFields.Regid].AsString(); | ||
| 53 | set => this.Set((int)WixProductTagSymbolFields.Regid, value); | ||
| 54 | } | ||
| 55 | |||
| 56 | public string Name | ||
| 57 | { | ||
| 58 | get => this.Fields[(int)WixProductTagSymbolFields.Name].AsString(); | ||
| 59 | set => this.Set((int)WixProductTagSymbolFields.Name, value); | ||
| 60 | } | ||
| 61 | |||
| 62 | public int Attributes | ||
| 63 | { | ||
| 64 | get => this.Fields[(int)WixProductTagSymbolFields.Attributes].AsNumber(); | ||
| 65 | set => this.Set((int)WixProductTagSymbolFields.Attributes, value); | ||
| 66 | } | ||
| 67 | } | ||
| 68 | } | ||
diff --git a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs index 86450c22..c0075a27 100644 --- a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs +++ b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs | |||
| @@ -1283,6 +1283,20 @@ namespace WixToolset.Data.WindowsInstaller | |||
| 1283 | symbolIdIsPrimaryKey: true | 1283 | symbolIdIsPrimaryKey: true |
| 1284 | ); | 1284 | ); |
| 1285 | 1285 | ||
| 1286 | public static readonly TableDefinition SoftwareIdentificationTag = new TableDefinition( | ||
| 1287 | "SoftwareIdentificationTag", | ||
| 1288 | SymbolDefinitions.SoftwareIdentificationTag, | ||
| 1289 | new[] | ||
| 1290 | { | ||
| 1291 | new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "The file that installs the software id tag.", modularizeType: ColumnModularizeType.Column), | ||
| 1292 | new ColumnDefinition("Regid", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The regid for the software id tag."), | ||
| 1293 | new ColumnDefinition("TagId", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The unique id for the software id tag."), | ||
| 1294 | new ColumnDefinition("PersistentId", ColumnType.String, 0, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The type of the software id tag."), | ||
| 1295 | new ColumnDefinition("Alias", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Alias for the software id tag."), | ||
| 1296 | }, | ||
| 1297 | symbolIdIsPrimaryKey: false | ||
| 1298 | ); | ||
| 1299 | |||
| 1286 | public static readonly TableDefinition TextStyle = new TableDefinition( | 1300 | public static readonly TableDefinition TextStyle = new TableDefinition( |
| 1287 | "TextStyle", | 1301 | "TextStyle", |
| 1288 | SymbolDefinitions.TextStyle, | 1302 | SymbolDefinitions.TextStyle, |
| @@ -1813,6 +1827,7 @@ namespace WixToolset.Data.WindowsInstaller | |||
| 1813 | Shortcut, | 1827 | Shortcut, |
| 1814 | MsiShortcutProperty, | 1828 | MsiShortcutProperty, |
| 1815 | Signature, | 1829 | Signature, |
| 1830 | SoftwareIdentificationTag, | ||
| 1816 | TextStyle, | 1831 | TextStyle, |
| 1817 | TypeLib, | 1832 | TypeLib, |
| 1818 | UIText, | 1833 | UIText, |
