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.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/engine/plan.cpp b/src/engine/plan.cpp
index 01c7a31d..02f5be23 100644
--- a/src/engine/plan.cpp
+++ b/src/engine/plan.cpp
@@ -31,7 +31,6 @@ 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,
35 __in BOOTSTRAPPER_RELATION_TYPE relationType, 34 __in BOOTSTRAPPER_RELATION_TYPE relationType,
36 __in_z_opt LPCWSTR wzLayoutDirectory, 35 __in_z_opt LPCWSTR wzLayoutDirectory,
37 __inout HANDLE* phSyncpointEvent, 36 __inout HANDLE* phSyncpointEvent,
@@ -473,7 +472,6 @@ extern "C" HRESULT PlanPackages(
473 __in BURN_LOGGING* pLog, 472 __in BURN_LOGGING* pLog,
474 __in BURN_VARIABLES* pVariables, 473 __in BURN_VARIABLES* pVariables,
475 __in BOOL fBundleInstalled, 474 __in BOOL fBundleInstalled,
476 __in BOOTSTRAPPER_DISPLAY display,
477 __in BOOTSTRAPPER_RELATION_TYPE relationType, 475 __in BOOTSTRAPPER_RELATION_TYPE relationType,
478 __in_z_opt LPCWSTR wzLayoutDirectory, 476 __in_z_opt LPCWSTR wzLayoutDirectory,
479 __inout HANDLE* phSyncpointEvent 477 __inout HANDLE* phSyncpointEvent
@@ -511,7 +509,7 @@ extern "C" HRESULT PlanPackages(
511 } 509 }
512 } 510 }
513 511
514 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, display, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices); 512 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices);
515 ExitOnFailure(hr, "Failed to process package."); 513 ExitOnFailure(hr, "Failed to process package.");
516 514
517 // Attempt to remove orphaned packages during uninstall. Currently only MSI packages are supported and should not require source. 515 // Attempt to remove orphaned packages during uninstall. Currently only MSI packages are supported and should not require source.
@@ -536,7 +534,7 @@ extern "C" HRESULT PlanPackages(
536 ExitOnFailure(hr, "Failed to copy installed ProductCode"); 534 ExitOnFailure(hr, "Failed to copy installed ProductCode");
537 535
538 // Process the compatible MSI package like any other. 536 // Process the compatible MSI package like any other.
539 hr = ProcessPackage(fBundlePerMachine, pPackage, pUX, pPlan, pCompatiblePackage, pLog, pVariables, display, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices); 537 hr = ProcessPackage(fBundlePerMachine, pPackage, pUX, pPlan, pCompatiblePackage, pLog, pVariables, relationType, wzLayoutDirectory, phSyncpointEvent, &pRollbackBoundary, &nonpermanentPackageIndices);
540 ExitOnFailure(hr, "Failed to process compatible package."); 538 ExitOnFailure(hr, "Failed to process compatible package.");
541 539
542 if (BOOTSTRAPPER_ACTION_STATE_UNINSTALL == pCompatiblePackage->execute) 540 if (BOOTSTRAPPER_ACTION_STATE_UNINSTALL == pCompatiblePackage->execute)
@@ -787,7 +785,6 @@ extern "C" HRESULT PlanPassThroughBundle(
787 __in BURN_PLAN* pPlan, 785 __in BURN_PLAN* pPlan,
788 __in BURN_LOGGING* pLog, 786 __in BURN_LOGGING* pLog,
789 __in BURN_VARIABLES* pVariables, 787 __in BURN_VARIABLES* pVariables,
790 __in BOOTSTRAPPER_DISPLAY display,
791 __in BOOTSTRAPPER_RELATION_TYPE relationType, 788 __in BOOTSTRAPPER_RELATION_TYPE relationType,
792 __inout HANDLE* phSyncpointEvent 789 __inout HANDLE* phSyncpointEvent
793 ) 790 )
@@ -797,7 +794,7 @@ extern "C" HRESULT PlanPassThroughBundle(
797 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL; 794 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL;
798 795
799 // Plan passthrough package. 796 // Plan passthrough package.
800 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, display, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL); 797 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL);
801 ExitOnFailure(hr, "Failed to process passthrough package."); 798 ExitOnFailure(hr, "Failed to process passthrough package.");
802 799
803 // If we still have an open rollback boundary, complete it. 800 // If we still have an open rollback boundary, complete it.
@@ -821,7 +818,6 @@ extern "C" HRESULT PlanUpdateBundle(
821 __in BURN_PLAN* pPlan, 818 __in BURN_PLAN* pPlan,
822 __in BURN_LOGGING* pLog, 819 __in BURN_LOGGING* pLog,
823 __in BURN_VARIABLES* pVariables, 820 __in BURN_VARIABLES* pVariables,
824 __in BOOTSTRAPPER_DISPLAY display,
825 __in BOOTSTRAPPER_RELATION_TYPE relationType, 821 __in BOOTSTRAPPER_RELATION_TYPE relationType,
826 __inout HANDLE* phSyncpointEvent 822 __inout HANDLE* phSyncpointEvent
827 ) 823 )
@@ -831,7 +827,7 @@ extern "C" HRESULT PlanUpdateBundle(
831 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL; 827 BURN_ROLLBACK_BOUNDARY* pRollbackBoundary = NULL;
832 828
833 // Plan update package. 829 // Plan update package.
834 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, display, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL); 830 hr = ProcessPackage(fBundlePerMachine, NULL, pUX, pPlan, pPackage, pLog, pVariables, relationType, NULL, phSyncpointEvent, &pRollbackBoundary, NULL);
835 ExitOnFailure(hr, "Failed to process update package."); 831 ExitOnFailure(hr, "Failed to process update package.");
836 832
837 // If we still have an open rollback boundary, complete it. 833 // If we still have an open rollback boundary, complete it.
@@ -857,7 +853,6 @@ static HRESULT ProcessPackage(
857 __in BURN_PACKAGE* pPackage, 853 __in BURN_PACKAGE* pPackage,
858 __in BURN_LOGGING* pLog, 854 __in BURN_LOGGING* pLog,
859 __in BURN_VARIABLES* pVariables, 855 __in BURN_VARIABLES* pVariables,
860 __in BOOTSTRAPPER_DISPLAY display,
861 __in BOOTSTRAPPER_RELATION_TYPE relationType, 856 __in BOOTSTRAPPER_RELATION_TYPE relationType,
862 __in_z_opt LPCWSTR wzLayoutDirectory, 857 __in_z_opt LPCWSTR wzLayoutDirectory,
863 __inout HANDLE* phSyncpointEvent, 858 __inout HANDLE* phSyncpointEvent,
@@ -911,7 +906,7 @@ static HRESULT ProcessPackage(
911 } 906 }
912 } 907 }
913 908
914 hr = PlanExecutePackage(fBundlePerMachine, display, pUX, pPlan, pPackage, pLog, pVariables, phSyncpointEvent); 909 hr = PlanExecutePackage(fBundlePerMachine, pUX, pPlan, pPackage, pLog, pVariables, phSyncpointEvent);
915 ExitOnFailure(hr, "Failed to plan execute package."); 910 ExitOnFailure(hr, "Failed to plan execute package.");
916 911
917 if (pPackage->fUninstallable && pNonpermanentPackageIndices) 912 if (pPackage->fUninstallable && pNonpermanentPackageIndices)
@@ -1091,7 +1086,6 @@ LExit:
1091 1086
1092extern "C" HRESULT PlanExecutePackage( 1087extern "C" HRESULT PlanExecutePackage(
1093 __in BOOL fPerMachine, 1088 __in BOOL fPerMachine,
1094 __in BOOTSTRAPPER_DISPLAY display,
1095 __in BURN_USER_EXPERIENCE* pUserExperience, 1089 __in BURN_USER_EXPERIENCE* pUserExperience,
1096 __in BURN_PLAN* pPlan, 1090 __in BURN_PLAN* pPlan,
1097 __in BURN_PACKAGE* pPackage, 1091 __in BURN_PACKAGE* pPackage,
@@ -1156,11 +1150,11 @@ extern "C" HRESULT PlanExecutePackage(
1156 break; 1150 break;
1157 1151
1158 case BURN_PACKAGE_TYPE_MSI: 1152 case BURN_PACKAGE_TYPE_MSI:
1159 hr = MsiEnginePlanAddPackage(display, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire); 1153 hr = MsiEnginePlanAddPackage(pUserExperience, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire);
1160 break; 1154 break;
1161 1155
1162 case BURN_PACKAGE_TYPE_MSP: 1156 case BURN_PACKAGE_TYPE_MSP:
1163 hr = MspEnginePlanAddPackage(display, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire); 1157 hr = MspEnginePlanAddPackage(pUserExperience, pPackage, pPlan, pLog, pVariables, *phSyncpointEvent, pPackage->fAcquire);
1164 break; 1158 break;
1165 1159
1166 case BURN_PACKAGE_TYPE_MSU: 1160 case BURN_PACKAGE_TYPE_MSU:
@@ -3074,7 +3068,7 @@ static void ExecuteActionLog(
3074 break; 3068 break;
3075 3069
3076 case BURN_EXECUTE_ACTION_TYPE_MSI_PACKAGE: 3070 case BURN_EXECUTE_ACTION_TYPE_MSI_PACKAGE:
3077 LogStringLine(REPORT_STANDARD, "%ls action[%u]: MSI_PACKAGE package id: %ls, action: %hs, ui level: %u, log path: %ls, logging attrib: %u", wzBase, iAction, pAction->msiPackage.pPackage->sczId, LoggingActionStateToString(pAction->msiPackage.action), pAction->msiPackage.uiLevel, pAction->msiPackage.sczLogPath, pAction->msiPackage.dwLoggingAttributes); 3071 LogStringLine(REPORT_STANDARD, "%ls action[%u]: MSI_PACKAGE package id: %ls, action: %hs, action msi property: %u, ui level: %u, disable externaluihandler: %ls, log path: %ls, logging attrib: %u", wzBase, iAction, pAction->msiPackage.pPackage->sczId, LoggingActionStateToString(pAction->msiPackage.action), pAction->msiPackage.actionMsiProperty, pAction->msiPackage.uiLevel, pAction->msiPackage.fDisableExternalUiHandler ? L"yes" : L"no", pAction->msiPackage.sczLogPath, pAction->msiPackage.dwLoggingAttributes);
3078 for (DWORD j = 0; j < pAction->msiPackage.cPatches; ++j) 3072 for (DWORD j = 0; j < pAction->msiPackage.cPatches; ++j)
3079 { 3073 {
3080 LogStringLine(REPORT_STANDARD, " Patch[%u]: order: %u, msp package id: %ls", j, pAction->msiPackage.rgOrderedPatches->dwOrder, pAction->msiPackage.rgOrderedPatches[j].dwOrder, pAction->msiPackage.rgOrderedPatches[j].pPackage->sczId); 3074 LogStringLine(REPORT_STANDARD, " Patch[%u]: order: %u, msp package id: %ls", j, pAction->msiPackage.rgOrderedPatches->dwOrder, pAction->msiPackage.rgOrderedPatches[j].dwOrder, pAction->msiPackage.rgOrderedPatches[j].pPackage->sczId);
@@ -3082,7 +3076,7 @@ static void ExecuteActionLog(
3082 break; 3076 break;
3083 3077
3084 case BURN_EXECUTE_ACTION_TYPE_MSP_TARGET: 3078 case BURN_EXECUTE_ACTION_TYPE_MSP_TARGET:
3085 LogStringLine(REPORT_STANDARD, "%ls action[%u]: MSP_TARGET package id: %ls, action: %hs, target product code: %ls, target per-machine: %ls, ui level: %u, log path: %ls", wzBase, iAction, pAction->mspTarget.pPackage->sczId, LoggingActionStateToString(pAction->mspTarget.action), pAction->mspTarget.sczTargetProductCode, pAction->mspTarget.fPerMachineTarget ? L"yes" : L"no", pAction->mspTarget.uiLevel, pAction->mspTarget.sczLogPath); 3079 LogStringLine(REPORT_STANDARD, "%ls action[%u]: MSP_TARGET package id: %ls, action: %hs, target product code: %ls, target per-machine: %ls, action msi property: %u, ui level: %u, disable externaluihandler: %ls, log path: %ls", wzBase, iAction, pAction->mspTarget.pPackage->sczId, LoggingActionStateToString(pAction->mspTarget.action), pAction->mspTarget.sczTargetProductCode, pAction->mspTarget.fPerMachineTarget ? L"yes" : L"no", pAction->mspTarget.actionMsiProperty, pAction->mspTarget.uiLevel, pAction->mspTarget.fDisableExternalUiHandler ? L"yes" : L"no", pAction->mspTarget.sczLogPath);
3086 for (DWORD j = 0; j < pAction->mspTarget.cOrderedPatches; ++j) 3080 for (DWORD j = 0; j < pAction->mspTarget.cOrderedPatches; ++j)
3087 { 3081 {
3088 LogStringLine(REPORT_STANDARD, " Patch[%u]: order: %u, msp package id: %ls", j, pAction->mspTarget.rgOrderedPatches[j].dwOrder, pAction->mspTarget.rgOrderedPatches[j].pPackage->sczId); 3082 LogStringLine(REPORT_STANDARD, " Patch[%u]: order: %u, msp package id: %ls", j, pAction->mspTarget.rgOrderedPatches[j].dwOrder, pAction->mspTarget.rgOrderedPatches[j].pPackage->sczId);