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