aboutsummaryrefslogtreecommitdiff
path: root/src/wixstdba/WixStandardBootstrapperApplication.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-02-22 20:42:00 -0600
committerSean Hall <r.sean.hall@gmail.com>2021-02-22 20:54:54 -0600
commitda29ddd42cf1e15de1f6332a7d17c598cd5a00d1 (patch)
tree3b0768821cb84ec7336c216b8fbec732303dd909 /src/wixstdba/WixStandardBootstrapperApplication.cpp
parentbeaea7f50d598eb1cb4522ca35c74b46632c07b1 (diff)
downloadwix-da29ddd42cf1e15de1f6332a7d17c598cd5a00d1.tar.gz
wix-da29ddd42cf1e15de1f6332a7d17c598cd5a00d1.tar.bz2
wix-da29ddd42cf1e15de1f6332a7d17c598cd5a00d1.zip
Update dependencies.
Diffstat (limited to 'src/wixstdba/WixStandardBootstrapperApplication.cpp')
-rw-r--r--src/wixstdba/WixStandardBootstrapperApplication.cpp57
1 files changed, 28 insertions, 29 deletions
diff --git a/src/wixstdba/WixStandardBootstrapperApplication.cpp b/src/wixstdba/WixStandardBootstrapperApplication.cpp
index 6418cb00..9c882dfa 100644
--- a/src/wixstdba/WixStandardBootstrapperApplication.cpp
+++ b/src/wixstdba/WixStandardBootstrapperApplication.cpp
@@ -383,6 +383,8 @@ public: // IBootstrapperApplication
383 383
384 virtual STDMETHODIMP OnPlanPackageBegin( 384 virtual STDMETHODIMP OnPlanPackageBegin(
385 __in_z LPCWSTR wzPackageId, 385 __in_z LPCWSTR wzPackageId,
386 __in BOOTSTRAPPER_PACKAGE_STATE state,
387 __in BOOL fInstallCondition,
386 __in BOOTSTRAPPER_REQUEST_STATE recommendedState, 388 __in BOOTSTRAPPER_REQUEST_STATE recommendedState,
387 __inout BOOTSTRAPPER_REQUEST_STATE *pRequestState, 389 __inout BOOTSTRAPPER_REQUEST_STATE *pRequestState,
388 __inout BOOL* pfCancel 390 __inout BOOL* pfCancel
@@ -392,7 +394,7 @@ public: // IBootstrapperApplication
392 WIXSTDBA_PACKAGE_INFO* pPackageInfo = NULL; 394 WIXSTDBA_PACKAGE_INFO* pPackageInfo = NULL;
393 BAL_INFO_PACKAGE* pPackage = NULL; 395 BAL_INFO_PACKAGE* pPackage = NULL;
394 396
395 // If we're planning to install a prerequisite, install it. The prerequisite needs to be installed 397 // If we're planning to install prerequisites, install them. The prerequisites need to be installed
396 // in all cases (even uninstall!) so the BA can load next. 398 // in all cases (even uninstall!) so the BA can load next.
397 if (m_fPrereq) 399 if (m_fPrereq)
398 { 400 {
@@ -401,21 +403,7 @@ public: // IBootstrapperApplication
401 hr = GetPackageInfo(wzPackageId, &pPackageInfo, &pPackage); 403 hr = GetPackageInfo(wzPackageId, &pPackageInfo, &pPackage);
402 if (SUCCEEDED(hr) && pPackage->fPrereqPackage && pPackageInfo) 404 if (SUCCEEDED(hr) && pPackage->fPrereqPackage && pPackageInfo)
403 { 405 {
404 if (pPackage->sczInstallCondition && *pPackage->sczInstallCondition) 406 pPackageInfo->fPlannedToBeInstalled = fInstall = fInstallCondition;
405 {
406 hr = BalEvaluateCondition(pPackage->sczInstallCondition, &fInstall);
407 if (FAILED(hr))
408 {
409 fInstall = FALSE;
410 }
411 }
412 else
413 {
414 // If the InstallCondition is missing, then it should always be installed.
415 fInstall = TRUE;
416 }
417
418 pPackageInfo->fPlannedToBeInstalled = fInstall;
419 } 407 }
420 408
421 if (fInstall) 409 if (fInstall)
@@ -449,7 +437,7 @@ public: // IBootstrapperApplication
449 } 437 }
450 } 438 }
451 439
452 return CBalBaseBootstrapperApplication::OnPlanPackageBegin(wzPackageId, recommendedState, pRequestState, pfCancel); 440 return CBalBaseBootstrapperApplication::OnPlanPackageBegin(wzPackageId, state, fInstallCondition, recommendedState, pRequestState, pfCancel);
453 } 441 }
454 442
455 443
@@ -1146,8 +1134,8 @@ public: // IBootstrapperApplication
1146 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE: 1134 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE:
1147 OnDetectRelatedMsiPackageFallback(reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_RESULTS*>(pvResults)); 1135 OnDetectRelatedMsiPackageFallback(reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTRELATEDMSIPACKAGE_RESULTS*>(pvResults));
1148 break; 1136 break;
1149 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTTARGETMSIPACKAGE: 1137 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET:
1150 OnDetectTargetMsiPackageFallback(reinterpret_cast<BA_ONDETECTTARGETMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTTARGETMSIPACKAGE_RESULTS*>(pvResults)); 1138 OnDetectPatchTargetFallback(reinterpret_cast<BA_ONDETECTPATCHTARGET_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTPATCHTARGET_RESULTS*>(pvResults));
1151 break; 1139 break;
1152 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE: 1140 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE:
1153 OnDetectMsiFeatureFallback(reinterpret_cast<BA_ONDETECTMSIFEATURE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTMSIFEATURE_RESULTS*>(pvResults)); 1141 OnDetectMsiFeatureFallback(reinterpret_cast<BA_ONDETECTMSIFEATURE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTMSIFEATURE_RESULTS*>(pvResults));
@@ -1161,8 +1149,8 @@ public: // IBootstrapperApplication
1161 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN: 1149 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN:
1162 OnPlanPackageBeginFallback(reinterpret_cast<BA_ONPLANPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANPACKAGEBEGIN_RESULTS*>(pvResults)); 1150 OnPlanPackageBeginFallback(reinterpret_cast<BA_ONPLANPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANPACKAGEBEGIN_RESULTS*>(pvResults));
1163 break; 1151 break;
1164 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANTARGETMSIPACKAGE: 1152 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET:
1165 OnPlanTargetMsiPackageFallback(reinterpret_cast<BA_ONPLANTARGETMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANTARGETMSIPACKAGE_RESULTS*>(pvResults)); 1153 OnPlanPatchTargetFallback(reinterpret_cast<BA_ONPLANPATCHTARGET_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANPATCHTARGET_RESULTS*>(pvResults));
1166 break; 1154 break;
1167 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE: 1155 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE:
1168 OnPlanMsiFeatureFallback(reinterpret_cast<BA_ONPLANMSIFEATURE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANMSIFEATURE_RESULTS*>(pvResults)); 1156 OnPlanMsiFeatureFallback(reinterpret_cast<BA_ONPLANMSIFEATURE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANMSIFEATURE_RESULTS*>(pvResults));
@@ -1293,6 +1281,9 @@ public: // IBootstrapperApplication
1293 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE: 1281 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE:
1294 OnSystemRestorePointCompleteFallback(reinterpret_cast<BA_ONSYSTEMRESTOREPOINTCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONSYSTEMRESTOREPOINTCOMPLETE_RESULTS*>(pvResults)); 1282 OnSystemRestorePointCompleteFallback(reinterpret_cast<BA_ONSYSTEMRESTOREPOINTCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONSYSTEMRESTOREPOINTCOMPLETE_RESULTS*>(pvResults));
1295 break; 1283 break;
1284 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE:
1285 OnPlannedPackageFallback(reinterpret_cast<BA_ONPLANNEDPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDPACKAGE_RESULTS*>(pvResults));
1286 break;
1296 default: 1287 default:
1297 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message); 1288 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message);
1298 m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext); 1289 m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext);
@@ -1408,12 +1399,12 @@ private: // privates
1408 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE, pArgs, pResults, m_pvBAFunctionsProcContext); 1399 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE, pArgs, pResults, m_pvBAFunctionsProcContext);
1409 } 1400 }
1410 1401
1411 void OnDetectTargetMsiPackageFallback( 1402 void OnDetectPatchTargetFallback(
1412 __in BA_ONDETECTTARGETMSIPACKAGE_ARGS* pArgs, 1403 __in BA_ONDETECTPATCHTARGET_ARGS* pArgs,
1413 __inout BA_ONDETECTTARGETMSIPACKAGE_RESULTS* pResults 1404 __inout BA_ONDETECTPATCHTARGET_RESULTS* pResults
1414 ) 1405 )
1415 { 1406 {
1416 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONDETECTTARGETMSIPACKAGE, pArgs, pResults, m_pvBAFunctionsProcContext); 1407 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONDETECTPATCHTARGET, pArgs, pResults, m_pvBAFunctionsProcContext);
1417 } 1408 }
1418 1409
1419 void OnDetectMsiFeatureFallback( 1410 void OnDetectMsiFeatureFallback(
@@ -1452,13 +1443,13 @@ private: // privates
1452 BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_PACKAGE, m_hModule, pArgs->wzPackageId, LoggingRequestStateToString(requestedState), LoggingRequestStateToString(pResults->requestedState)); 1443 BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_PACKAGE, m_hModule, pArgs->wzPackageId, LoggingRequestStateToString(requestedState), LoggingRequestStateToString(pResults->requestedState));
1453 } 1444 }
1454 1445
1455 void OnPlanTargetMsiPackageFallback( 1446 void OnPlanPatchTargetFallback(
1456 __in BA_ONPLANTARGETMSIPACKAGE_ARGS* pArgs, 1447 __in BA_ONPLANPATCHTARGET_ARGS* pArgs,
1457 __inout BA_ONPLANTARGETMSIPACKAGE_RESULTS* pResults 1448 __inout BA_ONPLANPATCHTARGET_RESULTS* pResults
1458 ) 1449 )
1459 { 1450 {
1460 BOOTSTRAPPER_REQUEST_STATE requestedState = pResults->requestedState; 1451 BOOTSTRAPPER_REQUEST_STATE requestedState = pResults->requestedState;
1461 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONPLANTARGETMSIPACKAGE, pArgs, pResults, m_pvBAFunctionsProcContext); 1452 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONPLANPATCHTARGET, pArgs, pResults, m_pvBAFunctionsProcContext);
1462 BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_TARGET_MSI_PACKAGE, m_hModule, pArgs->wzPackageId, pArgs->wzProductCode, LoggingRequestStateToString(requestedState), LoggingRequestStateToString(pResults->requestedState)); 1453 BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_TARGET_MSI_PACKAGE, m_hModule, pArgs->wzPackageId, pArgs->wzProductCode, LoggingRequestStateToString(requestedState), LoggingRequestStateToString(pResults->requestedState));
1463 } 1454 }
1464 1455
@@ -1480,6 +1471,14 @@ private: // privates
1480 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE, pArgs, pResults, m_pvBAFunctionsProcContext); 1471 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE, pArgs, pResults, m_pvBAFunctionsProcContext);
1481 } 1472 }
1482 1473
1474 void OnPlannedPackageFallback(
1475 __in BA_ONPLANNEDPACKAGE_ARGS* pArgs,
1476 __inout BA_ONPLANNEDPACKAGE_RESULTS* pResults
1477 )
1478 {
1479 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE, pArgs, pResults, m_pvBAFunctionsProcContext);
1480 }
1481
1483 void OnApplyBeginFallback( 1482 void OnApplyBeginFallback(
1484 __in BA_ONAPPLYBEGIN_ARGS* pArgs, 1483 __in BA_ONAPPLYBEGIN_ARGS* pArgs,
1485 __inout BA_ONAPPLYBEGIN_RESULTS* pResults 1484 __inout BA_ONAPPLYBEGIN_RESULTS* pResults