aboutsummaryrefslogtreecommitdiff
path: root/src/engine/plan.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/plan.cpp')
-rw-r--r--src/engine/plan.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/engine/plan.cpp b/src/engine/plan.cpp
index 02f5be23..0b040bf8 100644
--- a/src/engine/plan.cpp
+++ b/src/engine/plan.cpp
@@ -31,6 +31,7 @@ static HRESULT ProcessPackage(
31 __in BURN_PACKAGE* pPackage, 31 __in BURN_PACKAGE* pPackage,
32 __in BURN_LOGGING* pLog, 32 __in BURN_LOGGING* pLog,
33 __in BURN_VARIABLES* pVariables, 33 __in BURN_VARIABLES* pVariables,
34 __in BOOTSTRAPPER_DISPLAY display,
34 __in BOOTSTRAPPER_RELATION_TYPE relationType, 35 __in BOOTSTRAPPER_RELATION_TYPE relationType,
35 __in_z_opt LPCWSTR wzLayoutDirectory, 36 __in_z_opt LPCWSTR wzLayoutDirectory,
36 __inout HANDLE* phSyncpointEvent, 37 __inout HANDLE* phSyncpointEvent,
@@ -472,6 +473,7 @@ extern "C" HRESULT PlanPackages(
472 __in BURN_LOGGING* pLog, 473 __in BURN_LOGGING* pLog,
473 __in BURN_VARIABLES* pVariables, 474 __in BURN_VARIABLES* pVariables,
474 __in BOOL fBundleInstalled, 475 __in BOOL fBundleInstalled,
476 __in BOOTSTRAPPER_DISPLAY display,
475 __in BOOTSTRAPPER_RELATION_TYPE relationType, 477 __in BOOTSTRAPPER_RELATION_TYPE relationType,
476 __in_z_opt LPCWSTR wzLayoutDirectory, 478 __in_z_opt LPCWSTR wzLayoutDirectory,
477 __inout HANDLE* phSyncpointEvent 479 __inout HANDLE* phSyncpointEvent
@@ -509,7 +511,7 @@ extern "C" HRESULT PlanPackages(
509 } 511 }
510 } 512 }
511 513
512 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices); 514 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, display, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices);
513 ExitOnFailure(hr, "Failed to process package."); 515 ExitOnFailure(hr, "Failed to process package.");
514 516
515 // Attempt to remove orphaned packages during uninstall. Currently only MSI packages are supported and should not require source. 517 // Attempt to remove orphaned packages during uninstall. Currently only MSI packages are supported and should not require source.
@@ -534,7 +536,7 @@ extern "C" HRESULT PlanPackages(
534 ExitOnFailure(hr, "Failed to copy installed ProductCode"); 536 ExitOnFailure(hr, "Failed to copy installed ProductCode");
535 537
536 // Process the compatible MSI package like any other. 538 // Process the compatible MSI package like any other.
537 hr = ProcessPackage(fBundlePerMachine, pPackage, pUX, pPlan, pCompatiblePackage, pLog, pVariables, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices); 539 hr = ProcessPackage(fBundlePerMachine, pPackage, pUX, pPlan, pCompatiblePackage, pLog, pVariables, display, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices);
538 ExitOnFailure(hr, "Failed to process compatible package."); 540 ExitOnFailure(hr, "Failed to process compatible package.");
539 541
540 if (BOOTSTRAPPER_ACTION_STATE_UNINSTALL == pCompatiblePackage->execute) 542 if (BOOTSTRAPPER_ACTION_STATE_UNINSTALL == pCompatiblePackage->execute)
@@ -785,6 +787,7 @@ extern "C" HRESULT PlanPassThroughBundle(
785 __in BURN_PLAN* pPlan, 787 __in BURN_PLAN* pPlan,
786 __in BURN_LOGGING* pLog, 788 __in BURN_LOGGING* pLog,
787 __in BURN_VARIABLES* pVariables, 789 __in BURN_VARIABLES* pVariables,
790 __in BOOTSTRAPPER_DISPLAY display,
788 __in BOOTSTRAPPER_RELATION_TYPE relationType, 791 __in BOOTSTRAPPER_RELATION_TYPE relationType,
789 __inout HANDLE* phSyncpointEvent 792 __inout HANDLE* phSyncpointEvent
790 ) 793 )
@@ -794,7 +797,7 @@ extern "C" HRESULT PlanPassThroughBundle(
794 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL; 797 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL;
795 798
796 // Plan passthrough package. 799 // Plan passthrough package.
797 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL); 800 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, display, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL);
798 ExitOnFailure(hr, "Failed to process passthrough package."); 801 ExitOnFailure(hr, "Failed to process passthrough package.");
799 802
800 // If we still have an open rollback boundary, complete it. 803 // If we still have an open rollback boundary, complete it.
@@ -818,6 +821,7 @@ extern "C" HRESULT PlanUpdateBundle(
818 __in BURN_PLAN* pPlan, 821 __in BURN_PLAN* pPlan,
819 __in BURN_LOGGING* pLog, 822 __in BURN_LOGGING* pLog,
820 __in BURN_VARIABLES* pVariables, 823 __in BURN_VARIABLES* pVariables,
824 __in BOOTSTRAPPER_DISPLAY display,
821 __in BOOTSTRAPPER_RELATION_TYPE relationType, 825 __in BOOTSTRAPPER_RELATION_TYPE relationType,
822 __inout HANDLE* phSyncpointEvent 826 __inout HANDLE* phSyncpointEvent
823 ) 827 )
@@ -827,7 +831,7 @@ extern "C" HRESULT PlanUpdateBundle(
827 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL; 831 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL;
828 832
829 // Plan update package. 833 // Plan update package.
830 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL); 834 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, display, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL);
831 ExitOnFailure(hr, "Failed to process update package."); 835 ExitOnFailure(hr, "Failed to process update package.");
832 836
833 // If we still have an open rollback boundary, complete it. 837 // If we still have an open rollback boundary, complete it.
@@ -853,6 +857,7 @@ static HRESULT ProcessPackage(
853 __in BURN_PACKAGE* pPackage, 857 __in BURN_PACKAGE* pPackage,
854 __in BURN_LOGGING* pLog, 858 __in BURN_LOGGING* pLog,
855 __in BURN_VARIABLES* pVariables, 859 __in BURN_VARIABLES* pVariables,
860 __in BOOTSTRAPPER_DISPLAY display,
856 __in BOOTSTRAPPER_RELATION_TYPE relationType, 861 __in BOOTSTRAPPER_RELATION_TYPE relationType,
857 __in_z_opt LPCWSTR wzLayoutDirectory, 862 __in_z_opt LPCWSTR wzLayoutDirectory,
858 __inout HANDLE* phSyncpointEvent, 863 __inout HANDLE* phSyncpointEvent,
@@ -906,7 +911,7 @@ static HRESULT ProcessPackage(
906 } 911 }
907 } 912 }
908 913
909 hr = PlanExecutePackage(fBundlePerMachine, pUX, pPlan, pPackage, pLog, pVariables, phSyncpointEvent); 914 hr = PlanExecutePackage(fBundlePerMachine, display, pUX, pPlan, pPackage, pLog, pVariables, phSyncpointEvent);
910 ExitOnFailure(hr, "Failed to plan execute package."); 915 ExitOnFailure(hr, "Failed to plan execute package.");
911 916
912 if (pPackage->fUninstallable && pNonpermanentPackageIndices) 917 if (pPackage->fUninstallable && pNonpermanentPackageIndices)
@@ -1086,6 +1091,7 @@ LExit:
1086 1091
1087extern "C" HRESULT PlanExecutePackage( 1092extern "C" HRESULT PlanExecutePackage(
1088 __in BOOL fPerMachine, 1093 __in BOOL fPerMachine,
1094 __in BOOTSTRAPPER_DISPLAY display,
1089 __in BURN_USER_EXPERIENCE* pUserExperience, 1095 __in BURN_USER_EXPERIENCE* pUserExperience,
1090 __in BURN_PLAN* pPlan, 1096 __in BURN_PLAN* pPlan,
1091 __in BURN_PACKAGE* pPackage, 1097 __in BURN_PACKAGE* pPackage,
@@ -1150,11 +1156,11 @@ extern "C" HRESULT PlanExecutePackage(
1150 break; 1156 break;
1151 1157
1152 case BURN_PACKAGE_TYPE_MSI: 1158 case BURN_PACKAGE_TYPE_MSI:
1153 hr = MsiEnginePlanAddPackage(pUserExperience, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire); 1159 hr = MsiEnginePlanAddPackage(display, pUserExperience, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire);
1154 break; 1160 break;
1155 1161
1156 case BURN_PACKAGE_TYPE_MSP: 1162 case BURN_PACKAGE_TYPE_MSP:
1157 hr = MspEnginePlanAddPackage(pUserExperience, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire); 1163 hr = MspEnginePlanAddPackage(display, pUserExperience, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire);
1158 break; 1164 break;
1159 1165
1160 case BURN_PACKAGE_TYPE_MSU: 1166 case BURN_PACKAGE_TYPE_MSU: