summaryrefslogtreecommitdiff
path: root/src/burn/engine/core.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-03-30 17:08:40 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-04-01 22:06:11 -0500
commit386a3578413ba16b3c0615d47870ee44a0e461f6 (patch)
tree1dfcea9e5080f1f15cc880aba1541a962426c58b /src/burn/engine/core.cpp
parentd97c0d1685ef4c3840776327e76ce25d4dbdbeb1 (diff)
downloadwix-386a3578413ba16b3c0615d47870ee44a0e461f6.tar.gz
wix-386a3578413ba16b3c0615d47870ee44a0e461f6.tar.bz2
wix-386a3578413ba16b3c0615d47870ee44a0e461f6.zip
Implement BundlePackage.
3693
Diffstat (limited to 'src/burn/engine/core.cpp')
-rw-r--r--src/burn/engine/core.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp
index 551843f2..3370ad05 100644
--- a/src/burn/engine/core.cpp
+++ b/src/burn/engine/core.cpp
@@ -956,6 +956,9 @@ extern "C" LPCWSTR CoreRelationTypeToCommandLineString(
956 case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH: 956 case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH:
957 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH; 957 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH;
958 break; 958 break;
959 case BOOTSTRAPPER_RELATION_CHAIN_PACKAGE:
960 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_CHAIN_PACKAGE;
961 break;
959 case BOOTSTRAPPER_RELATION_NONE: __fallthrough; 962 case BOOTSTRAPPER_RELATION_NONE: __fallthrough;
960 default: 963 default:
961 wzRelationTypeCommandLine = NULL; 964 wzRelationTypeCommandLine = NULL;
@@ -1709,6 +1712,12 @@ extern "C" HRESULT CoreParseCommandLine(
1709 1712
1710 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1713 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1711 } 1714 }
1715 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_CHAIN_PACKAGE, -1))
1716 {
1717 pCommand->relationType = BOOTSTRAPPER_RELATION_CHAIN_PACKAGE;
1718
1719 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1720 }
1712 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PASSTHROUGH, -1)) 1721 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PASSTHROUGH, -1))
1713 { 1722 {
1714 pCommand->fPassthrough = TRUE; 1723 pCommand->fPassthrough = TRUE;
@@ -2111,6 +2120,10 @@ static HRESULT DetectPackage(
2111 // Use the correct engine to detect the package. 2120 // Use the correct engine to detect the package.
2112 switch (pPackage->type) 2121 switch (pPackage->type)
2113 { 2122 {
2123 case BURN_PACKAGE_TYPE_BUNDLE:
2124 hr = BundlePackageEngineDetectPackage(pPackage);
2125 break;
2126
2114 case BURN_PACKAGE_TYPE_EXE: 2127 case BURN_PACKAGE_TYPE_EXE:
2115 hr = ExeEngineDetectPackage(pPackage, &pEngineState->registration, &pEngineState->variables); 2128 hr = ExeEngineDetectPackage(pPackage, &pEngineState->registration, &pEngineState->variables);
2116 break; 2129 break;
@@ -2128,8 +2141,7 @@ static HRESULT DetectPackage(
2128 break; 2141 break;
2129 2142
2130 default: 2143 default:
2131 hr = E_NOTIMPL; 2144 ExitWithRootFailure(hr, E_NOTIMPL, "Package type not supported by detect yet.");
2132 ExitOnRootFailure(hr, "Package type not supported by detect yet.");
2133 } 2145 }
2134 2146
2135LExit: 2147LExit: