aboutsummaryrefslogtreecommitdiff
path: root/src/engine/userexperience.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/engine/userexperience.cpp43
1 files changed, 39 insertions, 4 deletions
diff --git a/src/engine/userexperience.cpp b/src/engine/userexperience.cpp
index 40a30c5d..e1e32a87 100644
--- a/src/engine/userexperience.cpp
+++ b/src/engine/userexperience.cpp
@@ -763,8 +763,7 @@ EXTERN_C BAAPI UserExperienceOnDetectForwardCompatibleBundle(
763 __in BOOTSTRAPPER_RELATION_TYPE relationType, 763 __in BOOTSTRAPPER_RELATION_TYPE relationType,
764 __in_z LPCWSTR wzBundleTag, 764 __in_z LPCWSTR wzBundleTag,
765 __in BOOL fPerMachine, 765 __in BOOL fPerMachine,
766 __in VERUTIL_VERSION* pVersion, 766 __in VERUTIL_VERSION* pVersion
767 __inout BOOL* pfIgnoreBundle
768 ) 767 )
769{ 768{
770 HRESULT hr = S_OK; 769 HRESULT hr = S_OK;
@@ -779,7 +778,6 @@ EXTERN_C BAAPI UserExperienceOnDetectForwardCompatibleBundle(
779 args.wzVersion = pVersion->sczVersion; 778 args.wzVersion = pVersion->sczVersion;
780 779
781 results.cbSize = sizeof(results); 780 results.cbSize = sizeof(results);
782 results.fIgnoreBundle = *pfIgnoreBundle;
783 781
784 hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTFORWARDCOMPATIBLEBUNDLE, &args, &results); 782 hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTFORWARDCOMPATIBLEBUNDLE, &args, &results);
785 ExitOnFailure(hr, "BA OnDetectForwardCompatibleBundle failed."); 783 ExitOnFailure(hr, "BA OnDetectForwardCompatibleBundle failed.");
@@ -788,7 +786,6 @@ EXTERN_C BAAPI UserExperienceOnDetectForwardCompatibleBundle(
788 { 786 {
789 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); 787 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT);
790 } 788 }
791 *pfIgnoreBundle = results.fIgnoreBundle;
792 789
793LExit: 790LExit:
794 return hr; 791 return hr;
@@ -1567,6 +1564,44 @@ LExit:
1567 return hr; 1564 return hr;
1568} 1565}
1569 1566
1567EXTERN_C BAAPI UserExperienceOnPlanForwardCompatibleBundle(
1568 __in BURN_USER_EXPERIENCE* pUserExperience,
1569 __in_z LPCWSTR wzBundleId,
1570 __in BOOTSTRAPPER_RELATION_TYPE relationType,
1571 __in_z LPCWSTR wzBundleTag,
1572 __in BOOL fPerMachine,
1573 __in VERUTIL_VERSION* pVersion,
1574 __inout BOOL* pfIgnoreBundle
1575 )
1576{
1577 HRESULT hr = S_OK;
1578 BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS args = { };
1579 BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS results = { };
1580
1581 args.cbSize = sizeof(args);
1582 args.wzBundleId = wzBundleId;
1583 args.relationType = relationType;
1584 args.wzBundleTag = wzBundleTag;
1585 args.fPerMachine = fPerMachine;
1586 args.wzVersion = pVersion->sczVersion;
1587 args.fRecommendedIgnoreBundle = *pfIgnoreBundle;
1588
1589 results.cbSize = sizeof(results);
1590 results.fIgnoreBundle = *pfIgnoreBundle;
1591
1592 hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE, &args, &results);
1593 ExitOnFailure(hr, "BA OnPlanForwardCompatibleBundle failed.");
1594
1595 if (results.fCancel)
1596 {
1597 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT);
1598 }
1599 *pfIgnoreBundle = results.fIgnoreBundle;
1600
1601LExit:
1602 return hr;
1603}
1604
1570EXTERN_C BAAPI UserExperienceOnPlanMsiPackage( 1605EXTERN_C BAAPI UserExperienceOnPlanMsiPackage(
1571 __in BURN_USER_EXPERIENCE* pUserExperience, 1606 __in BURN_USER_EXPERIENCE* pUserExperience,
1572 __in_z LPCWSTR wzPackageId, 1607 __in_z LPCWSTR wzPackageId,