From 7670257bba2a8dc11c01664bc5f102a8dec17b93 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 21 Apr 2020 17:28:17 +1000 Subject: Add action to OnExecutePackageBegin. --- src/engine/apply.cpp | 24 ++++++++++++------------ src/engine/engine.vcxproj | 4 ++-- src/engine/packages.config | 2 +- src/engine/userexperience.cpp | 4 +++- src/engine/userexperience.h | 3 ++- 5 files changed, 20 insertions(+), 17 deletions(-) (limited to 'src/engine') diff --git a/src/engine/apply.cpp b/src/engine/apply.cpp index 0cef9ac8..ee11cdee 100644 --- a/src/engine/apply.cpp +++ b/src/engine/apply.cpp @@ -2064,7 +2064,7 @@ static HRESULT ExecuteExePackage( fBeginCalled = TRUE; // Send package execute begin to BA. - hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->exePackage.pPackage->sczId, !fRollback); + hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->exePackage.pPackage->sczId, !fRollback, pExecuteAction->exePackage.action); ExitOnRootFailure(hr, "BA aborted execute EXE package begin."); message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS; @@ -2072,7 +2072,7 @@ static HRESULT ExecuteExePackage( message.progress.dwPercentage = fRollback ? 100 : 0; nResult = GenericExecuteMessageHandler(&message, pContext); hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); - ExitOnRootFailure(hr, "UX aborted EXE progress."); + ExitOnRootFailure(hr, "BA aborted EXE progress."); // Execute package. if (pExecuteAction->exePackage.pPackage->fPerMachine) @@ -2091,13 +2091,13 @@ static HRESULT ExecuteExePackage( message.progress.dwPercentage = fRollback ? 0 : 100; nResult = GenericExecuteMessageHandler(&message, pContext); hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); - ExitOnRootFailure(hr, "UX aborted EXE progress."); + ExitOnRootFailure(hr, "BA aborted EXE progress."); pContext->cExecutedPackages += fRollback ? -1 : 1; (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); - ExitOnRootFailure(hr, "UX aborted EXE package execute progress."); + ExitOnRootFailure(hr, "BA aborted EXE package execute progress."); LExit: if (fBeginCalled) @@ -2133,7 +2133,7 @@ static HRESULT ExecuteMsiPackage( fBeginCalled = TRUE; // Send package execute begin to BA. - hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msiPackage.pPackage->sczId, !fRollback); + hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msiPackage.pPackage->sczId, !fRollback, pExecuteAction->msiPackage.action); ExitOnRootFailure(hr, "BA aborted execute MSI package begin."); // execute package @@ -2152,7 +2152,7 @@ static HRESULT ExecuteMsiPackage( (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); - ExitOnRootFailure(hr, "UX aborted MSI package execute progress."); + ExitOnRootFailure(hr, "BA aborted MSI package execute progress."); LExit: if (fBeginCalled) @@ -2188,7 +2188,7 @@ static HRESULT ExecuteMspPackage( fBeginCalled = TRUE; // Send package execute begin to BA. - hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->mspTarget.pPackage->sczId, !fRollback); + hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->mspTarget.pPackage->sczId, !fRollback, pExecuteAction->mspTarget.action); ExitOnRootFailure(hr, "BA aborted execute MSP package begin."); // Now send all the patches that target this product code. @@ -2216,7 +2216,7 @@ static HRESULT ExecuteMspPackage( (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); - ExitOnRootFailure(hr, "UX aborted MSP package execute progress."); + ExitOnRootFailure(hr, "BA aborted MSP package execute progress."); LExit: if (fBeginCalled) @@ -2255,7 +2255,7 @@ static HRESULT ExecuteMsuPackage( fBeginCalled = TRUE; // Send package execute begin to BA. - hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msuPackage.pPackage->sczId, !fRollback); + hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msuPackage.pPackage->sczId, !fRollback, pExecuteAction->msuPackage.action); ExitOnRootFailure(hr, "BA aborted execute MSU package begin."); message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS; @@ -2263,7 +2263,7 @@ static HRESULT ExecuteMsuPackage( message.progress.dwPercentage = fRollback ? 100 : 0; nResult = GenericExecuteMessageHandler(&message, pContext); hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); - ExitOnRootFailure(hr, "UX aborted MSU progress."); + ExitOnRootFailure(hr, "BA aborted MSU progress."); // execute package if (pExecuteAction->msuPackage.pPackage->fPerMachine) @@ -2282,13 +2282,13 @@ static HRESULT ExecuteMsuPackage( message.progress.dwPercentage = fRollback ? 0 : 100; nResult = GenericExecuteMessageHandler(&message, pContext); hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); - ExitOnRootFailure(hr, "UX aborted MSU progress."); + ExitOnRootFailure(hr, "BA aborted MSU progress."); pContext->cExecutedPackages += fRollback ? -1 : 1; (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); - ExitOnRootFailure(hr, "UX aborted MSU package execute progress."); + ExitOnRootFailure(hr, "BA aborted MSU package execute progress."); LExit: if (fBeginCalled) diff --git a/src/engine/engine.vcxproj b/src/engine/engine.vcxproj index c2e8f34c..b0c3e295 100644 --- a/src/engine/engine.vcxproj +++ b/src/engine/engine.vcxproj @@ -2,7 +2,7 @@ - + @@ -166,7 +166,7 @@ rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc" This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + diff --git a/src/engine/packages.config b/src/engine/packages.config index 75a6476b..38569fda 100644 --- a/src/engine/packages.config +++ b/src/engine/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/src/engine/userexperience.cpp b/src/engine/userexperience.cpp index 566597a2..4d149e9a 100644 --- a/src/engine/userexperience.cpp +++ b/src/engine/userexperience.cpp @@ -1209,7 +1209,8 @@ LExit: EXTERN_C BAAPI UserExperienceOnExecutePackageBegin( __in BURN_USER_EXPERIENCE* pUserExperience, __in_z LPCWSTR wzPackageId, - __in BOOL fExecute + __in BOOL fExecute, + __in BOOTSTRAPPER_ACTION_STATE action ) { HRESULT hr = S_OK; @@ -1219,6 +1220,7 @@ EXTERN_C BAAPI UserExperienceOnExecutePackageBegin( args.cbSize = sizeof(args); args.wzPackageId = wzPackageId; args.fExecute = fExecute; + args.action = action; results.cbSize = sizeof(results); diff --git a/src/engine/userexperience.h b/src/engine/userexperience.h index bec6d292..5aade0f2 100644 --- a/src/engine/userexperience.h +++ b/src/engine/userexperience.h @@ -292,7 +292,8 @@ BAAPI UserExperienceOnExecuteMsiMessage( BAAPI UserExperienceOnExecutePackageBegin( __in BURN_USER_EXPERIENCE* pUserExperience, __in_z LPCWSTR wzPackageId, - __in BOOL fExecute + __in BOOL fExecute, + __in BOOTSTRAPPER_ACTION_STATE action ); BAAPI UserExperienceOnExecutePackageComplete( __in BURN_USER_EXPERIENCE* pUserExperience, -- cgit v1.2.3-55-g6feb