diff options
Diffstat (limited to 'src/engine/plan.cpp')
-rw-r--r-- | src/engine/plan.cpp | 20 |
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 | ||
1087 | extern "C" HRESULT PlanExecutePackage( | 1092 | extern "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: |