diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-03-30 17:08:40 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-04-01 22:06:11 -0500 |
commit | 386a3578413ba16b3c0615d47870ee44a0e461f6 (patch) | |
tree | 1dfcea9e5080f1f15cc880aba1541a962426c58b /src/burn/engine/core.cpp | |
parent | d97c0d1685ef4c3840776327e76ce25d4dbdbeb1 (diff) | |
download | wix-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.cpp | 16 |
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 | ||
2135 | LExit: | 2147 | LExit: |