aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Tuples/WixBundleTuple.cs
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/WixBundleTuple.cs
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/WixBundleTuple.cs')
-rw-r--r--src/WixToolset.Data/Tuples/WixBundleTuple.cs128
1 files changed, 71 insertions, 57 deletions
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}