From 75f4dce4ea53b82f99932573f27ccfc799d0c5c1 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Mon, 4 Apr 2022 17:38:26 -0500 Subject: Add option for BundlePackage to be hidden in ARP like MsiPackage. Requires support for this feature in the nested bundle. Simplest implementation of 4454 --- src/burn/engine/bundlepackageengine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/burn/engine/bundlepackageengine.cpp') 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( hr = XmlGetAttributeEx(pixnBundlePackage, L"RepairArguments", &pPackage->Bundle.sczRepairArguments); ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @RepairArguments."); + // @HideARP + hr = XmlGetYesNoAttribute(pixnBundlePackage, L"HideARP", &pPackage->Bundle.fHideARP); + ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @HideARP."); + // @SupportsBurnProtocol hr = XmlGetYesNoAttribute(pixnBundlePackage, L"SupportsBurnProtocol", &pPackage->Bundle.fSupportsBurnProtocol); ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @SupportsBurnProtocol."); @@ -870,6 +874,12 @@ static HRESULT ExecuteBundle( ExitOnFailure(hr, "Failed to append the parent to the command line."); } + if (pPackage->Bundle.fHideARP) + { + hr = StrAllocConcatFormatted(&sczBaseCommand, L" -%ls", BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT); + ExitOnFailure(hr, "Failed to append %ls", BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT); + } + // Add the list of dependencies to ignore, if any, to the burn command line. if (BOOTSTRAPPER_RELATION_CHAIN_PACKAGE == relationType) { -- cgit v1.2.3-55-g6feb