aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-03-21 23:19:46 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-03-22 12:26:48 -0500
commit9bb420a19538321789b8300051cd595d6c00c710 (patch)
tree12c8c5d581f402d4457b99f2c932bd0e338db372
parentcd90117f7ad5685d5af7eaecc3f2347f9b8ab1cb (diff)
downloadwix-9bb420a19538321789b8300051cd595d6c00c710.tar.gz
wix-9bb420a19538321789b8300051cd595d6c00c710.tar.bz2
wix-9bb420a19538321789b8300051cd595d6c00c710.zip
Add related command line switches for DEPENDENT_ADDON, DEPENDENT_PATCH.
Implements 4504, needed for 3796/6252
-rw-r--r--src/burn/engine/core.cpp20
-rw-r--r--src/burn/engine/core.h2
2 files changed, 20 insertions, 2 deletions
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp
index becece86..e077d224 100644
--- a/src/burn/engine/core.cpp
+++ b/src/burn/engine/core.cpp
@@ -945,8 +945,12 @@ extern "C" LPCWSTR CoreRelationTypeToCommandLineString(
945 case BOOTSTRAPPER_RELATION_UPDATE: 945 case BOOTSTRAPPER_RELATION_UPDATE:
946 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_UPDATE; 946 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_UPDATE;
947 break; 947 break;
948 case BOOTSTRAPPER_RELATION_DEPENDENT_ADDON: __fallthrough; 948 case BOOTSTRAPPER_RELATION_DEPENDENT_ADDON:
949 case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH: __fallthrough; 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;
950 case BOOTSTRAPPER_RELATION_NONE: __fallthrough; 954 case BOOTSTRAPPER_RELATION_NONE: __fallthrough;
951 default: 955 default:
952 wzRelationTypeCommandLine = NULL; 956 wzRelationTypeCommandLine = NULL;
@@ -1676,12 +1680,24 @@ extern "C" HRESULT CoreParseCommandLine(
1676 1680
1677 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1681 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1678 } 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 }
1679 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1)) 1689 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1))
1680 { 1690 {
1681 pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH; 1691 pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH;
1682 1692
1683 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1693 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1684 } 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 }
1685 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1)) 1701 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1))
1686 { 1702 {
1687 pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE; 1703 pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE;
diff --git a/src/burn/engine/core.h b/src/burn/engine/core.h
index 6ba1aa2a..cee71aec 100644
--- a/src/burn/engine/core.h
+++ b/src/burn/engine/core.h
@@ -23,7 +23,9 @@ const LPCWSTR BURN_COMMANDLINE_SWITCH_LOG_MODE = L"burn.log.mode";
23const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_DETECT = L"burn.related.detect"; 23const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_DETECT = L"burn.related.detect";
24const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_UPGRADE = L"burn.related.upgrade"; 24const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_UPGRADE = L"burn.related.upgrade";
25const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_ADDON = L"burn.related.addon"; 25const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_ADDON = L"burn.related.addon";
26const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON = L"burn.related.dependent.addon";
26const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_PATCH = L"burn.related.patch"; 27const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_PATCH = L"burn.related.patch";
28const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH = L"burn.related.dependent.patch";
27const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_UPDATE = L"burn.related.update"; 29const LPCWSTR BURN_COMMANDLINE_SWITCH_RELATED_UPDATE = L"burn.related.update";
28const LPCWSTR BURN_COMMANDLINE_SWITCH_PASSTHROUGH = L"burn.passthrough"; 30const LPCWSTR BURN_COMMANDLINE_SWITCH_PASSTHROUGH = L"burn.passthrough";
29const LPCWSTR BURN_COMMANDLINE_SWITCH_DISABLE_UNELEVATE = L"burn.disable.unelevate"; 31const LPCWSTR BURN_COMMANDLINE_SWITCH_DISABLE_UNELEVATE = L"burn.disable.unelevate";