@joebigelow / wix / commits / 9bb420a1

Add related command line switches for DEPENDENT_ADDON, DEPENDENT_PATCH.

Implements 4504, needed for 3796/6252

Sean Hall committed Mar 21, 2022 at 23:19 UTC 9bb420a19538321789b8300051cd595d6c00c710
2 files changed +20 -2
src/burn/engine/core.cpp
+18 -2
@@ -945,8 +945,12 @@ extern "C" LPCWSTR CoreRelationTypeToCommandLineString(
945 case BOOTSTRAPPER_RELATION_UPDATE:
946 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_UPDATE;
947 break;
948 - case BOOTSTRAPPER_RELATION_DEPENDENT_ADDON: __fallthrough;
949 - case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH: __fallthrough;
948 + case BOOTSTRAPPER_RELATION_DEPENDENT_ADDON:
949 + wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON;
950 + break;
951 + case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH:
952 + wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH;
953 + break;
954 case BOOTSTRAPPER_RELATION_NONE: __fallthrough;
955 default:
956 wzRelationTypeCommandLine = NULL;
@@ -1676,12 +1680,24 @@ extern "C" HRESULT CoreParseCommandLine(
1680
1681 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1682 }
1683 + else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON, -1))
1684 + {
1685 + pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_ADDON;
1686 +
1687 + LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1688 + }
1689 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1))
1690 {
1691 pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH;
1692
1693 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1694 }
1695 + else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH, -1))
1696 + {
1697 + pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_PATCH;
1698 +
1699 + LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1700 + }
1701 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1))
1702 {
1703 pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE;
src/burn/engine/core.h
+2
@@ -23,7 +23,9 @@ const LPCWSTR BURN_COMMANDLINE_SWITCH_LOG_MODE = L"burn.log.mode";
23 const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_DETECT = L"burn.related.detect";
24 const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_UPGRADE = L"burn.related.upgrade";
25 const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_ADDON = L"burn.related.addon";
26 +const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON = L"burn.related.dependent.addon";
27 const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_PATCH = L"burn.related.patch";
28 +const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH = L"burn.related.dependent.patch";
29 const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_UPDATE = L"burn.related.update";
30 const LPCWSTR BURN_COMMANDLINE_SWITCH_PASSTHROUGH = L"burn.passthrough";
31 const LPCWSTR BURN_COMMANDLINE_SWITCH_DISABLE_UNELEVATE = L"burn.disable.unelevate";