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;