summaryrefslogtreecommitdiff
path: root/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs')
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs96
1 files changed, 76 insertions, 20 deletions
diff --git a/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs
index e68a9d09..6afe657e 100644
--- a/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs
+++ b/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs
@@ -16,8 +16,7 @@ namespace WixToolset.Data
16 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.InstallCondition), IntermediateFieldType.String), 16 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.InstallCondition), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Cache), IntermediateFieldType.String), 17 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Cache), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.CacheId), IntermediateFieldType.String), 18 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.CacheId), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Vital), IntermediateFieldType.Bool), 19 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.PerMachine), IntermediateFieldType.Bool),
20 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.PerMachine), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.LogPathVariable), IntermediateFieldType.String), 20 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.LogPathVariable), IntermediateFieldType.String),
22 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackLogPathVariable), IntermediateFieldType.String), 21 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackLogPathVariable), IntermediateFieldType.String),
23 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Size), IntermediateFieldType.LargeNumber), 22 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Size), IntermediateFieldType.LargeNumber),
@@ -28,7 +27,6 @@ namespace WixToolset.Data
28 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Description), IntermediateFieldType.String), 27 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Description), IntermediateFieldType.String),
29 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackBoundaryRef), IntermediateFieldType.String), 28 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackBoundaryRef), IntermediateFieldType.String),
30 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackBoundaryBackwardRef), IntermediateFieldType.String), 29 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackBoundaryBackwardRef), IntermediateFieldType.String),
31 new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Win64), IntermediateFieldType.Bool),
32 }, 30 },
33 typeof(WixBundlePackageSymbol)); 31 typeof(WixBundlePackageSymbol));
34 } 32 }
@@ -46,7 +44,6 @@ namespace WixToolset.Data.Symbols
46 InstallCondition, 44 InstallCondition,
47 Cache, 45 Cache,
48 CacheId, 46 CacheId,
49 Vital,
50 PerMachine, 47 PerMachine,
51 LogPathVariable, 48 LogPathVariable,
52 RollbackLogPathVariable, 49 RollbackLogPathVariable,
@@ -58,7 +55,6 @@ namespace WixToolset.Data.Symbols
58 Description, 55 Description,
59 RollbackBoundaryRef, 56 RollbackBoundaryRef,
60 RollbackBoundaryBackwardRef, 57 RollbackBoundaryBackwardRef,
61 Win64,
62 } 58 }
63 59
64 /// <summary> 60 /// <summary>
@@ -66,6 +62,7 @@ namespace WixToolset.Data.Symbols
66 /// </summary> 62 /// </summary>
67 public enum WixBundlePackageType 63 public enum WixBundlePackageType
68 { 64 {
65 NotSet = -1,
69 Bundle, 66 Bundle,
70 Exe, 67 Exe,
71 Msi, 68 Msi,
@@ -76,10 +73,11 @@ namespace WixToolset.Data.Symbols
76 [Flags] 73 [Flags]
77 public enum WixBundlePackageAttributes 74 public enum WixBundlePackageAttributes
78 { 75 {
76 None = 0x0,
79 Permanent = 0x1, 77 Permanent = 0x1,
80 Visible = 0x2, 78 Visible = 0x2,
81 PerMachine = 0x4, 79 Win64 = 0x4,
82 Win64 = 0x8, 80 Vital = 0x8,
83 } 81 }
84 82
85 public class WixBundlePackageSymbol : IntermediateSymbol 83 public class WixBundlePackageSymbol : IntermediateSymbol
@@ -96,7 +94,15 @@ namespace WixToolset.Data.Symbols
96 94
97 public WixBundlePackageType Type 95 public WixBundlePackageType Type
98 { 96 {
99 get => (WixBundlePackageType)Enum.Parse(typeof(WixBundlePackageType), (string)this.Fields[(int)WixBundlePackageSymbolFields.Type], true); 97 get
98 {
99 if (Enum.TryParse((string)this.Fields[(int)WixBundlePackageSymbolFields.Type], true, out WixBundlePackageType value))
100 {
101 return value;
102 }
103
104 return WixBundlePackageType.NotSet;
105 }
100 set => this.Set((int)WixBundlePackageSymbolFields.Type, value.ToString()); 106 set => this.Set((int)WixBundlePackageSymbolFields.Type, value.ToString());
101 } 107 }
102 108
@@ -130,16 +136,10 @@ namespace WixToolset.Data.Symbols
130 set => this.Set((int)WixBundlePackageSymbolFields.CacheId, value); 136 set => this.Set((int)WixBundlePackageSymbolFields.CacheId, value);
131 } 137 }
132 138
133 public bool? Vital 139 public bool? PerMachine
134 {
135 get => (bool?)this.Fields[(int)WixBundlePackageSymbolFields.Vital];
136 set => this.Set((int)WixBundlePackageSymbolFields.Vital, value);
137 }
138
139 public YesNoDefaultType PerMachine
140 { 140 {
141 get => Enum.TryParse((string)this.Fields[(int)WixBundlePackageSymbolFields.PerMachine], true, out YesNoDefaultType value) ? value : YesNoDefaultType.NotSet; 141 get => (bool?)this.Fields[(int)WixBundlePackageSymbolFields.PerMachine];
142 set => this.Set((int)WixBundlePackageSymbolFields.PerMachine, value.ToString().ToLowerInvariant()); 142 set => this.Set((int)WixBundlePackageSymbolFields.PerMachine, value);
143 } 143 }
144 144
145 public string LogPathVariable 145 public string LogPathVariable
@@ -202,12 +202,68 @@ namespace WixToolset.Data.Symbols
202 set => this.Set((int)WixBundlePackageSymbolFields.RollbackBoundaryBackwardRef, value); 202 set => this.Set((int)WixBundlePackageSymbolFields.RollbackBoundaryBackwardRef, value);
203 } 203 }
204 204
205 public bool Permanent
206 {
207 get { return this.Attributes.HasFlag(WixBundlePackageAttributes.Permanent); }
208 set
209 {
210 if (value)
211 {
212 this.Attributes |= WixBundlePackageAttributes.Permanent;
213 }
214 else
215 {
216 this.Attributes &= ~WixBundlePackageAttributes.Permanent;
217 }
218 }
219 }
220
221 public bool Visible
222 {
223 get { return this.Attributes.HasFlag(WixBundlePackageAttributes.Visible); }
224 set
225 {
226 if (value)
227 {
228 this.Attributes |= WixBundlePackageAttributes.Visible;
229 }
230 else
231 {
232 this.Attributes &= ~WixBundlePackageAttributes.Visible;
233 }
234 }
235 }
236
205 public bool Win64 237 public bool Win64
206 { 238 {
207 get => (bool)this.Fields[(int)WixBundlePackageSymbolFields.Win64]; 239 get { return this.Attributes.HasFlag(WixBundlePackageAttributes.Win64); }
208 set => this.Set((int)WixBundlePackageSymbolFields.Win64, value); 240 set
241 {
242 if (value)
243 {
244 this.Attributes |= WixBundlePackageAttributes.Win64;
245 }
246 else
247 {
248 this.Attributes &= ~WixBundlePackageAttributes.Win64;
249 }
250 }
209 } 251 }
210 252
211 public bool Permanent => (this.Attributes & WixBundlePackageAttributes.Permanent) == WixBundlePackageAttributes.Permanent; 253 public bool Vital
254 {
255 get { return this.Attributes.HasFlag(WixBundlePackageAttributes.Vital); }
256 set
257 {
258 if (value)
259 {
260 this.Attributes |= WixBundlePackageAttributes.Vital;
261 }
262 else
263 {
264 this.Attributes &= ~WixBundlePackageAttributes.Vital;
265 }
266 }
267 }
212 } 268 }
213} 269}