aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Tuples
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2019-10-07 07:32:59 -0700
committerRob Mensching <rob@firegiant.com>2019-10-07 11:27:21 -0700
commitcece10e037c6daacc8d2def1a9057882aec47fe4 (patch)
tree8e79c0d5b30ed8e663c077b2d9ce2b829b76ab84 /src/WixToolset.Data/Tuples
parent7462108b714d07161126dcedda5312daef54ae13 (diff)
downloadwix-cece10e037c6daacc8d2def1a9057882aec47fe4.tar.gz
wix-cece10e037c6daacc8d2def1a9057882aec47fe4.tar.bz2
wix-cece10e037c6daacc8d2def1a9057882aec47fe4.zip
Add support for long fields and fix up Bundle and many other tuples
Diffstat (limited to 'src/WixToolset.Data/Tuples')
-rw-r--r--src/WixToolset.Data/Tuples/IconTuple.cs4
-rw-r--r--src/WixToolset.Data/Tuples/MsiFileHashTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/ProvidesDependencyTuple.cs84
-rw-r--r--src/WixToolset.Data/Tuples/TupleDefinitions.cs21
-rw-r--r--src/WixToolset.Data/Tuples/WixApprovedExeForElevationTuple.cs27
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleCatalogTuple.cs10
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleExePackageTuple.cs14
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleMsiFeatureTuple.cs18
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleMsiPackageTuple.cs15
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleMsiPropertyTuple.cs10
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleMspPackageTuple.cs14
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleMsuPackageTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/WixBundlePackageExitCodeTuple.cs6
-rw-r--r--src/WixToolset.Data/Tuples/WixBundlePackageTuple.cs24
-rw-r--r--src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs40
-rw-r--r--src/WixToolset.Data/Tuples/WixBundlePayloadTuple.cs42
-rw-r--r--src/WixToolset.Data/Tuples/WixBundlePropertiesTuple.cs84
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleRelatedPackageTuple.cs58
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleRollbackBoundaryTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleSlipstreamMspTuple.cs22
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleTuple.cs128
-rw-r--r--src/WixToolset.Data/Tuples/WixChainTuple.cs8
-rw-r--r--src/WixToolset.Data/Tuples/WixComponentSearchTuple.cs26
-rw-r--r--src/WixToolset.Data/Tuples/WixDependencyProviderTuple.cs87
-rw-r--r--src/WixToolset.Data/Tuples/WixFileSearchTuple.cs33
-rw-r--r--src/WixToolset.Data/Tuples/WixPackageFeatureInfoTuple.cs116
-rw-r--r--src/WixToolset.Data/Tuples/WixPackagePropertiesTuple.cs180
-rw-r--r--src/WixToolset.Data/Tuples/WixPayloadPropertiesTuple.cs92
-rw-r--r--src/WixToolset.Data/Tuples/WixProductSearchTuple.cs28
-rw-r--r--src/WixToolset.Data/Tuples/WixRegistrySearchTuple.cs35
30 files changed, 480 insertions, 770 deletions
diff --git a/src/WixToolset.Data/Tuples/IconTuple.cs b/src/WixToolset.Data/Tuples/IconTuple.cs
index 0e8c9fd7..e9ed93b2 100644
--- a/src/WixToolset.Data/Tuples/IconTuple.cs
+++ b/src/WixToolset.Data/Tuples/IconTuple.cs
@@ -35,9 +35,9 @@ namespace WixToolset.Data.Tuples
35 35
36 public IntermediateField this[IconTupleFields index] => this.Fields[(int)index]; 36 public IntermediateField this[IconTupleFields index] => this.Fields[(int)index];
37 37
38 public string Data 38 public IntermediateFieldPathValue Data
39 { 39 {
40 get => (string)this.Fields[(int)IconTupleFields.Data]; 40 get => this.Fields[(int)IconTupleFields.Data].AsPath();
41 set => this.Set((int)IconTupleFields.Data, value); 41 set => this.Set((int)IconTupleFields.Data, value);
42 } 42 }
43 } 43 }
diff --git a/src/WixToolset.Data/Tuples/MsiFileHashTuple.cs b/src/WixToolset.Data/Tuples/MsiFileHashTuple.cs
index a83093e9..10aa801d 100644
--- a/src/WixToolset.Data/Tuples/MsiFileHashTuple.cs
+++ b/src/WixToolset.Data/Tuples/MsiFileHashTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.MsiFileHash, 10 TupleDefinitionType.MsiFileHash,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(MsiFileHashTupleFields.FileRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(MsiFileHashTupleFields.Options), IntermediateFieldType.Number), 13 new IntermediateFieldDefinition(nameof(MsiFileHashTupleFields.Options), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(MsiFileHashTupleFields.HashPart1), IntermediateFieldType.Number), 14 new IntermediateFieldDefinition(nameof(MsiFileHashTupleFields.HashPart1), IntermediateFieldType.Number),
16 new IntermediateFieldDefinition(nameof(MsiFileHashTupleFields.HashPart2), IntermediateFieldType.Number), 15 new IntermediateFieldDefinition(nameof(MsiFileHashTupleFields.HashPart2), IntermediateFieldType.Number),
@@ -25,7 +24,6 @@ namespace WixToolset.Data.Tuples
25{ 24{
26 public enum MsiFileHashTupleFields 25 public enum MsiFileHashTupleFields
27 { 26 {
28 FileRef,
29 Options, 27 Options,
30 HashPart1, 28 HashPart1,
31 HashPart2, 29 HashPart2,
@@ -45,12 +43,6 @@ namespace WixToolset.Data.Tuples
45 43
46 public IntermediateField this[MsiFileHashTupleFields index] => this.Fields[(int)index]; 44 public IntermediateField this[MsiFileHashTupleFields index] => this.Fields[(int)index];
47 45
48 public string FileRef
49 {
50 get => (string)this.Fields[(int)MsiFileHashTupleFields.FileRef];
51 set => this.Set((int)MsiFileHashTupleFields.FileRef, value);
52 }
53
54 public int Options 46 public int Options
55 { 47 {
56 get => (int)this.Fields[(int)MsiFileHashTupleFields.Options]; 48 get => (int)this.Fields[(int)MsiFileHashTupleFields.Options];
diff --git a/src/WixToolset.Data/Tuples/ProvidesDependencyTuple.cs b/src/WixToolset.Data/Tuples/ProvidesDependencyTuple.cs
new file mode 100644
index 00000000..a6337bdf
--- /dev/null
+++ b/src/WixToolset.Data/Tuples/ProvidesDependencyTuple.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.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition ProvidesDependency = new IntermediateTupleDefinition(
10 TupleDefinitionType.ProvidesDependency,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(ProvidesDependencyTupleFields.PackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ProvidesDependencyTupleFields.Key), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(ProvidesDependencyTupleFields.Version), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ProvidesDependencyTupleFields.DisplayName), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(ProvidesDependencyTupleFields.Attributes), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(ProvidesDependencyTupleFields.Imported), IntermediateFieldType.Bool),
19 },
20 typeof(ProvidesDependencyTuple));
21 }
22}
23
24namespace WixToolset.Data.Tuples
25{
26 public enum ProvidesDependencyTupleFields
27 {
28 PackageRef,
29 Key,
30 Version,
31 DisplayName,
32 Attributes,
33 Imported,
34 }
35
36 public class ProvidesDependencyTuple : IntermediateTuple
37 {
38 public ProvidesDependencyTuple() : base(TupleDefinitions.ProvidesDependency, null, null)
39 {
40 }
41
42 public ProvidesDependencyTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.ProvidesDependency, sourceLineNumber, id)
43 {
44 }
45
46 public IntermediateField this[ProvidesDependencyTupleFields index] => this.Fields[(int)index];
47
48 public string PackageRef
49 {
50 get => (string)this.Fields[(int)ProvidesDependencyTupleFields.PackageRef];
51 set => this.Set((int)ProvidesDependencyTupleFields.PackageRef, value);
52 }
53
54 public string Key
55 {
56 get => (string)this.Fields[(int)ProvidesDependencyTupleFields.Key];
57 set => this.Set((int)ProvidesDependencyTupleFields.Key, value);
58 }
59
60 public string Version
61 {
62 get => (string)this.Fields[(int)ProvidesDependencyTupleFields.Version];
63 set => this.Set((int)ProvidesDependencyTupleFields.Version, value);
64 }
65
66 public string DisplayName
67 {
68 get => (string)this.Fields[(int)ProvidesDependencyTupleFields.DisplayName];
69 set => this.Set((int)ProvidesDependencyTupleFields.DisplayName, value);
70 }
71
72 public int? Attributes
73 {
74 get => (int?)this.Fields[(int)ProvidesDependencyTupleFields.Attributes];
75 set => this.Set((int)ProvidesDependencyTupleFields.Attributes, value);
76 }
77
78 public bool Imported
79 {
80 get => (bool)this.Fields[(int)ProvidesDependencyTupleFields.Imported];
81 set => this.Set((int)ProvidesDependencyTupleFields.Imported, value);
82 }
83 }
84}
diff --git a/src/WixToolset.Data/Tuples/TupleDefinitions.cs b/src/WixToolset.Data/Tuples/TupleDefinitions.cs
index bc1cb2eb..bad8af3f 100644
--- a/src/WixToolset.Data/Tuples/TupleDefinitions.cs
+++ b/src/WixToolset.Data/Tuples/TupleDefinitions.cs
@@ -100,6 +100,7 @@ namespace WixToolset.Data
100 ProgId, 100 ProgId,
101 Properties, 101 Properties,
102 Property, 102 Property,
103 ProvidesDependency,
103 PublishComponent, 104 PublishComponent,
104 RadioButton, 105 RadioButton,
105 Registry, 106 Registry,
@@ -144,7 +145,6 @@ namespace WixToolset.Data
144 WixBundlePatchTargetCode, 145 WixBundlePatchTargetCode,
145 WixBundlePayload, 146 WixBundlePayload,
146 WixBundlePayloadGroup, 147 WixBundlePayloadGroup,
147 WixBundleProperties,
148 WixBundleRelatedPackage, 148 WixBundleRelatedPackage,
149 WixBundleRollbackBoundary, 149 WixBundleRollbackBoundary,
150 WixBundleSlipstreamMsp, 150 WixBundleSlipstreamMsp,
@@ -159,6 +159,7 @@ namespace WixToolset.Data
159 WixCustomTable, 159 WixCustomTable,
160 WixDeltaPatchFile, 160 WixDeltaPatchFile,
161 WixDeltaPatchSymbolPaths, 161 WixDeltaPatchSymbolPaths,
162 WixDependencyProvider,
162 WixEnsureTable, 163 WixEnsureTable,
163 WixFeatureGroup, 164 WixFeatureGroup,
164 WixFeatureModules, 165 WixFeatureModules,
@@ -171,15 +172,12 @@ namespace WixToolset.Data
171 WixMediaTemplate, 172 WixMediaTemplate,
172 WixMerge, 173 WixMerge,
173 WixOrdering, 174 WixOrdering,
174 WixPackageFeatureInfo,
175 WixPackageProperties,
176 WixPatchBaseline, 175 WixPatchBaseline,
177 WixPatchFamilyGroup, 176 WixPatchFamilyGroup,
178 WixPatchId, 177 WixPatchId,
179 WixPatchMetadata, 178 WixPatchMetadata,
180 WixPatchRef, 179 WixPatchRef,
181 WixPatchTarget, 180 WixPatchTarget,
182 WixPayloadProperties,
183 WixProductSearch, 181 WixProductSearch,
184 WixProperty, 182 WixProperty,
185 WixRegistrySearch, 183 WixRegistrySearch,
@@ -495,6 +493,9 @@ namespace WixToolset.Data
495 case TupleDefinitionType.PublishComponent: 493 case TupleDefinitionType.PublishComponent:
496 return TupleDefinitions.PublishComponent; 494 return TupleDefinitions.PublishComponent;
497 495
496 case TupleDefinitionType.ProvidesDependency:
497 return TupleDefinitions.ProvidesDependency;
498
498 case TupleDefinitionType.RadioButton: 499 case TupleDefinitionType.RadioButton:
499 return TupleDefinitions.RadioButton; 500 return TupleDefinitions.RadioButton;
500 501
@@ -624,9 +625,6 @@ namespace WixToolset.Data
624 case TupleDefinitionType.WixBundlePayloadGroup: 625 case TupleDefinitionType.WixBundlePayloadGroup:
625 return TupleDefinitions.WixBundlePayloadGroup; 626 return TupleDefinitions.WixBundlePayloadGroup;
626 627
627 case TupleDefinitionType.WixBundleProperties:
628 return TupleDefinitions.WixBundleProperties;
629
630 case TupleDefinitionType.WixBundleRelatedPackage: 628 case TupleDefinitionType.WixBundleRelatedPackage:
631 return TupleDefinitions.WixBundleRelatedPackage; 629 return TupleDefinitions.WixBundleRelatedPackage;
632 630
@@ -699,12 +697,6 @@ namespace WixToolset.Data
699 case TupleDefinitionType.WixOrdering: 697 case TupleDefinitionType.WixOrdering:
700 return TupleDefinitions.WixOrdering; 698 return TupleDefinitions.WixOrdering;
701 699
702 case TupleDefinitionType.WixPackageFeatureInfo:
703 return TupleDefinitions.WixPackageFeatureInfo;
704
705 case TupleDefinitionType.WixPackageProperties:
706 return TupleDefinitions.WixPackageProperties;
707
708 case TupleDefinitionType.WixPatchBaseline: 700 case TupleDefinitionType.WixPatchBaseline:
709 return TupleDefinitions.WixPatchBaseline; 701 return TupleDefinitions.WixPatchBaseline;
710 702
@@ -723,9 +715,6 @@ namespace WixToolset.Data
723 case TupleDefinitionType.WixPatchTarget: 715 case TupleDefinitionType.WixPatchTarget:
724 return TupleDefinitions.WixPatchTarget; 716 return TupleDefinitions.WixPatchTarget;
725 717
726 case TupleDefinitionType.WixPayloadProperties:
727 return TupleDefinitions.WixPayloadProperties;
728
729 case TupleDefinitionType.WixProductSearch: 718 case TupleDefinitionType.WixProductSearch:
730 return TupleDefinitions.WixProductSearch; 719 return TupleDefinitions.WixProductSearch;
731 720
diff --git a/src/WixToolset.Data/Tuples/WixApprovedExeForElevationTuple.cs b/src/WixToolset.Data/Tuples/WixApprovedExeForElevationTuple.cs
index e2326697..07fe838b 100644
--- a/src/WixToolset.Data/Tuples/WixApprovedExeForElevationTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixApprovedExeForElevationTuple.cs
@@ -11,7 +11,7 @@ namespace WixToolset.Data
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixApprovedExeForElevationTupleFields.Key), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixApprovedExeForElevationTupleFields.Key), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixApprovedExeForElevationTupleFields.Value), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixApprovedExeForElevationTupleFields.ValueName), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixApprovedExeForElevationTupleFields.Attributes), IntermediateFieldType.Number), 15 new IntermediateFieldDefinition(nameof(WixApprovedExeForElevationTupleFields.Attributes), IntermediateFieldType.Number),
16 }, 16 },
17 typeof(WixApprovedExeForElevationTuple)); 17 typeof(WixApprovedExeForElevationTuple));
@@ -20,13 +20,22 @@ namespace WixToolset.Data
20 20
21namespace WixToolset.Data.Tuples 21namespace WixToolset.Data.Tuples
22{ 22{
23 using System;
24
23 public enum WixApprovedExeForElevationTupleFields 25 public enum WixApprovedExeForElevationTupleFields
24 { 26 {
25 Key, 27 Key,
26 Value, 28 ValueName,
27 Attributes, 29 Attributes,
28 } 30 }
29 31
32 [Flags]
33 public enum WixApprovedExeForElevationAttributes
34 {
35 None = 0x0,
36 Win64 = 0x1,
37 }
38
30 public class WixApprovedExeForElevationTuple : IntermediateTuple 39 public class WixApprovedExeForElevationTuple : IntermediateTuple
31 { 40 {
32 public WixApprovedExeForElevationTuple() : base(TupleDefinitions.WixApprovedExeForElevation, null, null) 41 public WixApprovedExeForElevationTuple() : base(TupleDefinitions.WixApprovedExeForElevation, null, null)
@@ -45,16 +54,18 @@ namespace WixToolset.Data.Tuples
45 set => this.Set((int)WixApprovedExeForElevationTupleFields.Key, value); 54 set => this.Set((int)WixApprovedExeForElevationTupleFields.Key, value);
46 } 55 }
47 56
48 public string Value 57 public string ValueName
49 { 58 {
50 get => (string)this.Fields[(int)WixApprovedExeForElevationTupleFields.Value]; 59 get => (string)this.Fields[(int)WixApprovedExeForElevationTupleFields.ValueName];
51 set => this.Set((int)WixApprovedExeForElevationTupleFields.Value, value); 60 set => this.Set((int)WixApprovedExeForElevationTupleFields.ValueName, value);
52 } 61 }
53 62
54 public BundleApprovedExeForElevationAttributes Attributes 63 public WixApprovedExeForElevationAttributes Attributes
55 { 64 {
56 get => (BundleApprovedExeForElevationAttributes)this.Fields[(int)WixApprovedExeForElevationTupleFields.Attributes].AsNumber(); 65 get => (WixApprovedExeForElevationAttributes)this.Fields[(int)WixApprovedExeForElevationTupleFields.Attributes].AsNumber();
57 set => this.Set((int)WixApprovedExeForElevationTupleFields.Attributes, (int)value); 66 set => this.Set((int)WixApprovedExeForElevationTupleFields.Attributes, (int)value);
58 } 67 }
68
69 public bool Win64 => (this.Attributes & WixApprovedExeForElevationAttributes.Win64) == WixApprovedExeForElevationAttributes.Win64;
59 } 70 }
60} \ No newline at end of file 71}
diff --git a/src/WixToolset.Data/Tuples/WixBundleCatalogTuple.cs b/src/WixToolset.Data/Tuples/WixBundleCatalogTuple.cs
index ca6e6b33..51c1306e 100644
--- a/src/WixToolset.Data/Tuples/WixBundleCatalogTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleCatalogTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleCatalog, 10 TupleDefinitionType.WixBundleCatalog,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleCatalogTupleFields.WixBundleCatalog), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleCatalogTupleFields.PayloadRef), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundleCatalogTupleFields.PayloadRef), IntermediateFieldType.String),
15 }, 14 },
16 typeof(WixBundleCatalogTuple)); 15 typeof(WixBundleCatalogTuple));
@@ -21,7 +20,6 @@ namespace WixToolset.Data.Tuples
21{ 20{
22 public enum WixBundleCatalogTupleFields 21 public enum WixBundleCatalogTupleFields
23 { 22 {
24 WixBundleCatalog,
25 PayloadRef, 23 PayloadRef,
26 } 24 }
27 25
@@ -37,16 +35,10 @@ namespace WixToolset.Data.Tuples
37 35
38 public IntermediateField this[WixBundleCatalogTupleFields index] => this.Fields[(int)index]; 36 public IntermediateField this[WixBundleCatalogTupleFields index] => this.Fields[(int)index];
39 37
40 public string WixBundleCatalog
41 {
42 get => (string)this.Fields[(int)WixBundleCatalogTupleFields.WixBundleCatalog];
43 set => this.Set((int)WixBundleCatalogTupleFields.WixBundleCatalog, value);
44 }
45
46 public string PayloadRef 38 public string PayloadRef
47 { 39 {
48 get => (string)this.Fields[(int)WixBundleCatalogTupleFields.PayloadRef]; 40 get => (string)this.Fields[(int)WixBundleCatalogTupleFields.PayloadRef];
49 set => this.Set((int)WixBundleCatalogTupleFields.PayloadRef, value); 41 set => this.Set((int)WixBundleCatalogTupleFields.PayloadRef, value);
50 } 42 }
51 } 43 }
52} \ No newline at end of file 44}
diff --git a/src/WixToolset.Data/Tuples/WixBundleExePackageTuple.cs b/src/WixToolset.Data/Tuples/WixBundleExePackageTuple.cs
index 798e2d0d..e87de26d 100644
--- a/src/WixToolset.Data/Tuples/WixBundleExePackageTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleExePackageTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleExePackage, 10 TupleDefinitionType.WixBundleExePackage,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleExePackageTupleFields.WixBundlePackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleExePackageTupleFields.Attributes), IntermediateFieldType.Number), 13 new IntermediateFieldDefinition(nameof(WixBundleExePackageTupleFields.Attributes), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixBundleExePackageTupleFields.DetectCondition), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleExePackageTupleFields.DetectCondition), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundleExePackageTupleFields.InstallCommand), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundleExePackageTupleFields.InstallCommand), IntermediateFieldType.String),
@@ -28,7 +27,6 @@ namespace WixToolset.Data.Tuples
28 27
29 public enum WixBundleExePackageTupleFields 28 public enum WixBundleExePackageTupleFields
30 { 29 {
31 WixBundlePackageRef,
32 Attributes, 30 Attributes,
33 DetectCondition, 31 DetectCondition,
34 InstallCommand, 32 InstallCommand,
@@ -40,7 +38,7 @@ namespace WixToolset.Data.Tuples
40 [Flags] 38 [Flags]
41 public enum WixBundleExePackageAttributes 39 public enum WixBundleExePackageAttributes
42 { 40 {
43 Repairable = 0x1, 41 None = 0,
44 } 42 }
45 43
46 public class WixBundleExePackageTuple : IntermediateTuple 44 public class WixBundleExePackageTuple : IntermediateTuple
@@ -55,12 +53,6 @@ namespace WixToolset.Data.Tuples
55 53
56 public IntermediateField this[WixBundleExePackageTupleFields index] => this.Fields[(int)index]; 54 public IntermediateField this[WixBundleExePackageTupleFields index] => this.Fields[(int)index];
57 55
58 public string WixBundlePackageRef
59 {
60 get => (string)this.Fields[(int)WixBundleExePackageTupleFields.WixBundlePackageRef];
61 set => this.Set((int)WixBundleExePackageTupleFields.WixBundlePackageRef, value);
62 }
63
64 public WixBundleExePackageAttributes Attributes 56 public WixBundleExePackageAttributes Attributes
65 { 57 {
66 get => (WixBundleExePackageAttributes)(int)this.Fields[(int)WixBundleExePackageTupleFields.Attributes]; 58 get => (WixBundleExePackageAttributes)(int)this.Fields[(int)WixBundleExePackageTupleFields.Attributes];
@@ -96,5 +88,7 @@ namespace WixToolset.Data.Tuples
96 get => (string)this.Fields[(int)WixBundleExePackageTupleFields.ExeProtocol]; 88 get => (string)this.Fields[(int)WixBundleExePackageTupleFields.ExeProtocol];
97 set => this.Set((int)WixBundleExePackageTupleFields.ExeProtocol, value); 89 set => this.Set((int)WixBundleExePackageTupleFields.ExeProtocol, value);
98 } 90 }
91
92 public bool Repairable => !String.IsNullOrEmpty(this.RepairCommand);
99 } 93 }
100} \ No newline at end of file 94}
diff --git a/src/WixToolset.Data/Tuples/WixBundleMsiFeatureTuple.cs b/src/WixToolset.Data/Tuples/WixBundleMsiFeatureTuple.cs
index 7b6c635a..dab42529 100644
--- a/src/WixToolset.Data/Tuples/WixBundleMsiFeatureTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleMsiFeatureTuple.cs
@@ -10,9 +10,9 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleMsiFeature, 10 TupleDefinitionType.WixBundleMsiFeature,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.WixBundlePackageRef), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.PackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Name), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Name), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Size), IntermediateFieldType.Number), 15 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Size), IntermediateFieldType.LargeNumber),
16 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Parent), IntermediateFieldType.String), 16 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Parent), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Title), IntermediateFieldType.String), 17 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Title), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Description), IntermediateFieldType.String), 18 new IntermediateFieldDefinition(nameof(WixBundleMsiFeatureTupleFields.Description), IntermediateFieldType.String),
@@ -29,7 +29,7 @@ namespace WixToolset.Data.Tuples
29{ 29{
30 public enum WixBundleMsiFeatureTupleFields 30 public enum WixBundleMsiFeatureTupleFields
31 { 31 {
32 WixBundlePackageRef, 32 PackageRef,
33 Name, 33 Name,
34 Size, 34 Size,
35 Parent, 35 Parent,
@@ -53,10 +53,10 @@ namespace WixToolset.Data.Tuples
53 53
54 public IntermediateField this[WixBundleMsiFeatureTupleFields index] => this.Fields[(int)index]; 54 public IntermediateField this[WixBundleMsiFeatureTupleFields index] => this.Fields[(int)index];
55 55
56 public string WixBundlePackageRef 56 public string PackageRef
57 { 57 {
58 get => (string)this.Fields[(int)WixBundleMsiFeatureTupleFields.WixBundlePackageRef]; 58 get => (string)this.Fields[(int)WixBundleMsiFeatureTupleFields.PackageRef];
59 set => this.Set((int)WixBundleMsiFeatureTupleFields.WixBundlePackageRef, value); 59 set => this.Set((int)WixBundleMsiFeatureTupleFields.PackageRef, value);
60 } 60 }
61 61
62 public string Name 62 public string Name
@@ -65,9 +65,9 @@ namespace WixToolset.Data.Tuples
65 set => this.Set((int)WixBundleMsiFeatureTupleFields.Name, value); 65 set => this.Set((int)WixBundleMsiFeatureTupleFields.Name, value);
66 } 66 }
67 67
68 public int Size 68 public long Size
69 { 69 {
70 get => (int)this.Fields[(int)WixBundleMsiFeatureTupleFields.Size]; 70 get => (long)this.Fields[(int)WixBundleMsiFeatureTupleFields.Size];
71 set => this.Set((int)WixBundleMsiFeatureTupleFields.Size, value); 71 set => this.Set((int)WixBundleMsiFeatureTupleFields.Size, value);
72 } 72 }
73 73
@@ -113,4 +113,4 @@ namespace WixToolset.Data.Tuples
113 set => this.Set((int)WixBundleMsiFeatureTupleFields.Attributes, value); 113 set => this.Set((int)WixBundleMsiFeatureTupleFields.Attributes, value);
114 } 114 }
115 } 115 }
116} \ No newline at end of file 116}
diff --git a/src/WixToolset.Data/Tuples/WixBundleMsiPackageTuple.cs b/src/WixToolset.Data/Tuples/WixBundleMsiPackageTuple.cs
index a86c33d0..3a205376 100644
--- a/src/WixToolset.Data/Tuples/WixBundleMsiPackageTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleMsiPackageTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleMsiPackage, 10 TupleDefinitionType.WixBundleMsiPackage,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageTupleFields.WixBundlePackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageTupleFields.Attributes), IntermediateFieldType.Number), 13 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageTupleFields.Attributes), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageTupleFields.ProductCode), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageTupleFields.ProductCode), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageTupleFields.UpgradeCode), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageTupleFields.UpgradeCode), IntermediateFieldType.String),
@@ -29,7 +28,6 @@ namespace WixToolset.Data.Tuples
29 28
30 public enum WixBundleMsiPackageTupleFields 29 public enum WixBundleMsiPackageTupleFields
31 { 30 {
32 WixBundlePackageRef,
33 Attributes, 31 Attributes,
34 ProductCode, 32 ProductCode,
35 UpgradeCode, 33 UpgradeCode,
@@ -45,7 +43,6 @@ namespace WixToolset.Data.Tuples
45 DisplayInternalUI = 0x1, 43 DisplayInternalUI = 0x1,
46 EnableFeatureSelection = 0x4, 44 EnableFeatureSelection = 0x4,
47 ForcePerMachine = 0x2, 45 ForcePerMachine = 0x2,
48 SuppressLooseFilePayloadGeneration = 0x8,
49 } 46 }
50 47
51 public class WixBundleMsiPackageTuple : IntermediateTuple 48 public class WixBundleMsiPackageTuple : IntermediateTuple
@@ -60,12 +57,6 @@ namespace WixToolset.Data.Tuples
60 57
61 public IntermediateField this[WixBundleMsiPackageTupleFields index] => this.Fields[(int)index]; 58 public IntermediateField this[WixBundleMsiPackageTupleFields index] => this.Fields[(int)index];
62 59
63 public string WixBundlePackageRef
64 {
65 get => (string)this.Fields[(int)WixBundleMsiPackageTupleFields.WixBundlePackageRef];
66 set => this.Set((int)WixBundleMsiPackageTupleFields.WixBundlePackageRef, value);
67 }
68
69 public WixBundleMsiPackageAttributes Attributes 60 public WixBundleMsiPackageAttributes Attributes
70 { 61 {
71 get => (WixBundleMsiPackageAttributes)(int)this.Fields[(int)WixBundleMsiPackageTupleFields.Attributes]; 62 get => (WixBundleMsiPackageAttributes)(int)this.Fields[(int)WixBundleMsiPackageTupleFields.Attributes];
@@ -107,5 +98,11 @@ namespace WixToolset.Data.Tuples
107 get => (string)this.Fields[(int)WixBundleMsiPackageTupleFields.Manufacturer]; 98 get => (string)this.Fields[(int)WixBundleMsiPackageTupleFields.Manufacturer];
108 set => this.Set((int)WixBundleMsiPackageTupleFields.Manufacturer, value); 99 set => this.Set((int)WixBundleMsiPackageTupleFields.Manufacturer, value);
109 } 100 }
101
102 public bool DisplayInternalUI => (this.Attributes & WixBundleMsiPackageAttributes.DisplayInternalUI) == WixBundleMsiPackageAttributes.DisplayInternalUI;
103
104 public bool EnableFeatureSelection => (this.Attributes & WixBundleMsiPackageAttributes.EnableFeatureSelection) == WixBundleMsiPackageAttributes.EnableFeatureSelection;
105
106 public bool ForcePerMachine => (this.Attributes & WixBundleMsiPackageAttributes.ForcePerMachine) == WixBundleMsiPackageAttributes.ForcePerMachine;
110 } 107 }
111} \ No newline at end of file 108} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixBundleMsiPropertyTuple.cs b/src/WixToolset.Data/Tuples/WixBundleMsiPropertyTuple.cs
index 2b236a24..80500f17 100644
--- a/src/WixToolset.Data/Tuples/WixBundleMsiPropertyTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleMsiPropertyTuple.cs
@@ -10,7 +10,7 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleMsiProperty, 10 TupleDefinitionType.WixBundleMsiProperty,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.WixBundlePackageRef), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.PackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.Name), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.Name), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.Value), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.Value), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.Condition), IntermediateFieldType.String), 16 new IntermediateFieldDefinition(nameof(WixBundleMsiPropertyTupleFields.Condition), IntermediateFieldType.String),
@@ -23,7 +23,7 @@ namespace WixToolset.Data.Tuples
23{ 23{
24 public enum WixBundleMsiPropertyTupleFields 24 public enum WixBundleMsiPropertyTupleFields
25 { 25 {
26 WixBundlePackageRef, 26 PackageRef,
27 Name, 27 Name,
28 Value, 28 Value,
29 Condition, 29 Condition,
@@ -41,10 +41,10 @@ namespace WixToolset.Data.Tuples
41 41
42 public IntermediateField this[WixBundleMsiPropertyTupleFields index] => this.Fields[(int)index]; 42 public IntermediateField this[WixBundleMsiPropertyTupleFields index] => this.Fields[(int)index];
43 43
44 public string WixBundlePackageRef 44 public string PackageRef
45 { 45 {
46 get => (string)this.Fields[(int)WixBundleMsiPropertyTupleFields.WixBundlePackageRef]; 46 get => (string)this.Fields[(int)WixBundleMsiPropertyTupleFields.PackageRef];
47 set => this.Set((int)WixBundleMsiPropertyTupleFields.WixBundlePackageRef, value); 47 set => this.Set((int)WixBundleMsiPropertyTupleFields.PackageRef, value);
48 } 48 }
49 49
50 public string Name 50 public string Name
diff --git a/src/WixToolset.Data/Tuples/WixBundleMspPackageTuple.cs b/src/WixToolset.Data/Tuples/WixBundleMspPackageTuple.cs
index 8ef38fde..6c5cb38b 100644
--- a/src/WixToolset.Data/Tuples/WixBundleMspPackageTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleMspPackageTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleMspPackage, 10 TupleDefinitionType.WixBundleMspPackage,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleMspPackageTupleFields.WixBundlePackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleMspPackageTupleFields.Attributes), IntermediateFieldType.Number), 13 new IntermediateFieldDefinition(nameof(WixBundleMspPackageTupleFields.Attributes), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixBundleMspPackageTupleFields.PatchCode), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleMspPackageTupleFields.PatchCode), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundleMspPackageTupleFields.Manufacturer), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundleMspPackageTupleFields.Manufacturer), IntermediateFieldType.String),
@@ -26,7 +25,6 @@ namespace WixToolset.Data.Tuples
26 25
27 public enum WixBundleMspPackageTupleFields 26 public enum WixBundleMspPackageTupleFields
28 { 27 {
29 WixBundlePackageRef,
30 Attributes, 28 Attributes,
31 PatchCode, 29 PatchCode,
32 Manufacturer, 30 Manufacturer,
@@ -53,12 +51,6 @@ namespace WixToolset.Data.Tuples
53 51
54 public IntermediateField this[WixBundleMspPackageTupleFields index] => this.Fields[(int)index]; 52 public IntermediateField this[WixBundleMspPackageTupleFields index] => this.Fields[(int)index];
55 53
56 public string WixBundlePackageRef
57 {
58 get => (string)this.Fields[(int)WixBundleMspPackageTupleFields.WixBundlePackageRef];
59 set => this.Set((int)WixBundleMspPackageTupleFields.WixBundlePackageRef, value);
60 }
61
62 public WixBundleMspPackageAttributes Attributes 54 public WixBundleMspPackageAttributes Attributes
63 { 55 {
64 get => (WixBundleMspPackageAttributes)(int)this.Fields[(int)WixBundleMspPackageTupleFields.Attributes]; 56 get => (WixBundleMspPackageAttributes)(int)this.Fields[(int)WixBundleMspPackageTupleFields.Attributes];
@@ -82,5 +74,11 @@ namespace WixToolset.Data.Tuples
82 get => (string)this.Fields[(int)WixBundleMspPackageTupleFields.PatchXml]; 74 get => (string)this.Fields[(int)WixBundleMspPackageTupleFields.PatchXml];
83 set => this.Set((int)WixBundleMspPackageTupleFields.PatchXml, value); 75 set => this.Set((int)WixBundleMspPackageTupleFields.PatchXml, value);
84 } 76 }
77
78 public bool DisplayInternalUI => (this.Attributes & WixBundleMspPackageAttributes.DisplayInternalUI) == WixBundleMspPackageAttributes.DisplayInternalUI;
79
80 public bool Slipstream => (this.Attributes & WixBundleMspPackageAttributes.Slipstream) == WixBundleMspPackageAttributes.Slipstream;
81
82 public bool TargetUnspecified => (this.Attributes & WixBundleMspPackageAttributes.TargetUnspecified) == WixBundleMspPackageAttributes.TargetUnspecified;
85 } 83 }
86} \ No newline at end of file 84} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixBundleMsuPackageTuple.cs b/src/WixToolset.Data/Tuples/WixBundleMsuPackageTuple.cs
index 33add8e9..5d5a4672 100644
--- a/src/WixToolset.Data/Tuples/WixBundleMsuPackageTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleMsuPackageTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleMsuPackage, 10 TupleDefinitionType.WixBundleMsuPackage,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageTupleFields.WixBundlePackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageTupleFields.DetectCondition), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageTupleFields.DetectCondition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageTupleFields.MsuKB), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageTupleFields.MsuKB), IntermediateFieldType.String),
16 }, 15 },
@@ -22,7 +21,6 @@ namespace WixToolset.Data.Tuples
22{ 21{
23 public enum WixBundleMsuPackageTupleFields 22 public enum WixBundleMsuPackageTupleFields
24 { 23 {
25 WixBundlePackageRef,
26 DetectCondition, 24 DetectCondition,
27 MsuKB, 25 MsuKB,
28 } 26 }
@@ -39,12 +37,6 @@ namespace WixToolset.Data.Tuples
39 37
40 public IntermediateField this[WixBundleMsuPackageTupleFields index] => this.Fields[(int)index]; 38 public IntermediateField this[WixBundleMsuPackageTupleFields index] => this.Fields[(int)index];
41 39
42 public string WixBundlePackageRef
43 {
44 get => (string)this.Fields[(int)WixBundleMsuPackageTupleFields.WixBundlePackageRef];
45 set => this.Set((int)WixBundleMsuPackageTupleFields.WixBundlePackageRef, value);
46 }
47
48 public string DetectCondition 40 public string DetectCondition
49 { 41 {
50 get => (string)this.Fields[(int)WixBundleMsuPackageTupleFields.DetectCondition]; 42 get => (string)this.Fields[(int)WixBundleMsuPackageTupleFields.DetectCondition];
diff --git a/src/WixToolset.Data/Tuples/WixBundlePackageExitCodeTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePackageExitCodeTuple.cs
index 880f1f73..c585011d 100644
--- a/src/WixToolset.Data/Tuples/WixBundlePackageExitCodeTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundlePackageExitCodeTuple.cs
@@ -56,9 +56,9 @@ namespace WixToolset.Data.Tuples
56 set => this.Set((int)WixBundlePackageExitCodeTupleFields.ChainPackageId, value); 56 set => this.Set((int)WixBundlePackageExitCodeTupleFields.ChainPackageId, value);
57 } 57 }
58 58
59 public int Code 59 public int? Code
60 { 60 {
61 get => (int)this.Fields[(int)WixBundlePackageExitCodeTupleFields.Code]; 61 get => (int?)this.Fields[(int)WixBundlePackageExitCodeTupleFields.Code];
62 set => this.Set((int)WixBundlePackageExitCodeTupleFields.Code, value); 62 set => this.Set((int)WixBundlePackageExitCodeTupleFields.Code, value);
63 } 63 }
64 64
@@ -68,4 +68,4 @@ namespace WixToolset.Data.Tuples
68 set => this.Set((int)WixBundlePackageExitCodeTupleFields.Behavior, value.ToString()); 68 set => this.Set((int)WixBundlePackageExitCodeTupleFields.Behavior, value.ToString());
69 } 69 }
70 } 70 }
71} \ No newline at end of file 71}
diff --git a/src/WixToolset.Data/Tuples/WixBundlePackageTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePackageTuple.cs
index 07fdc2d5..d61e12d0 100644
--- a/src/WixToolset.Data/Tuples/WixBundlePackageTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundlePackageTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundlePackage, 10 TupleDefinitionType.WixBundlePackage,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.WixChainItemRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Type), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Type), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.PayloadRef), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.PayloadRef), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Attributes), IntermediateFieldType.Number), 15 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Attributes), IntermediateFieldType.Number),
@@ -22,14 +21,14 @@ namespace WixToolset.Data
22 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.LogPathVariable), IntermediateFieldType.String), 21 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.LogPathVariable), IntermediateFieldType.String),
23 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.RollbackLogPathVariable), IntermediateFieldType.String), 22 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.RollbackLogPathVariable), IntermediateFieldType.String),
24 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Size), IntermediateFieldType.Number), 23 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Size), IntermediateFieldType.Number),
25 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.InstallSize), IntermediateFieldType.Number), 24 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.InstallSize), IntermediateFieldType.LargeNumber),
26 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Version), IntermediateFieldType.String), 25 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Version), IntermediateFieldType.String),
27 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Language), IntermediateFieldType.Number), 26 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Language), IntermediateFieldType.Number),
28 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.DisplayName), IntermediateFieldType.String), 27 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.DisplayName), IntermediateFieldType.String),
29 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Description), IntermediateFieldType.String), 28 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Description), IntermediateFieldType.String),
30 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.RollbackBoundaryRef), IntermediateFieldType.String), 29 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.RollbackBoundaryRef), IntermediateFieldType.String),
31 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.RollbackBoundaryBackwardRef), IntermediateFieldType.String), 30 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.RollbackBoundaryBackwardRef), IntermediateFieldType.String),
32 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Win64), IntermediateFieldType.Number), 31 new IntermediateFieldDefinition(nameof(WixBundlePackageTupleFields.Win64), IntermediateFieldType.Bool),
33 }, 32 },
34 typeof(WixBundlePackageTuple)); 33 typeof(WixBundlePackageTuple));
35 } 34 }
@@ -41,7 +40,6 @@ namespace WixToolset.Data.Tuples
41 40
42 public enum WixBundlePackageTupleFields 41 public enum WixBundlePackageTupleFields
43 { 42 {
44 WixChainItemRef,
45 Type, 43 Type,
46 PayloadRef, 44 PayloadRef,
47 Attributes, 45 Attributes,
@@ -79,6 +77,8 @@ namespace WixToolset.Data.Tuples
79 { 77 {
80 Permanent = 0x1, 78 Permanent = 0x1,
81 Visible = 0x2, 79 Visible = 0x2,
80 PerMachine = 0x4,
81 Win64 = 0x8,
82 } 82 }
83 83
84 public class WixBundlePackageTuple : IntermediateTuple 84 public class WixBundlePackageTuple : IntermediateTuple
@@ -93,12 +93,6 @@ namespace WixToolset.Data.Tuples
93 93
94 public IntermediateField this[WixBundlePackageTupleFields index] => this.Fields[(int)index]; 94 public IntermediateField this[WixBundlePackageTupleFields index] => this.Fields[(int)index];
95 95
96 public string WixChainItemRef
97 {
98 get => (string)this.Fields[(int)WixBundlePackageTupleFields.WixChainItemRef];
99 set => this.Set((int)WixBundlePackageTupleFields.WixChainItemRef, value);
100 }
101
102 public WixBundlePackageType Type 96 public WixBundlePackageType Type
103 { 97 {
104 get => (WixBundlePackageType)Enum.Parse(typeof(WixBundlePackageType), (string)this.Fields[(int)WixBundlePackageTupleFields.Type], true); 98 get => (WixBundlePackageType)Enum.Parse(typeof(WixBundlePackageType), (string)this.Fields[(int)WixBundlePackageTupleFields.Type], true);
@@ -165,9 +159,9 @@ namespace WixToolset.Data.Tuples
165 set => this.Set((int)WixBundlePackageTupleFields.Size, value); 159 set => this.Set((int)WixBundlePackageTupleFields.Size, value);
166 } 160 }
167 161
168 public int InstallSize 162 public long? InstallSize
169 { 163 {
170 get => (int)this.Fields[(int)WixBundlePackageTupleFields.InstallSize]; 164 get => (long?)this.Fields[(int)WixBundlePackageTupleFields.InstallSize];
171 set => this.Set((int)WixBundlePackageTupleFields.InstallSize, value); 165 set => this.Set((int)WixBundlePackageTupleFields.InstallSize, value);
172 } 166 }
173 167
@@ -207,10 +201,12 @@ namespace WixToolset.Data.Tuples
207 set => this.Set((int)WixBundlePackageTupleFields.RollbackBoundaryBackwardRef, value); 201 set => this.Set((int)WixBundlePackageTupleFields.RollbackBoundaryBackwardRef, value);
208 } 202 }
209 203
210 public int Win64 204 public bool Win64
211 { 205 {
212 get => (int)this.Fields[(int)WixBundlePackageTupleFields.Win64]; 206 get => (bool)this.Fields[(int)WixBundlePackageTupleFields.Win64];
213 set => this.Set((int)WixBundlePackageTupleFields.Win64, value); 207 set => this.Set((int)WixBundlePackageTupleFields.Win64, value);
214 } 208 }
209
210 public bool Permanent => (this.Attributes & WixBundlePackageAttributes.Permanent) == WixBundlePackageAttributes.Permanent;
215 } 211 }
216} \ No newline at end of file 212} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs
index f8752067..56ca144f 100644
--- a/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs
@@ -10,7 +10,7 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundlePatchTargetCode, 10 TupleDefinitionType.WixBundlePatchTargetCode,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.PackageId), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.PackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.TargetCode), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.TargetCode), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.Attributes), IntermediateFieldType.Number), 15 new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.Attributes), IntermediateFieldType.Number),
16 }, 16 },
@@ -20,13 +20,31 @@ namespace WixToolset.Data
20 20
21namespace WixToolset.Data.Tuples 21namespace WixToolset.Data.Tuples
22{ 22{
23 using System;
24
23 public enum WixBundlePatchTargetCodeTupleFields 25 public enum WixBundlePatchTargetCodeTupleFields
24 { 26 {
25 PackageId, 27 PackageRef,
26 TargetCode, 28 TargetCode,
27 Attributes, 29 Attributes,
28 } 30 }
29 31
32 [Flags]
33 public enum WixBundlePatchTargetCodeAttributes : int
34 {
35 None = 0,
36
37 /// <summary>
38 /// The transform targets a specific ProductCode.
39 /// </summary>
40 TargetsProductCode = 1,
41
42 /// <summary>
43 /// The transform targets a specific UpgradeCode.
44 /// </summary>
45 TargetsUpgradeCode = 2,
46 }
47
30 public class WixBundlePatchTargetCodeTuple : IntermediateTuple 48 public class WixBundlePatchTargetCodeTuple : IntermediateTuple
31 { 49 {
32 public WixBundlePatchTargetCodeTuple() : base(TupleDefinitions.WixBundlePatchTargetCode, null, null) 50 public WixBundlePatchTargetCodeTuple() : base(TupleDefinitions.WixBundlePatchTargetCode, null, null)
@@ -39,10 +57,10 @@ namespace WixToolset.Data.Tuples
39 57
40 public IntermediateField this[WixBundlePatchTargetCodeTupleFields index] => this.Fields[(int)index]; 58 public IntermediateField this[WixBundlePatchTargetCodeTupleFields index] => this.Fields[(int)index];
41 59
42 public string PackageId 60 public string PackageRef
43 { 61 {
44 get => (string)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.PackageId]; 62 get => (string)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.PackageRef];
45 set => this.Set((int)WixBundlePatchTargetCodeTupleFields.PackageId, value); 63 set => this.Set((int)WixBundlePatchTargetCodeTupleFields.PackageRef, value);
46 } 64 }
47 65
48 public string TargetCode 66 public string TargetCode
@@ -51,10 +69,14 @@ namespace WixToolset.Data.Tuples
51 set => this.Set((int)WixBundlePatchTargetCodeTupleFields.TargetCode, value); 69 set => this.Set((int)WixBundlePatchTargetCodeTupleFields.TargetCode, value);
52 } 70 }
53 71
54 public int Attributes 72 public WixBundlePatchTargetCodeAttributes Attributes
55 { 73 {
56 get => (int)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.Attributes]; 74 get => (WixBundlePatchTargetCodeAttributes)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.Attributes].AsNumber();
57 set => this.Set((int)WixBundlePatchTargetCodeTupleFields.Attributes, value); 75 set => this.Set((int)WixBundlePatchTargetCodeTupleFields.Attributes, (int)value);
58 } 76 }
77
78 public bool TargetsProductCode => (this.Attributes & WixBundlePatchTargetCodeAttributes.TargetsProductCode) == WixBundlePatchTargetCodeAttributes.TargetsProductCode;
79
80 public bool TargetsUpgradeCode => (this.Attributes & WixBundlePatchTargetCodeAttributes.TargetsUpgradeCode) == WixBundlePatchTargetCodeAttributes.TargetsUpgradeCode;
59 } 81 }
60} \ No newline at end of file 82}
diff --git a/src/WixToolset.Data/Tuples/WixBundlePayloadTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePayloadTuple.cs
index 5eb4a987..049ac3b5 100644
--- a/src/WixToolset.Data/Tuples/WixBundlePayloadTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundlePayloadTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundlePayload, 10 TupleDefinitionType.WixBundlePayload,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.WixBundlePayload), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.Name), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.Name), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.SourceFile), IntermediateFieldType.Path), 14 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.SourceFile), IntermediateFieldType.Path),
16 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.DownloadUrl), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.DownloadUrl), IntermediateFieldType.String),
@@ -26,10 +25,10 @@ namespace WixToolset.Data
26 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.Thumbprint), IntermediateFieldType.String), 25 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.Thumbprint), IntermediateFieldType.String),
27 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.CatalogRef), IntermediateFieldType.String), 26 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.CatalogRef), IntermediateFieldType.String),
28 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.ContainerRef), IntermediateFieldType.String), 27 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.ContainerRef), IntermediateFieldType.String),
29 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.Package), IntermediateFieldType.String), 28 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.PackageRef), IntermediateFieldType.String),
30 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.ContentFile), IntermediateFieldType.Bool), 29 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.ContentFile), IntermediateFieldType.Bool),
31 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.EmbeddedId), IntermediateFieldType.String), 30 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.EmbeddedId), IntermediateFieldType.String),
32 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.LayoutOnly), IntermediateFieldType.Number), 31 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.LayoutOnly), IntermediateFieldType.Bool),
33 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.Packaging), IntermediateFieldType.Number), 32 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.Packaging), IntermediateFieldType.Number),
34 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.ParentPackagePayloadRef), IntermediateFieldType.String), 33 new IntermediateFieldDefinition(nameof(WixBundlePayloadTupleFields.ParentPackagePayloadRef), IntermediateFieldType.String),
35 }, 34 },
@@ -43,7 +42,6 @@ namespace WixToolset.Data.Tuples
43 42
44 public enum WixBundlePayloadTupleFields 43 public enum WixBundlePayloadTupleFields
45 { 44 {
46 WixBundlePayload,
47 Name, 45 Name,
48 SourceFile, 46 SourceFile,
49 DownloadUrl, 47 DownloadUrl,
@@ -59,7 +57,7 @@ namespace WixToolset.Data.Tuples
59 Thumbprint, 57 Thumbprint,
60 CatalogRef, 58 CatalogRef,
61 ContainerRef, 59 ContainerRef,
62 Package, 60 PackageRef,
63 ContentFile, 61 ContentFile,
64 EmbeddedId, 62 EmbeddedId,
65 LayoutOnly, 63 LayoutOnly,
@@ -79,21 +77,15 @@ namespace WixToolset.Data.Tuples
79 77
80 public IntermediateField this[WixBundlePayloadTupleFields index] => this.Fields[(int)index]; 78 public IntermediateField this[WixBundlePayloadTupleFields index] => this.Fields[(int)index];
81 79
82 public string WixBundlePayload
83 {
84 get => (string)this.Fields[(int)WixBundlePayloadTupleFields.WixBundlePayload];
85 set => this.Set((int)WixBundlePayloadTupleFields.WixBundlePayload, value);
86 }
87
88 public string Name 80 public string Name
89 { 81 {
90 get => (string)this.Fields[(int)WixBundlePayloadTupleFields.Name]; 82 get => (string)this.Fields[(int)WixBundlePayloadTupleFields.Name];
91 set => this.Set((int)WixBundlePayloadTupleFields.Name, value); 83 set => this.Set((int)WixBundlePayloadTupleFields.Name, value);
92 } 84 }
93 85
94 public string SourceFile 86 public IntermediateFieldPathValue SourceFile
95 { 87 {
96 get => (string)this.Fields[(int)WixBundlePayloadTupleFields.SourceFile]; 88 get => this.Fields[(int)WixBundlePayloadTupleFields.SourceFile].AsPath();
97 set => this.Set((int)WixBundlePayloadTupleFields.SourceFile, value); 89 set => this.Set((int)WixBundlePayloadTupleFields.SourceFile, value);
98 } 90 }
99 91
@@ -103,10 +95,10 @@ namespace WixToolset.Data.Tuples
103 set => this.Set((int)WixBundlePayloadTupleFields.DownloadUrl, value); 95 set => this.Set((int)WixBundlePayloadTupleFields.DownloadUrl, value);
104 } 96 }
105 97
106 public YesNoDefaultType Compressed 98 public bool? Compressed
107 { 99 {
108 get => Enum.TryParse((string)this.Fields[(int)WixBundlePayloadTupleFields.Compressed], true, out YesNoDefaultType value) ? value : YesNoDefaultType.NotSet; 100 get => (bool?)this.Fields[(int)WixBundlePayloadTupleFields.Compressed];
109 set => this.Set((int)WixBundlePayloadTupleFields.Compressed, value.ToString().ToLowerInvariant()); 101 set => this.Set((int)WixBundlePayloadTupleFields.Compressed, value);
110 } 102 }
111 103
112 public string UnresolvedSourceFile 104 public string UnresolvedSourceFile
@@ -175,10 +167,10 @@ namespace WixToolset.Data.Tuples
175 set => this.Set((int)WixBundlePayloadTupleFields.ContainerRef, value); 167 set => this.Set((int)WixBundlePayloadTupleFields.ContainerRef, value);
176 } 168 }
177 169
178 public string Package 170 public string PackageRef
179 { 171 {
180 get => (string)this.Fields[(int)WixBundlePayloadTupleFields.Package]; 172 get => (string)this.Fields[(int)WixBundlePayloadTupleFields.PackageRef];
181 set => this.Set((int)WixBundlePayloadTupleFields.Package, value); 173 set => this.Set((int)WixBundlePayloadTupleFields.PackageRef, value);
182 } 174 }
183 175
184 public bool ContentFile 176 public bool ContentFile
@@ -193,16 +185,16 @@ namespace WixToolset.Data.Tuples
193 set => this.Set((int)WixBundlePayloadTupleFields.EmbeddedId, value); 185 set => this.Set((int)WixBundlePayloadTupleFields.EmbeddedId, value);
194 } 186 }
195 187
196 public int LayoutOnly 188 public bool LayoutOnly
197 { 189 {
198 get => (int)this.Fields[(int)WixBundlePayloadTupleFields.LayoutOnly]; 190 get => (bool)this.Fields[(int)WixBundlePayloadTupleFields.LayoutOnly];
199 set => this.Set((int)WixBundlePayloadTupleFields.LayoutOnly, value); 191 set => this.Set((int)WixBundlePayloadTupleFields.LayoutOnly, value);
200 } 192 }
201 193
202 public int Packaging 194 public PackagingType Packaging
203 { 195 {
204 get => (int)this.Fields[(int)WixBundlePayloadTupleFields.Packaging]; 196 get => (PackagingType)this.Fields[(int)WixBundlePayloadTupleFields.Packaging].AsNumber();
205 set => this.Set((int)WixBundlePayloadTupleFields.Packaging, value); 197 set => this.Set((int)WixBundlePayloadTupleFields.Packaging, (int)value);
206 } 198 }
207 199
208 public string ParentPackagePayloadRef 200 public string ParentPackagePayloadRef
@@ -211,4 +203,4 @@ namespace WixToolset.Data.Tuples
211 set => this.Set((int)WixBundlePayloadTupleFields.ParentPackagePayloadRef, value); 203 set => this.Set((int)WixBundlePayloadTupleFields.ParentPackagePayloadRef, value);
212 } 204 }
213 } 205 }
214} \ No newline at end of file 206}
diff --git a/src/WixToolset.Data/Tuples/WixBundlePropertiesTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePropertiesTuple.cs
deleted file mode 100644
index ae610aac..00000000
--- a/src/WixToolset.Data/Tuples/WixBundlePropertiesTuple.cs
+++ /dev/null
@@ -1,84 +0,0 @@
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.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition WixBundleProperties = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixBundleProperties,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixBundlePropertiesTupleFields.DisplayName), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundlePropertiesTupleFields.LogPathVariable), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundlePropertiesTupleFields.Compressed), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundlePropertiesTupleFields.BundleId), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundlePropertiesTupleFields.UpgradeCode), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixBundlePropertiesTupleFields.PerMachine), IntermediateFieldType.String),
19 },
20 typeof(WixBundlePropertiesTuple));
21 }
22}
23
24namespace WixToolset.Data.Tuples
25{
26 public enum WixBundlePropertiesTupleFields
27 {
28 DisplayName,
29 LogPathVariable,
30 Compressed,
31 BundleId,
32 UpgradeCode,
33 PerMachine,
34 }
35
36 public class WixBundlePropertiesTuple : IntermediateTuple
37 {
38 public WixBundlePropertiesTuple() : base(TupleDefinitions.WixBundleProperties, null, null)
39 {
40 }
41
42 public WixBundlePropertiesTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixBundleProperties, sourceLineNumber, id)
43 {
44 }
45
46 public IntermediateField this[WixBundlePropertiesTupleFields index] => this.Fields[(int)index];
47
48 public string DisplayName
49 {
50 get => (string)this.Fields[(int)WixBundlePropertiesTupleFields.DisplayName];
51 set => this.Set((int)WixBundlePropertiesTupleFields.DisplayName, value);
52 }
53
54 public string LogPathVariable
55 {
56 get => (string)this.Fields[(int)WixBundlePropertiesTupleFields.LogPathVariable];
57 set => this.Set((int)WixBundlePropertiesTupleFields.LogPathVariable, value);
58 }
59
60 public string Compressed
61 {
62 get => (string)this.Fields[(int)WixBundlePropertiesTupleFields.Compressed];
63 set => this.Set((int)WixBundlePropertiesTupleFields.Compressed, value);
64 }
65
66 public string BundleId
67 {
68 get => (string)this.Fields[(int)WixBundlePropertiesTupleFields.BundleId];
69 set => this.Set((int)WixBundlePropertiesTupleFields.BundleId, value);
70 }
71
72 public string UpgradeCode
73 {
74 get => (string)this.Fields[(int)WixBundlePropertiesTupleFields.UpgradeCode];
75 set => this.Set((int)WixBundlePropertiesTupleFields.UpgradeCode, value);
76 }
77
78 public string PerMachine
79 {
80 get => (string)this.Fields[(int)WixBundlePropertiesTupleFields.PerMachine];
81 set => this.Set((int)WixBundlePropertiesTupleFields.PerMachine, value);
82 }
83 }
84} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixBundleRelatedPackageTuple.cs b/src/WixToolset.Data/Tuples/WixBundleRelatedPackageTuple.cs
index ef620b26..e9a087f3 100644
--- a/src/WixToolset.Data/Tuples/WixBundleRelatedPackageTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleRelatedPackageTuple.cs
@@ -10,14 +10,12 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleRelatedPackage, 10 TupleDefinitionType.WixBundleRelatedPackage,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.PackageRef), IntermediateFieldType.String),
13 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.RelatedId), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.RelatedId), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.MinVersion), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.MinVersion), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.MaxVersion), IntermediateFieldType.String), 16 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.MaxVersion), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.Languages), IntermediateFieldType.String), 17 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.Languages), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.MinInclusive), IntermediateFieldType.Number), 18 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.Attributes), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.MaxInclusive), IntermediateFieldType.Number),
19 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.LangInclusive), IntermediateFieldType.Number),
20 new IntermediateFieldDefinition(nameof(WixBundleRelatedPackageTupleFields.OnlyDetect), IntermediateFieldType.Number),
21 }, 19 },
22 typeof(WixBundleRelatedPackageTuple)); 20 typeof(WixBundleRelatedPackageTuple));
23 } 21 }
@@ -25,16 +23,26 @@ namespace WixToolset.Data
25 23
26namespace WixToolset.Data.Tuples 24namespace WixToolset.Data.Tuples
27{ 25{
26 using System;
27
28 public enum WixBundleRelatedPackageTupleFields 28 public enum WixBundleRelatedPackageTupleFields
29 { 29 {
30 PackageRef,
30 RelatedId, 31 RelatedId,
31 MinVersion, 32 MinVersion,
32 MaxVersion, 33 MaxVersion,
33 Languages, 34 Languages,
34 MinInclusive, 35 Attributes,
35 MaxInclusive, 36 }
36 LangInclusive, 37
37 OnlyDetect, 38 [Flags]
39 public enum WixBundleRelatedPackageAttributes
40 {
41 None,
42 OnlyDetect = 0x1,
43 MinInclusive = 0x2,
44 MaxInclusive = 0x4,
45 LangInclusive = 0x8,
38 } 46 }
39 47
40 public class WixBundleRelatedPackageTuple : IntermediateTuple 48 public class WixBundleRelatedPackageTuple : IntermediateTuple
@@ -49,6 +57,12 @@ namespace WixToolset.Data.Tuples
49 57
50 public IntermediateField this[WixBundleRelatedPackageTupleFields index] => this.Fields[(int)index]; 58 public IntermediateField this[WixBundleRelatedPackageTupleFields index] => this.Fields[(int)index];
51 59
60 public string PackageRef
61 {
62 get => (string)this.Fields[(int)WixBundleRelatedPackageTupleFields.PackageRef];
63 set => this.Set((int)WixBundleRelatedPackageTupleFields.PackageRef, value);
64 }
65
52 public string RelatedId 66 public string RelatedId
53 { 67 {
54 get => (string)this.Fields[(int)WixBundleRelatedPackageTupleFields.RelatedId]; 68 get => (string)this.Fields[(int)WixBundleRelatedPackageTupleFields.RelatedId];
@@ -73,28 +87,18 @@ namespace WixToolset.Data.Tuples
73 set => this.Set((int)WixBundleRelatedPackageTupleFields.Languages, value); 87 set => this.Set((int)WixBundleRelatedPackageTupleFields.Languages, value);
74 } 88 }
75 89
76 public int MinInclusive 90 public WixBundleRelatedPackageAttributes Attributes
77 { 91 {
78 get => (int)this.Fields[(int)WixBundleRelatedPackageTupleFields.MinInclusive]; 92 get => (WixBundleRelatedPackageAttributes)this.Fields[(int)WixBundleRelatedPackageTupleFields.Attributes].AsNumber();
79 set => this.Set((int)WixBundleRelatedPackageTupleFields.MinInclusive, value); 93 set => this.Set((int)WixBundleRelatedPackageTupleFields.Attributes, (int)value);
80 } 94 }
81 95
82 public int MaxInclusive 96 public bool MinInclusive => (this.Attributes & WixBundleRelatedPackageAttributes.MinInclusive) == WixBundleRelatedPackageAttributes.MinInclusive;
83 {
84 get => (int)this.Fields[(int)WixBundleRelatedPackageTupleFields.MaxInclusive];
85 set => this.Set((int)WixBundleRelatedPackageTupleFields.MaxInclusive, value);
86 }
87 97
88 public int LangInclusive 98 public bool MaxInclusive => (this.Attributes & WixBundleRelatedPackageAttributes.MaxInclusive) == WixBundleRelatedPackageAttributes.MaxInclusive;
89 {
90 get => (int)this.Fields[(int)WixBundleRelatedPackageTupleFields.LangInclusive];
91 set => this.Set((int)WixBundleRelatedPackageTupleFields.LangInclusive, value);
92 }
93 99
94 public int OnlyDetect 100 public bool OnlyDetect => (this.Attributes & WixBundleRelatedPackageAttributes.OnlyDetect) == WixBundleRelatedPackageAttributes.OnlyDetect;
95 { 101
96 get => (int)this.Fields[(int)WixBundleRelatedPackageTupleFields.OnlyDetect]; 102 public bool LangInclusive => (this.Attributes & WixBundleRelatedPackageAttributes.LangInclusive) == WixBundleRelatedPackageAttributes.LangInclusive;
97 set => this.Set((int)WixBundleRelatedPackageTupleFields.OnlyDetect, value);
98 }
99 } 103 }
100} \ No newline at end of file 104}
diff --git a/src/WixToolset.Data/Tuples/WixBundleRollbackBoundaryTuple.cs b/src/WixToolset.Data/Tuples/WixBundleRollbackBoundaryTuple.cs
index a11c972d..648787f9 100644
--- a/src/WixToolset.Data/Tuples/WixBundleRollbackBoundaryTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleRollbackBoundaryTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleRollbackBoundary, 10 TupleDefinitionType.WixBundleRollbackBoundary,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleRollbackBoundaryTupleFields.WixChainItemRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleRollbackBoundaryTupleFields.Vital), IntermediateFieldType.Number), 13 new IntermediateFieldDefinition(nameof(WixBundleRollbackBoundaryTupleFields.Vital), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixBundleRollbackBoundaryTupleFields.Transaction), IntermediateFieldType.Number), 14 new IntermediateFieldDefinition(nameof(WixBundleRollbackBoundaryTupleFields.Transaction), IntermediateFieldType.Number),
16 }, 15 },
@@ -22,7 +21,6 @@ namespace WixToolset.Data.Tuples
22{ 21{
23 public enum WixBundleRollbackBoundaryTupleFields 22 public enum WixBundleRollbackBoundaryTupleFields
24 { 23 {
25 WixChainItemRef,
26 Vital, 24 Vital,
27 Transaction, 25 Transaction,
28 } 26 }
@@ -39,12 +37,6 @@ namespace WixToolset.Data.Tuples
39 37
40 public IntermediateField this[WixBundleRollbackBoundaryTupleFields index] => this.Fields[(int)index]; 38 public IntermediateField this[WixBundleRollbackBoundaryTupleFields index] => this.Fields[(int)index];
41 39
42 public string WixChainItemRef
43 {
44 get => (string)this.Fields[(int)WixBundleRollbackBoundaryTupleFields.WixChainItemRef];
45 set => this.Set((int)WixBundleRollbackBoundaryTupleFields.WixChainItemRef, value);
46 }
47
48 public bool? Vital 40 public bool? Vital
49 { 41 {
50 get => (bool?)this.Fields[(int)WixBundleRollbackBoundaryTupleFields.Vital]; 42 get => (bool?)this.Fields[(int)WixBundleRollbackBoundaryTupleFields.Vital];
diff --git a/src/WixToolset.Data/Tuples/WixBundleSlipstreamMspTuple.cs b/src/WixToolset.Data/Tuples/WixBundleSlipstreamMspTuple.cs
index 3a028d16..bfe8c6e1 100644
--- a/src/WixToolset.Data/Tuples/WixBundleSlipstreamMspTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleSlipstreamMspTuple.cs
@@ -10,8 +10,8 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundleSlipstreamMsp, 10 TupleDefinitionType.WixBundleSlipstreamMsp,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleSlipstreamMspTupleFields.WixBundlePackageRef), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundleSlipstreamMspTupleFields.TargetPackageRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleSlipstreamMspTupleFields.MspWixBundlePackageRef), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleSlipstreamMspTupleFields.MspPackageRef), IntermediateFieldType.String),
15 }, 15 },
16 typeof(WixBundleSlipstreamMspTuple)); 16 typeof(WixBundleSlipstreamMspTuple));
17 } 17 }
@@ -21,8 +21,8 @@ namespace WixToolset.Data.Tuples
21{ 21{
22 public enum WixBundleSlipstreamMspTupleFields 22 public enum WixBundleSlipstreamMspTupleFields
23 { 23 {
24 WixBundlePackageRef, 24 TargetPackageRef,
25 MspWixBundlePackageRef, 25 MspPackageRef,
26 } 26 }
27 27
28 public class WixBundleSlipstreamMspTuple : IntermediateTuple 28 public class WixBundleSlipstreamMspTuple : IntermediateTuple
@@ -37,16 +37,16 @@ namespace WixToolset.Data.Tuples
37 37
38 public IntermediateField this[WixBundleSlipstreamMspTupleFields index] => this.Fields[(int)index]; 38 public IntermediateField this[WixBundleSlipstreamMspTupleFields index] => this.Fields[(int)index];
39 39
40 public string WixBundlePackageRef 40 public string TargetPackageRef
41 { 41 {
42 get => (string)this.Fields[(int)WixBundleSlipstreamMspTupleFields.WixBundlePackageRef]; 42 get => (string)this.Fields[(int)WixBundleSlipstreamMspTupleFields.TargetPackageRef];
43 set => this.Set((int)WixBundleSlipstreamMspTupleFields.WixBundlePackageRef, value); 43 set => this.Set((int)WixBundleSlipstreamMspTupleFields.TargetPackageRef, value);
44 } 44 }
45 45
46 public string MspWixBundlePackageRef 46 public string MspPackageRef
47 { 47 {
48 get => (string)this.Fields[(int)WixBundleSlipstreamMspTupleFields.MspWixBundlePackageRef]; 48 get => (string)this.Fields[(int)WixBundleSlipstreamMspTupleFields.MspPackageRef];
49 set => this.Set((int)WixBundleSlipstreamMspTupleFields.MspWixBundlePackageRef, value); 49 set => this.Set((int)WixBundleSlipstreamMspTupleFields.MspPackageRef, value);
50 } 50 }
51 } 51 }
52} \ No newline at end of file 52}
diff --git a/src/WixToolset.Data/Tuples/WixBundleTuple.cs b/src/WixToolset.Data/Tuples/WixBundleTuple.cs
index 8f6f760a..dcaea6bc 100644
--- a/src/WixToolset.Data/Tuples/WixBundleTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixBundleTuple.cs
@@ -10,29 +10,28 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixBundle, 10 TupleDefinitionType.WixBundle,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.UpgradeCode), IntermediateFieldType.String),
13 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Version), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Version), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Copyright), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Copyright), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Name), IntermediateFieldType.String), 16 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Name), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Manufacturer), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Attributes), IntermediateFieldType.Number),
16 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.AboutUrl), IntermediateFieldType.String), 19 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.AboutUrl), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.DisableModify), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.DisableRemove), IntermediateFieldType.Number),
19 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.DisableRepair), IntermediateFieldType.Number),
20 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.HelpTelephone), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.HelpUrl), IntermediateFieldType.String), 20 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.HelpUrl), IntermediateFieldType.String),
22 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Manufacturer), IntermediateFieldType.String), 21 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.HelpTelephone), IntermediateFieldType.String),
23 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.UpdateUrl), IntermediateFieldType.String), 22 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.UpdateUrl), IntermediateFieldType.String),
24 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Compressed), IntermediateFieldType.Number), 23 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Compressed), IntermediateFieldType.Bool),
25 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.LogPrefixAndExtension), IntermediateFieldType.String), 24 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.LogPathVariable), IntermediateFieldType.String),
25 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.LogPrefix), IntermediateFieldType.String),
26 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.LogExtension), IntermediateFieldType.String),
26 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.IconSourceFile), IntermediateFieldType.Path), 27 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.IconSourceFile), IntermediateFieldType.Path),
27 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.SplashScreenSourceFile), IntermediateFieldType.Path), 28 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.SplashScreenSourceFile), IntermediateFieldType.Path),
28 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Condition), IntermediateFieldType.String), 29 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Condition), IntermediateFieldType.String),
29 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Tag), IntermediateFieldType.String), 30 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Tag), IntermediateFieldType.String),
30 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Platform), IntermediateFieldType.String), 31 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.Platform), IntermediateFieldType.String),
31 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.ParentName), IntermediateFieldType.String), 32 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.ParentName), IntermediateFieldType.String),
32 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.UpgradeCode), IntermediateFieldType.String),
33 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.BundleId), IntermediateFieldType.String), 33 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.BundleId), IntermediateFieldType.String),
34 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.ProviderKey), IntermediateFieldType.String), 34 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.ProviderKey), IntermediateFieldType.String),
35 new IntermediateFieldDefinition(nameof(WixBundleTupleFields.PerMachine), IntermediateFieldType.Bool),
36 }, 35 },
37 typeof(WixBundleTuple)); 36 typeof(WixBundleTuple));
38 } 37 }
@@ -40,30 +39,41 @@ namespace WixToolset.Data
40 39
41namespace WixToolset.Data.Tuples 40namespace WixToolset.Data.Tuples
42{ 41{
42 using System;
43
43 public enum WixBundleTupleFields 44 public enum WixBundleTupleFields
44 { 45 {
46 UpgradeCode,
45 Version, 47 Version,
46 Copyright, 48 Copyright,
47 Name, 49 Name,
50 Manufacturer,
51 Attributes,
48 AboutUrl, 52 AboutUrl,
49 DisableModify,
50 DisableRemove,
51 DisableRepair,
52 HelpTelephone,
53 HelpUrl, 53 HelpUrl,
54 Manufacturer, 54 HelpTelephone,
55 UpdateUrl, 55 UpdateUrl,
56 Compressed, 56 Compressed,
57 LogPrefixAndExtension, 57 LogPathVariable,
58 LogPrefix,
59 LogExtension,
58 IconSourceFile, 60 IconSourceFile,
59 SplashScreenSourceFile, 61 SplashScreenSourceFile,
60 Condition, 62 Condition,
61 Tag, 63 Tag,
62 Platform, 64 Platform,
63 ParentName, 65 ParentName,
64 UpgradeCode,
65 BundleId, 66 BundleId,
66 ProviderKey, 67 ProviderKey,
68 }
69
70 [Flags]
71 public enum WixBundleAttributes
72 {
73 None,
74 DisableModify,
75 DisableRemove,
76 SingleChangeUninstallButton,
67 PerMachine, 77 PerMachine,
68 } 78 }
69 79
@@ -79,6 +89,12 @@ namespace WixToolset.Data.Tuples
79 89
80 public IntermediateField this[WixBundleTupleFields index] => this.Fields[(int)index]; 90 public IntermediateField this[WixBundleTupleFields index] => this.Fields[(int)index];
81 91
92 public string UpgradeCode
93 {
94 get => (string)this.Fields[(int)WixBundleTupleFields.UpgradeCode];
95 set => this.Set((int)WixBundleTupleFields.UpgradeCode, value);
96 }
97
82 public string Version 98 public string Version
83 { 99 {
84 get => (string)this.Fields[(int)WixBundleTupleFields.Version]; 100 get => (string)this.Fields[(int)WixBundleTupleFields.Version];
@@ -97,28 +113,22 @@ namespace WixToolset.Data.Tuples
97 set => this.Set((int)WixBundleTupleFields.Name, value); 113 set => this.Set((int)WixBundleTupleFields.Name, value);
98 } 114 }
99 115
100 public string AboutUrl 116 public string Manufacturer
101 {
102 get => (string)this.Fields[(int)WixBundleTupleFields.AboutUrl];
103 set => this.Set((int)WixBundleTupleFields.AboutUrl, value);
104 }
105
106 public int DisableModify
107 { 117 {
108 get => (int)this.Fields[(int)WixBundleTupleFields.DisableModify]; 118 get => (string)this.Fields[(int)WixBundleTupleFields.Manufacturer];
109 set => this.Set((int)WixBundleTupleFields.DisableModify, value); 119 set => this.Set((int)WixBundleTupleFields.Manufacturer, value);
110 } 120 }
111 121
112 public int DisableRemove 122 public WixBundleAttributes Attributes
113 { 123 {
114 get => (int)this.Fields[(int)WixBundleTupleFields.DisableRemove]; 124 get => (WixBundleAttributes)this.Fields[(int)WixBundleTupleFields.Attributes].AsNumber();
115 set => this.Set((int)WixBundleTupleFields.DisableRemove, value); 125 set => this.Set((int)WixBundleTupleFields.Attributes, (int)value);
116 } 126 }
117 127
118 public int DisableRepair 128 public string AboutUrl
119 { 129 {
120 get => (int)this.Fields[(int)WixBundleTupleFields.DisableRepair]; 130 get => (string)this.Fields[(int)WixBundleTupleFields.AboutUrl];
121 set => this.Set((int)WixBundleTupleFields.DisableRepair, value); 131 set => this.Set((int)WixBundleTupleFields.AboutUrl, value);
122 } 132 }
123 133
124 public string HelpTelephone 134 public string HelpTelephone
@@ -133,28 +143,34 @@ namespace WixToolset.Data.Tuples
133 set => this.Set((int)WixBundleTupleFields.HelpUrl, value); 143 set => this.Set((int)WixBundleTupleFields.HelpUrl, value);
134 } 144 }
135 145
136 public string Manufacturer
137 {
138 get => (string)this.Fields[(int)WixBundleTupleFields.Manufacturer];
139 set => this.Set((int)WixBundleTupleFields.Manufacturer, value);
140 }
141
142 public string UpdateUrl 146 public string UpdateUrl
143 { 147 {
144 get => (string)this.Fields[(int)WixBundleTupleFields.UpdateUrl]; 148 get => (string)this.Fields[(int)WixBundleTupleFields.UpdateUrl];
145 set => this.Set((int)WixBundleTupleFields.UpdateUrl, value); 149 set => this.Set((int)WixBundleTupleFields.UpdateUrl, value);
146 } 150 }
147 151
148 public int Compressed 152 public bool? Compressed
149 { 153 {
150 get => (int)this.Fields[(int)WixBundleTupleFields.Compressed]; 154 get => (bool?)this.Fields[(int)WixBundleTupleFields.Compressed];
151 set => this.Set((int)WixBundleTupleFields.Compressed, value); 155 set => this.Set((int)WixBundleTupleFields.Compressed, value);
152 } 156 }
153 157
154 public string LogPrefixAndExtension 158 public string LogPathVariable
155 { 159 {
156 get => (string)this.Fields[(int)WixBundleTupleFields.LogPrefixAndExtension]; 160 get => (string)this.Fields[(int)WixBundleTupleFields.LogPathVariable];
157 set => this.Set((int)WixBundleTupleFields.LogPrefixAndExtension, value); 161 set => this.Set((int)WixBundleTupleFields.LogPathVariable, value);
162 }
163
164 public string LogPrefix
165 {
166 get => (string)this.Fields[(int)WixBundleTupleFields.LogPrefix];
167 set => this.Set((int)WixBundleTupleFields.LogPrefix, value);
168 }
169
170 public string LogExtension
171 {
172 get => (string)this.Fields[(int)WixBundleTupleFields.LogExtension];
173 set => this.Set((int)WixBundleTupleFields.LogExtension, value);
158 } 174 }
159 175
160 public string IconSourceFile 176 public string IconSourceFile
@@ -181,10 +197,10 @@ namespace WixToolset.Data.Tuples
181 set => this.Set((int)WixBundleTupleFields.Tag, value); 197 set => this.Set((int)WixBundleTupleFields.Tag, value);
182 } 198 }
183 199
184 public string Platform 200 public Platform Platform
185 { 201 {
186 get => (string)this.Fields[(int)WixBundleTupleFields.Platform]; 202 get => (Platform)this.Fields[(int)WixBundleTupleFields.Platform].AsNumber();
187 set => this.Set((int)WixBundleTupleFields.Platform, value); 203 set => this.Set((int)WixBundleTupleFields.Platform, (int)value);
188 } 204 }
189 205
190 public string ParentName 206 public string ParentName
@@ -193,12 +209,6 @@ namespace WixToolset.Data.Tuples
193 set => this.Set((int)WixBundleTupleFields.ParentName, value); 209 set => this.Set((int)WixBundleTupleFields.ParentName, value);
194 } 210 }
195 211
196 public string UpgradeCode
197 {
198 get => (string)this.Fields[(int)WixBundleTupleFields.UpgradeCode];
199 set => this.Set((int)WixBundleTupleFields.UpgradeCode, value);
200 }
201
202 public string BundleId 212 public string BundleId
203 { 213 {
204 get => (string)this.Fields[(int)WixBundleTupleFields.BundleId]; 214 get => (string)this.Fields[(int)WixBundleTupleFields.BundleId];
@@ -211,10 +221,14 @@ namespace WixToolset.Data.Tuples
211 set => this.Set((int)WixBundleTupleFields.ProviderKey, value); 221 set => this.Set((int)WixBundleTupleFields.ProviderKey, value);
212 } 222 }
213 223
214 public bool PerMachine 224 public PackagingType DefaultPackagingType => (this.Compressed.HasValue && !this.Compressed.Value) ? PackagingType.External : PackagingType.Embedded;
215 { 225
216 get => (bool)this.Fields[(int)WixBundleTupleFields.PerMachine]; 226 public bool DisableModify => (this.Attributes & WixBundleAttributes.DisableModify) == WixBundleAttributes.DisableModify;
217 set => this.Set((int)WixBundleTupleFields.PerMachine, value); 227
218 } 228 public bool DisableRemove => (this.Attributes & WixBundleAttributes.DisableRemove) == WixBundleAttributes.DisableRemove;
229
230 public bool PerMachine => (this.Attributes & WixBundleAttributes.PerMachine) == WixBundleAttributes.PerMachine;
231
232 public bool SingleChangeUninstallButton => (this.Attributes & WixBundleAttributes.SingleChangeUninstallButton) == WixBundleAttributes.SingleChangeUninstallButton;
219 } 233 }
220} \ No newline at end of file 234}
diff --git a/src/WixToolset.Data/Tuples/WixChainTuple.cs b/src/WixToolset.Data/Tuples/WixChainTuple.cs
index d8bef8cc..9343ead1 100644
--- a/src/WixToolset.Data/Tuples/WixChainTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixChainTuple.cs
@@ -51,5 +51,11 @@ namespace WixToolset.Data.Tuples
51 get => (WixChainAttributes)(int)this.Fields[(int)WixChainTupleFields.Attributes]; 51 get => (WixChainAttributes)(int)this.Fields[(int)WixChainTupleFields.Attributes];
52 set => this.Set((int)WixChainTupleFields.Attributes, (int)value); 52 set => this.Set((int)WixChainTupleFields.Attributes, (int)value);
53 } 53 }
54
55 public bool DisableRollback => (this.Attributes & WixChainAttributes.DisableRollback) == WixChainAttributes.DisableRollback;
56
57 public bool DisableSystemRestore => (this.Attributes & WixChainAttributes.DisableSystemRestore) == WixChainAttributes.DisableSystemRestore;
58
59 public bool ParallelCache => (this.Attributes & WixChainAttributes.ParallelCache) == WixChainAttributes.ParallelCache;
54 } 60 }
55} \ No newline at end of file 61}
diff --git a/src/WixToolset.Data/Tuples/WixComponentSearchTuple.cs b/src/WixToolset.Data/Tuples/WixComponentSearchTuple.cs
index 47cccf25..de6f47b9 100644
--- a/src/WixToolset.Data/Tuples/WixComponentSearchTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixComponentSearchTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixComponentSearch, 10 TupleDefinitionType.WixComponentSearch,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixComponentSearchTupleFields.WixSearchRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixComponentSearchTupleFields.Guid), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixComponentSearchTupleFields.Guid), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixComponentSearchTupleFields.ProductCode), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixComponentSearchTupleFields.ProductCode), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixComponentSearchTupleFields.Attributes), IntermediateFieldType.Number), 15 new IntermediateFieldDefinition(nameof(WixComponentSearchTupleFields.Attributes), IntermediateFieldType.Number),
@@ -21,14 +20,23 @@ namespace WixToolset.Data
21 20
22namespace WixToolset.Data.Tuples 21namespace WixToolset.Data.Tuples
23{ 22{
23 using System;
24
24 public enum WixComponentSearchTupleFields 25 public enum WixComponentSearchTupleFields
25 { 26 {
26 WixSearchRef,
27 Guid, 27 Guid,
28 ProductCode, 28 ProductCode,
29 Attributes, 29 Attributes,
30 } 30 }
31 31
32 [Flags]
33 public enum WixComponentSearchAttributes
34 {
35 KeyPath = 0x1,
36 State = 0x2,
37 WantDirectory = 0x4,
38 }
39
32 public class WixComponentSearchTuple : IntermediateTuple 40 public class WixComponentSearchTuple : IntermediateTuple
33 { 41 {
34 public WixComponentSearchTuple() : base(TupleDefinitions.WixComponentSearch, null, null) 42 public WixComponentSearchTuple() : base(TupleDefinitions.WixComponentSearch, null, null)
@@ -41,12 +49,6 @@ namespace WixToolset.Data.Tuples
41 49
42 public IntermediateField this[WixComponentSearchTupleFields index] => this.Fields[(int)index]; 50 public IntermediateField this[WixComponentSearchTupleFields index] => this.Fields[(int)index];
43 51
44 public string WixSearchRef
45 {
46 get => (string)this.Fields[(int)WixComponentSearchTupleFields.WixSearchRef];
47 set => this.Set((int)WixComponentSearchTupleFields.WixSearchRef, value);
48 }
49
50 public string Guid 52 public string Guid
51 { 53 {
52 get => (string)this.Fields[(int)WixComponentSearchTupleFields.Guid]; 54 get => (string)this.Fields[(int)WixComponentSearchTupleFields.Guid];
@@ -59,10 +61,10 @@ namespace WixToolset.Data.Tuples
59 set => this.Set((int)WixComponentSearchTupleFields.ProductCode, value); 61 set => this.Set((int)WixComponentSearchTupleFields.ProductCode, value);
60 } 62 }
61 63
62 public int Attributes 64 public WixComponentSearchAttributes Attributes
63 { 65 {
64 get => (int)this.Fields[(int)WixComponentSearchTupleFields.Attributes]; 66 get => (WixComponentSearchAttributes)this.Fields[(int)WixComponentSearchTupleFields.Attributes].AsNumber();
65 set => this.Set((int)WixComponentSearchTupleFields.Attributes, value); 67 set => this.Set((int)WixComponentSearchTupleFields.Attributes, (int)value);
66 } 68 }
67 } 69 }
68} \ No newline at end of file 70}
diff --git a/src/WixToolset.Data/Tuples/WixDependencyProviderTuple.cs b/src/WixToolset.Data/Tuples/WixDependencyProviderTuple.cs
new file mode 100644
index 00000000..1953594e
--- /dev/null
+++ b/src/WixToolset.Data/Tuples/WixDependencyProviderTuple.cs
@@ -0,0 +1,87 @@
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.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition WixDependencyProvider = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixDependencyProvider.ToString(),
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixDependencyProviderTupleFields.ComponentRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixDependencyProviderTupleFields.ProviderKey), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixDependencyProviderTupleFields.Version), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixDependencyProviderTupleFields.DisplayName), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixDependencyProviderTupleFields.Attributes), IntermediateFieldType.Number),
18 },
19 typeof(WixDependencyProviderTuple));
20 }
21}
22
23namespace WixToolset.Data.Tuples
24{
25 using System;
26 using WixToolset.Data;
27
28 public enum WixDependencyProviderTupleFields
29 {
30 ComponentRef,
31 ProviderKey,
32 Version,
33 DisplayName,
34 Attributes,
35 }
36
37 [Flags]
38 public enum WixDependencyProviderAttributes
39 {
40 ProvidesAttributesBundle = 0x10000
41 }
42
43 public class WixDependencyProviderTuple : IntermediateTuple
44 {
45 public WixDependencyProviderTuple() : base(TupleDefinitions.WixDependencyProvider, null, null)
46 {
47 }
48
49 public WixDependencyProviderTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixDependencyProvider, sourceLineNumber, id)
50 {
51 }
52
53 public IntermediateField this[WixDependencyProviderTupleFields index] => this.Fields[(int)index];
54
55 public string ComponentRef
56 {
57 get => this.Fields[(int)WixDependencyProviderTupleFields.ComponentRef].AsString();
58 set => this.Set((int)WixDependencyProviderTupleFields.ComponentRef, value);
59 }
60
61 public string ProviderKey
62 {
63 get => this.Fields[(int)WixDependencyProviderTupleFields.ProviderKey].AsString();
64 set => this.Set((int)WixDependencyProviderTupleFields.ProviderKey, value);
65 }
66
67 public string Version
68 {
69 get => this.Fields[(int)WixDependencyProviderTupleFields.Version].AsString();
70 set => this.Set((int)WixDependencyProviderTupleFields.Version, value);
71 }
72
73 public string DisplayName
74 {
75 get => this.Fields[(int)WixDependencyProviderTupleFields.DisplayName].AsString();
76 set => this.Set((int)WixDependencyProviderTupleFields.DisplayName, value);
77 }
78
79 public WixDependencyProviderAttributes Attributes
80 {
81 get => (WixDependencyProviderAttributes)(int)this.Fields[(int)WixDependencyProviderTupleFields.Attributes];
82 set => this.Set((int)WixDependencyProviderTupleFields.Attributes, (int)value);
83 }
84
85 public bool Bundle => (this.Attributes & WixDependencyProviderAttributes.ProvidesAttributesBundle) == WixDependencyProviderAttributes.ProvidesAttributesBundle;
86 }
87}
diff --git a/src/WixToolset.Data/Tuples/WixFileSearchTuple.cs b/src/WixToolset.Data/Tuples/WixFileSearchTuple.cs
index 27c5cc83..4c0cedf3 100644
--- a/src/WixToolset.Data/Tuples/WixFileSearchTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixFileSearchTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixFileSearch, 10 TupleDefinitionType.WixFileSearch,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixFileSearchTupleFields.WixSearchRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixFileSearchTupleFields.Path), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixFileSearchTupleFields.Path), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixFileSearchTupleFields.MinVersion), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixFileSearchTupleFields.MinVersion), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixFileSearchTupleFields.MaxVersion), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixFileSearchTupleFields.MaxVersion), IntermediateFieldType.String),
@@ -27,9 +26,10 @@ namespace WixToolset.Data
27 26
28namespace WixToolset.Data.Tuples 27namespace WixToolset.Data.Tuples
29{ 28{
29 using System;
30
30 public enum WixFileSearchTupleFields 31 public enum WixFileSearchTupleFields
31 { 32 {
32 WixSearchRef,
33 Path, 33 Path,
34 MinVersion, 34 MinVersion,
35 MaxVersion, 35 MaxVersion,
@@ -41,6 +41,21 @@ namespace WixToolset.Data.Tuples
41 Attributes, 41 Attributes,
42 } 42 }
43 43
44 [Flags]
45 public enum WixFileSearchAttributes
46 {
47 Default = 0x001,
48 MinVersionInclusive = 0x002,
49 MaxVersionInclusive = 0x004,
50 MinSizeInclusive = 0x008,
51 MaxSizeInclusive = 0x010,
52 MinDateInclusive = 0x020,
53 MaxDateInclusive = 0x040,
54 WantVersion = 0x080,
55 WantExists = 0x100,
56 IsDirectory = 0x200,
57 }
58
44 public class WixFileSearchTuple : IntermediateTuple 59 public class WixFileSearchTuple : IntermediateTuple
45 { 60 {
46 public WixFileSearchTuple() : base(TupleDefinitions.WixFileSearch, null, null) 61 public WixFileSearchTuple() : base(TupleDefinitions.WixFileSearch, null, null)
@@ -53,12 +68,6 @@ namespace WixToolset.Data.Tuples
53 68
54 public IntermediateField this[WixFileSearchTupleFields index] => this.Fields[(int)index]; 69 public IntermediateField this[WixFileSearchTupleFields index] => this.Fields[(int)index];
55 70
56 public string WixSearchRef
57 {
58 get => (string)this.Fields[(int)WixFileSearchTupleFields.WixSearchRef];
59 set => this.Set((int)WixFileSearchTupleFields.WixSearchRef, value);
60 }
61
62 public string Path 71 public string Path
63 { 72 {
64 get => (string)this.Fields[(int)WixFileSearchTupleFields.Path]; 73 get => (string)this.Fields[(int)WixFileSearchTupleFields.Path];
@@ -107,10 +116,10 @@ namespace WixToolset.Data.Tuples
107 set => this.Set((int)WixFileSearchTupleFields.Languages, value); 116 set => this.Set((int)WixFileSearchTupleFields.Languages, value);
108 } 117 }
109 118
110 public int Attributes 119 public WixFileSearchAttributes Attributes
111 { 120 {
112 get => (int)this.Fields[(int)WixFileSearchTupleFields.Attributes]; 121 get => (WixFileSearchAttributes)this.Fields[(int)WixFileSearchTupleFields.Attributes].AsNumber();
113 set => this.Set((int)WixFileSearchTupleFields.Attributes, value); 122 set => this.Set((int)WixFileSearchTupleFields.Attributes, (int)value);
114 } 123 }
115 } 124 }
116} \ No newline at end of file 125}
diff --git a/src/WixToolset.Data/Tuples/WixPackageFeatureInfoTuple.cs b/src/WixToolset.Data/Tuples/WixPackageFeatureInfoTuple.cs
deleted file mode 100644
index bcc0ad78..00000000
--- a/src/WixToolset.Data/Tuples/WixPackageFeatureInfoTuple.cs
+++ /dev/null
@@ -1,116 +0,0 @@
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.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition WixPackageFeatureInfo = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixPackageFeatureInfo,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Package), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Feature), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Size), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Parent), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Title), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Description), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Display), IntermediateFieldType.String),
20 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Level), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Directory), IntermediateFieldType.String),
22 new IntermediateFieldDefinition(nameof(WixPackageFeatureInfoTupleFields.Attributes), IntermediateFieldType.String),
23 },
24 typeof(WixPackageFeatureInfoTuple));
25 }
26}
27
28namespace WixToolset.Data.Tuples
29{
30 public enum WixPackageFeatureInfoTupleFields
31 {
32 Package,
33 Feature,
34 Size,
35 Parent,
36 Title,
37 Description,
38 Display,
39 Level,
40 Directory,
41 Attributes,
42 }
43
44 public class WixPackageFeatureInfoTuple : IntermediateTuple
45 {
46 public WixPackageFeatureInfoTuple() : base(TupleDefinitions.WixPackageFeatureInfo, null, null)
47 {
48 }
49
50 public WixPackageFeatureInfoTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixPackageFeatureInfo, sourceLineNumber, id)
51 {
52 }
53
54 public IntermediateField this[WixPackageFeatureInfoTupleFields index] => this.Fields[(int)index];
55
56 public string Package
57 {
58 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Package];
59 set => this.Set((int)WixPackageFeatureInfoTupleFields.Package, value);
60 }
61
62 public string Feature
63 {
64 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Feature];
65 set => this.Set((int)WixPackageFeatureInfoTupleFields.Feature, value);
66 }
67
68 public string Size
69 {
70 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Size];
71 set => this.Set((int)WixPackageFeatureInfoTupleFields.Size, value);
72 }
73
74 public string Parent
75 {
76 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Parent];
77 set => this.Set((int)WixPackageFeatureInfoTupleFields.Parent, value);
78 }
79
80 public string Title
81 {
82 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Title];
83 set => this.Set((int)WixPackageFeatureInfoTupleFields.Title, value);
84 }
85
86 public string Description
87 {
88 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Description];
89 set => this.Set((int)WixPackageFeatureInfoTupleFields.Description, value);
90 }
91
92 public string Display
93 {
94 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Display];
95 set => this.Set((int)WixPackageFeatureInfoTupleFields.Display, value);
96 }
97
98 public string Level
99 {
100 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Level];
101 set => this.Set((int)WixPackageFeatureInfoTupleFields.Level, value);
102 }
103
104 public string Directory
105 {
106 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Directory];
107 set => this.Set((int)WixPackageFeatureInfoTupleFields.Directory, value);
108 }
109
110 public string Attributes
111 {
112 get => (string)this.Fields[(int)WixPackageFeatureInfoTupleFields.Attributes];
113 set => this.Set((int)WixPackageFeatureInfoTupleFields.Attributes, value);
114 }
115 }
116} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixPackagePropertiesTuple.cs b/src/WixToolset.Data/Tuples/WixPackagePropertiesTuple.cs
deleted file mode 100644
index 56f6523b..00000000
--- a/src/WixToolset.Data/Tuples/WixPackagePropertiesTuple.cs
+++ /dev/null
@@ -1,180 +0,0 @@
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.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition WixPackageProperties = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixPackageProperties,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.Package), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.Vital), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.DisplayName), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.Description), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.DownloadSize), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.PackageSize), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.InstalledSize), IntermediateFieldType.String),
20 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.PackageType), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.Permanent), IntermediateFieldType.String),
22 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.LogPathVariable), IntermediateFieldType.String),
23 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.RollbackLogPathVariable), IntermediateFieldType.String),
24 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.Compressed), IntermediateFieldType.String),
25 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.DisplayInternalUI), IntermediateFieldType.String),
26 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.ProductCode), IntermediateFieldType.String),
27 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.UpgradeCode), IntermediateFieldType.String),
28 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.Version), IntermediateFieldType.String),
29 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.InstallCondition), IntermediateFieldType.String),
30 new IntermediateFieldDefinition(nameof(WixPackagePropertiesTupleFields.Cache), IntermediateFieldType.String),
31 },
32 typeof(WixPackagePropertiesTuple));
33 }
34}
35
36namespace WixToolset.Data.Tuples
37{
38 public enum WixPackagePropertiesTupleFields
39 {
40 Package,
41 Vital,
42 DisplayName,
43 Description,
44 DownloadSize,
45 PackageSize,
46 InstalledSize,
47 PackageType,
48 Permanent,
49 LogPathVariable,
50 RollbackLogPathVariable,
51 Compressed,
52 DisplayInternalUI,
53 ProductCode,
54 UpgradeCode,
55 Version,
56 InstallCondition,
57 Cache,
58 }
59
60 public class WixPackagePropertiesTuple : IntermediateTuple
61 {
62 public WixPackagePropertiesTuple() : base(TupleDefinitions.WixPackageProperties, null, null)
63 {
64 }
65
66 public WixPackagePropertiesTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixPackageProperties, sourceLineNumber, id)
67 {
68 }
69
70 public IntermediateField this[WixPackagePropertiesTupleFields index] => this.Fields[(int)index];
71
72 public string Package
73 {
74 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.Package];
75 set => this.Set((int)WixPackagePropertiesTupleFields.Package, value);
76 }
77
78 public string Vital
79 {
80 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.Vital];
81 set => this.Set((int)WixPackagePropertiesTupleFields.Vital, value);
82 }
83
84 public string DisplayName
85 {
86 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.DisplayName];
87 set => this.Set((int)WixPackagePropertiesTupleFields.DisplayName, value);
88 }
89
90 public string Description
91 {
92 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.Description];
93 set => this.Set((int)WixPackagePropertiesTupleFields.Description, value);
94 }
95
96 public string DownloadSize
97 {
98 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.DownloadSize];
99 set => this.Set((int)WixPackagePropertiesTupleFields.DownloadSize, value);
100 }
101
102 public string PackageSize
103 {
104 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.PackageSize];
105 set => this.Set((int)WixPackagePropertiesTupleFields.PackageSize, value);
106 }
107
108 public string InstalledSize
109 {
110 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.InstalledSize];
111 set => this.Set((int)WixPackagePropertiesTupleFields.InstalledSize, value);
112 }
113
114 public string PackageType
115 {
116 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.PackageType];
117 set => this.Set((int)WixPackagePropertiesTupleFields.PackageType, value);
118 }
119
120 public string Permanent
121 {
122 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.Permanent];
123 set => this.Set((int)WixPackagePropertiesTupleFields.Permanent, value);
124 }
125
126 public string LogPathVariable
127 {
128 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.LogPathVariable];
129 set => this.Set((int)WixPackagePropertiesTupleFields.LogPathVariable, value);
130 }
131
132 public string RollbackLogPathVariable
133 {
134 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.RollbackLogPathVariable];
135 set => this.Set((int)WixPackagePropertiesTupleFields.RollbackLogPathVariable, value);
136 }
137
138 public string Compressed
139 {
140 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.Compressed];
141 set => this.Set((int)WixPackagePropertiesTupleFields.Compressed, value);
142 }
143
144 public string DisplayInternalUI
145 {
146 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.DisplayInternalUI];
147 set => this.Set((int)WixPackagePropertiesTupleFields.DisplayInternalUI, value);
148 }
149
150 public string ProductCode
151 {
152 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.ProductCode];
153 set => this.Set((int)WixPackagePropertiesTupleFields.ProductCode, value);
154 }
155
156 public string UpgradeCode
157 {
158 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.UpgradeCode];
159 set => this.Set((int)WixPackagePropertiesTupleFields.UpgradeCode, value);
160 }
161
162 public string Version
163 {
164 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.Version];
165 set => this.Set((int)WixPackagePropertiesTupleFields.Version, value);
166 }
167
168 public string InstallCondition
169 {
170 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.InstallCondition];
171 set => this.Set((int)WixPackagePropertiesTupleFields.InstallCondition, value);
172 }
173
174 public string Cache
175 {
176 get => (string)this.Fields[(int)WixPackagePropertiesTupleFields.Cache];
177 set => this.Set((int)WixPackagePropertiesTupleFields.Cache, value);
178 }
179 }
180} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixPayloadPropertiesTuple.cs b/src/WixToolset.Data/Tuples/WixPayloadPropertiesTuple.cs
deleted file mode 100644
index c992bb4f..00000000
--- a/src/WixToolset.Data/Tuples/WixPayloadPropertiesTuple.cs
+++ /dev/null
@@ -1,92 +0,0 @@
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.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition WixPayloadProperties = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixPayloadProperties,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixPayloadPropertiesTupleFields.Payload), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixPayloadPropertiesTupleFields.Package), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixPayloadPropertiesTupleFields.Container), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixPayloadPropertiesTupleFields.Name), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixPayloadPropertiesTupleFields.Size), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixPayloadPropertiesTupleFields.DownloadUrl), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(WixPayloadPropertiesTupleFields.LayoutOnly), IntermediateFieldType.String),
20 },
21 typeof(WixPayloadPropertiesTuple));
22 }
23}
24
25namespace WixToolset.Data.Tuples
26{
27 public enum WixPayloadPropertiesTupleFields
28 {
29 Payload,
30 Package,
31 Container,
32 Name,
33 Size,
34 DownloadUrl,
35 LayoutOnly,
36 }
37
38 public class WixPayloadPropertiesTuple : IntermediateTuple
39 {
40 public WixPayloadPropertiesTuple() : base(TupleDefinitions.WixPayloadProperties, null, null)
41 {
42 }
43
44 public WixPayloadPropertiesTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixPayloadProperties, sourceLineNumber, id)
45 {
46 }
47
48 public IntermediateField this[WixPayloadPropertiesTupleFields index] => this.Fields[(int)index];
49
50 public string Payload
51 {
52 get => (string)this.Fields[(int)WixPayloadPropertiesTupleFields.Payload];
53 set => this.Set((int)WixPayloadPropertiesTupleFields.Payload, value);
54 }
55
56 public string Package
57 {
58 get => (string)this.Fields[(int)WixPayloadPropertiesTupleFields.Package];
59 set => this.Set((int)WixPayloadPropertiesTupleFields.Package, value);
60 }
61
62 public string Container
63 {
64 get => (string)this.Fields[(int)WixPayloadPropertiesTupleFields.Container];
65 set => this.Set((int)WixPayloadPropertiesTupleFields.Container, value);
66 }
67
68 public string Name
69 {
70 get => (string)this.Fields[(int)WixPayloadPropertiesTupleFields.Name];
71 set => this.Set((int)WixPayloadPropertiesTupleFields.Name, value);
72 }
73
74 public string Size
75 {
76 get => (string)this.Fields[(int)WixPayloadPropertiesTupleFields.Size];
77 set => this.Set((int)WixPayloadPropertiesTupleFields.Size, value);
78 }
79
80 public string DownloadUrl
81 {
82 get => (string)this.Fields[(int)WixPayloadPropertiesTupleFields.DownloadUrl];
83 set => this.Set((int)WixPayloadPropertiesTupleFields.DownloadUrl, value);
84 }
85
86 public string LayoutOnly
87 {
88 get => (string)this.Fields[(int)WixPayloadPropertiesTupleFields.LayoutOnly];
89 set => this.Set((int)WixPayloadPropertiesTupleFields.LayoutOnly, value);
90 }
91 }
92} \ No newline at end of file
diff --git a/src/WixToolset.Data/Tuples/WixProductSearchTuple.cs b/src/WixToolset.Data/Tuples/WixProductSearchTuple.cs
index 4a13f47d..22e96365 100644
--- a/src/WixToolset.Data/Tuples/WixProductSearchTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixProductSearchTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixProductSearch, 10 TupleDefinitionType.WixProductSearch,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixProductSearchTupleFields.WixSearchRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixProductSearchTupleFields.Guid), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixProductSearchTupleFields.Guid), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixProductSearchTupleFields.Attributes), IntermediateFieldType.Number), 14 new IntermediateFieldDefinition(nameof(WixProductSearchTupleFields.Attributes), IntermediateFieldType.Number),
16 }, 15 },
@@ -20,13 +19,24 @@ namespace WixToolset.Data
20 19
21namespace WixToolset.Data.Tuples 20namespace WixToolset.Data.Tuples
22{ 21{
22 using System;
23
23 public enum WixProductSearchTupleFields 24 public enum WixProductSearchTupleFields
24 { 25 {
25 WixSearchRef,
26 Guid, 26 Guid,
27 Attributes, 27 Attributes,
28 } 28 }
29 29
30 [Flags]
31 public enum WixProductSearchAttributes
32 {
33 Version = 0x1,
34 Language = 0x2,
35 State = 0x4,
36 Assignment = 0x8,
37 UpgradeCode = 0x10,
38 }
39
30 public class WixProductSearchTuple : IntermediateTuple 40 public class WixProductSearchTuple : IntermediateTuple
31 { 41 {
32 public WixProductSearchTuple() : base(TupleDefinitions.WixProductSearch, null, null) 42 public WixProductSearchTuple() : base(TupleDefinitions.WixProductSearch, null, null)
@@ -39,22 +49,16 @@ namespace WixToolset.Data.Tuples
39 49
40 public IntermediateField this[WixProductSearchTupleFields index] => this.Fields[(int)index]; 50 public IntermediateField this[WixProductSearchTupleFields index] => this.Fields[(int)index];
41 51
42 public string WixSearchRef
43 {
44 get => (string)this.Fields[(int)WixProductSearchTupleFields.WixSearchRef];
45 set => this.Set((int)WixProductSearchTupleFields.WixSearchRef, value);
46 }
47
48 public string Guid 52 public string Guid
49 { 53 {
50 get => (string)this.Fields[(int)WixProductSearchTupleFields.Guid]; 54 get => (string)this.Fields[(int)WixProductSearchTupleFields.Guid];
51 set => this.Set((int)WixProductSearchTupleFields.Guid, value); 55 set => this.Set((int)WixProductSearchTupleFields.Guid, value);
52 } 56 }
53 57
54 public int Attributes 58 public WixProductSearchAttributes Attributes
55 { 59 {
56 get => (int)this.Fields[(int)WixProductSearchTupleFields.Attributes]; 60 get => (WixProductSearchAttributes)this.Fields[(int)WixProductSearchTupleFields.Attributes].AsNumber();
57 set => this.Set((int)WixProductSearchTupleFields.Attributes, value); 61 set => this.Set((int)WixProductSearchTupleFields.Attributes, (int)value);
58 } 62 }
59 } 63 }
60} \ No newline at end of file 64}
diff --git a/src/WixToolset.Data/Tuples/WixRegistrySearchTuple.cs b/src/WixToolset.Data/Tuples/WixRegistrySearchTuple.cs
index c88d6982..6bf43a00 100644
--- a/src/WixToolset.Data/Tuples/WixRegistrySearchTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixRegistrySearchTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixRegistrySearch, 10 TupleDefinitionType.WixRegistrySearch,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixRegistrySearchTupleFields.WixSearchRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixRegistrySearchTupleFields.Root), IntermediateFieldType.Number), 13 new IntermediateFieldDefinition(nameof(WixRegistrySearchTupleFields.Root), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixRegistrySearchTupleFields.Key), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixRegistrySearchTupleFields.Key), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixRegistrySearchTupleFields.Value), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixRegistrySearchTupleFields.Value), IntermediateFieldType.String),
@@ -22,15 +21,27 @@ namespace WixToolset.Data
22 21
23namespace WixToolset.Data.Tuples 22namespace WixToolset.Data.Tuples
24{ 23{
24 using System;
25
25 public enum WixRegistrySearchTupleFields 26 public enum WixRegistrySearchTupleFields
26 { 27 {
27 WixSearchRef,
28 Root, 28 Root,
29 Key, 29 Key,
30 Value, 30 Value,
31 Attributes, 31 Attributes,
32 } 32 }
33 33
34 [Flags]
35 public enum WixRegistrySearchAttributes
36 {
37 Raw = 0x01,
38 Compatible = 0x02,
39 ExpandEnvironmentVariables = 0x04,
40 WantValue = 0x08,
41 WantExists = 0x10,
42 Win64 = 0x20,
43 }
44
34 public class WixRegistrySearchTuple : IntermediateTuple 45 public class WixRegistrySearchTuple : IntermediateTuple
35 { 46 {
36 public WixRegistrySearchTuple() : base(TupleDefinitions.WixRegistrySearch, null, null) 47 public WixRegistrySearchTuple() : base(TupleDefinitions.WixRegistrySearch, null, null)
@@ -43,16 +54,10 @@ namespace WixToolset.Data.Tuples
43 54
44 public IntermediateField this[WixRegistrySearchTupleFields index] => this.Fields[(int)index]; 55 public IntermediateField this[WixRegistrySearchTupleFields index] => this.Fields[(int)index];
45 56
46 public string WixSearchRef 57 public RegistryRootType Root
47 { 58 {
48 get => (string)this.Fields[(int)WixRegistrySearchTupleFields.WixSearchRef]; 59 get => (RegistryRootType)this.Fields[(int)WixRegistrySearchTupleFields.Root].AsNumber();
49 set => this.Set((int)WixRegistrySearchTupleFields.WixSearchRef, value); 60 set => this.Set((int)WixRegistrySearchTupleFields.Root, (int)value);
50 }
51
52 public int Root
53 {
54 get => (int)this.Fields[(int)WixRegistrySearchTupleFields.Root];
55 set => this.Set((int)WixRegistrySearchTupleFields.Root, value);
56 } 61 }
57 62
58 public string Key 63 public string Key
@@ -67,10 +72,10 @@ namespace WixToolset.Data.Tuples
67 set => this.Set((int)WixRegistrySearchTupleFields.Value, value); 72 set => this.Set((int)WixRegistrySearchTupleFields.Value, value);
68 } 73 }
69 74
70 public int Attributes 75 public WixRegistrySearchAttributes Attributes
71 { 76 {
72 get => (int)this.Fields[(int)WixRegistrySearchTupleFields.Attributes]; 77 get => (WixRegistrySearchAttributes)this.Fields[(int)WixRegistrySearchTupleFields.Attributes].AsNumber();
73 set => this.Set((int)WixRegistrySearchTupleFields.Attributes, value); 78 set => this.Set((int)WixRegistrySearchTupleFields.Attributes, (int)value);
74 } 79 }
75 } 80 }
76} \ No newline at end of file 81}