aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-02-27 07:28:33 -0800
committerRob Mensching <rob@firegiant.com>2021-02-27 07:39:31 -0800
commitd997b6cda9e983f9dfa45fddd7122f33ae8c7666 (patch)
treea4caca99d8242ee2cbb5955e330a5641f8c01c4a /src
parentd01237f3221ce712e5fcbc08227b6f6f7f411de7 (diff)
downloadwix-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')
-rw-r--r--src/WixToolset.Data/Symbols/SoftwareIdentificationTagSymbol.cs76
-rw-r--r--src/WixToolset.Data/Symbols/SymbolDefinitions.cs12
-rw-r--r--src/WixToolset.Data/Symbols/WixBundleTagSymbol.cs84
-rw-r--r--src/WixToolset.Data/Symbols/WixProductTagSymbol.cs68
-rw-r--r--src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs15
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
3namespace 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
23namespace 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
3namespace 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
24namespace 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
3namespace 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
22namespace 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,