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";