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: |
