From d77302d94b356a1db2b2b834e45c8962381eae6b Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sat, 10 Apr 2021 15:24:33 -0700 Subject: Add support for RepairCondition on Exe, Msi and Msp packages --- .../Bundles/CreateBurnManifestCommand.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/WixToolset.Core.Burn') diff --git a/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs b/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs index fa44a8e3..128c7a5f 100644 --- a/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs +++ b/src/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs @@ -399,6 +399,10 @@ namespace WixToolset.Core.Burn.Bundles writer.WriteAttributeString("InstallArguments", exePackage.InstallCommand); writer.WriteAttributeString("UninstallArguments", exePackage.UninstallCommand); writer.WriteAttributeString("RepairArguments", exePackage.RepairCommand); + if (!String.IsNullOrEmpty(exePackage.RepairCondition)) + { + writer.WriteAttributeString("RepairCondition", exePackage.RepairCondition); + } writer.WriteAttributeString("Repairable", exePackage.Repairable ? "yes" : "no"); if (!String.IsNullOrEmpty(exePackage.ExeProtocol)) { @@ -410,6 +414,10 @@ namespace WixToolset.Core.Burn.Bundles writer.WriteAttributeString("ProductCode", msiPackage.ProductCode); writer.WriteAttributeString("Language", msiPackage.ProductLanguage.ToString(CultureInfo.InvariantCulture)); writer.WriteAttributeString("Version", msiPackage.ProductVersion); + if (!String.IsNullOrEmpty(msiPackage.RepairCondition)) + { + writer.WriteAttributeString("RepairCondition", msiPackage.RepairCondition); + } if (!String.IsNullOrEmpty(msiPackage.UpgradeCode)) { writer.WriteAttributeString("UpgradeCode", msiPackage.UpgradeCode); @@ -420,6 +428,11 @@ namespace WixToolset.Core.Burn.Bundles writer.WriteAttributeString("PatchCode", mspPackage.PatchCode); writer.WriteAttributeString("PatchXml", mspPackage.PatchXml); + if (!String.IsNullOrEmpty(mspPackage.RepairCondition)) + { + writer.WriteAttributeString("RepairCondition", mspPackage.RepairCondition); + } + // If there is still a chance that all of our patches will target a narrow set of // product codes, add the patch list to the overall list. if (null != targetCodes) -- cgit v1.2.3-55-g6feb