diff options
| author | Rob Mensching <rob@firegiant.com> | 2019-10-07 07:32:59 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2019-10-07 11:27:21 -0700 |
| commit | cece10e037c6daacc8d2def1a9057882aec47fe4 (patch) | |
| tree | 8e79c0d5b30ed8e663c077b2d9ce2b829b76ab84 /src/WixToolset.Data/Tuples/WixBundleTuple.cs | |
| parent | 7462108b714d07161126dcedda5312daef54ae13 (diff) | |
| download | wix-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.cs | 128 |
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 | ||
| 41 | namespace WixToolset.Data.Tuples | 40 | namespace 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 | } |
