aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/bundlepackageengine.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-04-04 17:38:26 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-04-05 13:52:11 -0500
commit75f4dce4ea53b82f99932573f27ccfc799d0c5c1 (patch)
tree4225579b861b4998138c19e9108d3cf91b13ad80 /src/burn/engine/bundlepackageengine.cpp
parent44c2ca035c1a5d52a6b3299ba3abbb8b88f7f1c0 (diff)
downloadwix-75f4dce4ea53b82f99932573f27ccfc799d0c5c1.tar.gz
wix-75f4dce4ea53b82f99932573f27ccfc799d0c5c1.tar.bz2
wix-75f4dce4ea53b82f99932573f27ccfc799d0c5c1.zip
Add option for BundlePackage to be hidden in ARP like MsiPackage.
Requires support for this feature in the nested bundle. Simplest implementation of 4454
Diffstat (limited to 'src/burn/engine/bundlepackageengine.cpp')
-rw-r--r--src/burn/engine/bundlepackageengine.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/burn/engine/bundlepackageengine.cpp b/src/burn/engine/bundlepackageengine.cpp
index cb34878f..00cf9454 100644
--- a/src/burn/engine/bundlepackageengine.cpp
+++ b/src/burn/engine/bundlepackageengine.cpp
@@ -72,6 +72,10 @@ extern "C" HRESULT BundlePackageEngineParsePackageFromXml(
72 hr = XmlGetAttributeEx(pixnBundlePackage, L"RepairArguments", &pPackage->Bundle.sczRepairArguments); 72 hr = XmlGetAttributeEx(pixnBundlePackage, L"RepairArguments", &pPackage->Bundle.sczRepairArguments);
73 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @RepairArguments."); 73 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @RepairArguments.");
74 74
75 // @HideARP
76 hr = XmlGetYesNoAttribute(pixnBundlePackage, L"HideARP", &pPackage->Bundle.fHideARP);
77 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @HideARP.");
78
75 // @SupportsBurnProtocol 79 // @SupportsBurnProtocol
76 hr = XmlGetYesNoAttribute(pixnBundlePackage, L"SupportsBurnProtocol", &pPackage->Bundle.fSupportsBurnProtocol); 80 hr = XmlGetYesNoAttribute(pixnBundlePackage, L"SupportsBurnProtocol", &pPackage->Bundle.fSupportsBurnProtocol);
77 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @SupportsBurnProtocol."); 81 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @SupportsBurnProtocol.");
@@ -870,6 +874,12 @@ static HRESULT ExecuteBundle(
870 ExitOnFailure(hr, "Failed to append the parent to the command line."); 874 ExitOnFailure(hr, "Failed to append the parent to the command line.");
871 } 875 }
872 876
877 if (pPackage->Bundle.fHideARP)
878 {
879 hr = StrAllocConcatFormatted(&sczBaseCommand, L" -%ls", BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT);
880 ExitOnFailure(hr, "Failed to append %ls", BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT);
881 }
882
873 // Add the list of dependencies to ignore, if any, to the burn command line. 883 // Add the list of dependencies to ignore, if any, to the burn command line.
874 if (BOOTSTRAPPER_RELATION_CHAIN_PACKAGE == relationType) 884 if (BOOTSTRAPPER_RELATION_CHAIN_PACKAGE == relationType)
875 { 885 {