@joebigelow / wix / commits / c9c92ff8

Add support for RepairCondition on Exe, Msi and Msp packages

Rob Mensching committed Apr 10, 2021 at 15:15 UTC c9c92ff83b24d6ed055032f62e833090ea4f8d9c
3 files changed +24
src/WixToolset.Data/Symbols/WixBundleExePackageSymbol.cs
+8
@@ -16,6 +16,7 @@ namespace WixToolset.Data
16 new IntermediateFieldDefinition(nameof(WixBundleExePackageSymbolFields.RepairCommand), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundleExePackageSymbolFields.UninstallCommand), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixBundleExePackageSymbolFields.ExeProtocol), IntermediateFieldType.String),
19 + new IntermediateFieldDefinition(nameof(WixBundleExePackageSymbolFields.RepairCondition), IntermediateFieldType.String),
20 },
21 typeof(WixBundleExePackageSymbol));
22 }
@@ -33,6 +34,7 @@ namespace WixToolset.Data.Symbols
34 RepairCommand,
35 UninstallCommand,
36 ExeProtocol,
37 + RepairCondition,
38 }
39
40 [Flags]
@@ -89,6 +91,12 @@ namespace WixToolset.Data.Symbols
91 set => this.Set((int)WixBundleExePackageSymbolFields.ExeProtocol, value);
92 }
93
94 + public string RepairCondition
95 + {
96 + get => (string)this.Fields[(int)WixBundleExePackageSymbolFields.RepairCondition];
97 + set => this.Set((int)WixBundleExePackageSymbolFields.RepairCondition, value);
98 + }
99 +
100 public bool Repairable => !String.IsNullOrEmpty(this.RepairCommand);
101 }
102 }
src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs
+8
@@ -17,6 +17,7 @@ namespace WixToolset.Data
17 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.ProductLanguage), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.ProductName), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.Manufacturer), IntermediateFieldType.String),
20 + new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.RepairCondition), IntermediateFieldType.String),
21 },
22 typeof(WixBundleMsiPackageSymbol));
23 }
@@ -35,6 +36,7 @@ namespace WixToolset.Data.Symbols
36 ProductLanguage,
37 ProductName,
38 Manufacturer,
39 + RepairCondition,
40 }
41
42 [Flags]
@@ -98,6 +100,12 @@ namespace WixToolset.Data.Symbols
100 set => this.Set((int)WixBundleMsiPackageSymbolFields.Manufacturer, value);
101 }
102
103 + public string RepairCondition
104 + {
105 + get => (string)this.Fields[(int)WixBundleMsiPackageSymbolFields.RepairCondition];
106 + set => this.Set((int)WixBundleMsiPackageSymbolFields.RepairCondition, value);
107 + }
108 +
109 public bool EnableFeatureSelection => (this.Attributes & WixBundleMsiPackageAttributes.EnableFeatureSelection) == WixBundleMsiPackageAttributes.EnableFeatureSelection;
110
111 public bool ForcePerMachine => (this.Attributes & WixBundleMsiPackageAttributes.ForcePerMachine) == WixBundleMsiPackageAttributes.ForcePerMachine;
src/WixToolset.Data/Symbols/WixBundleMspPackageSymbol.cs
+8
@@ -14,6 +14,7 @@ namespace WixToolset.Data
14 new IntermediateFieldDefinition(nameof(WixBundleMspPackageSymbolFields.PatchCode), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundleMspPackageSymbolFields.Manufacturer), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundleMspPackageSymbolFields.PatchXml), IntermediateFieldType.String),
17 + new IntermediateFieldDefinition(nameof(WixBundleMspPackageSymbolFields.RepairCondition), IntermediateFieldType.String),
18 },
19 typeof(WixBundleMspPackageSymbol));
20 }
@@ -29,6 +30,7 @@ namespace WixToolset.Data.Symbols
30 PatchCode,
31 Manufacturer,
32 PatchXml,
33 + RepairCondition,
34 }
35
36 [Flags]
@@ -74,6 +76,12 @@ namespace WixToolset.Data.Symbols
76 set => this.Set((int)WixBundleMspPackageSymbolFields.PatchXml, value);
77 }
78
79 + public string RepairCondition
80 + {
81 + get => (string)this.Fields[(int)WixBundleMspPackageSymbolFields.RepairCondition];
82 + set => this.Set((int)WixBundleMspPackageSymbolFields.RepairCondition, value);
83 + }
84 +
85 public bool Slipstream => (this.Attributes & WixBundleMspPackageAttributes.Slipstream) == WixBundleMspPackageAttributes.Slipstream;
86
87 public bool TargetUnspecified => (this.Attributes & WixBundleMspPackageAttributes.TargetUnspecified) == WixBundleMspPackageAttributes.TargetUnspecified;