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: |
