diff options
Diffstat (limited to 'src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs')
-rw-r--r-- | src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs | 96 |
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 | } |