diff --git a/src/burn/engine/engine.vcxproj b/src/burn/engine/engine.vcxproj index 62e039413..c4b64c362 100644 --- a/src/burn/engine/engine.vcxproj +++ b/src/burn/engine/engine.vcxproj @@ -94,7 +94,6 @@ - @@ -145,7 +144,6 @@ - diff --git a/src/burn/engine/logging.cpp b/src/burn/engine/logging.cpp index f381193f6..8a1f65107 100644 --- a/src/burn/engine/logging.cpp +++ b/src/burn/engine/logging.cpp @@ -110,7 +110,7 @@ extern "C" HRESULT LoggingOpen( } } - // Open the log approriately. + // Open the log appropriately. if (pLog->sczPath && *pLog->sczPath) { DWORD cRetry = 0; diff --git a/src/burn/engine/precomp.h b/src/burn/engine/precomp.h index 348c78ce4..72c1e7893 100644 --- a/src/burn/engine/precomp.h +++ b/src/burn/engine/precomp.h @@ -76,7 +76,6 @@ #include "burnextension.h" #include "search.h" #include "ba.h" -#include "userexperience.h" #include "package.h" #include "update.h" #include "pseudobundle.h" diff --git a/src/burn/engine/userexperience.cpp b/src/burn/engine/userexperience.cpp deleted file mode 100644 index 99561f352..000000000 --- a/src/burn/engine/userexperience.cpp +++ /dev/null @@ -1,2958 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -#include "precomp.h" - -// internal function declarations - -// static int FilterResult( -// __in DWORD dwAllowedResults, -// __in int nResult -// ); - -// static HRESULT FilterExecuteResult( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus, -// __in BOOL fRollback, -// __in BOOL fCancel, -// __in LPCWSTR sczEventName -// ); - -// static HRESULT SendBAMessage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in BOOTSTRAPPER_APPLICATION_MESSAGE message, -// __in_bcount(cbArgs) const LPVOID pvArgs, -// __in const DWORD cbArgs, -// __in PIPE_RPC_RESULT* pResult -// ); - -// static HRESULT SendBAMessageFromInactiveEngine( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in BOOTSTRAPPER_APPLICATION_MESSAGE message, -// __in const LPVOID pvArgs, -// __in const DWORD cbArgs, -// __in PIPE_RPC_RESULT* pResult -// ); - - -// function definitions - -// /******************************************************************* -// UserExperienceUninitialize - - -// *******************************************************************/ -// extern "C" void UserExperienceUninitialize( -// __in BURN_USER_EXPERIENCE* pUserExperience -// ) -// { -// if (pUserExperience->pEngineContext) -// { -// BAEngineFreeContext(pUserExperience->pEngineContext); -// pUserExperience->pEngineContext = NULL; -// } - -// ReleaseStr(pUserExperience->sczTempDirectory); -// PayloadsUninitialize(&pUserExperience->payloads); - -// // clear struct -// memset(pUserExperience, 0, sizeof(BURN_USER_EXPERIENCE)); -// } - -#ifdef TODO_DELETE -/******************************************************************* - UserExperienceLoad - - -*******************************************************************/ -extern "C" HRESULT UserExperienceLoad( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in BOOTSTRAPPER_ENGINE_CONTEXT* pEngineContext, - __in BOOTSTRAPPER_COMMAND* pCommand - ) -{ - HRESULT hr = S_OK; - BOOTSTRAPPER_CREATE_ARGS args = { }; - BOOTSTRAPPER_CREATE_RESULTS results = { }; - LPCWSTR wzPath = pUserExperience->payloads.rgPayloads[0].sczLocalFilePath; - - args.cbSize = sizeof(BOOTSTRAPPER_CREATE_ARGS); - args.pCommand = pCommand; - args.pfnBootstrapperEngineProc = EngineForApplicationProc; - args.pvBootstrapperEngineProcContext = pEngineContext; - args.qwEngineAPIVersion = MAKEQWORDVERSION(2022, 6, 10, 0); - - results.cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS); - - // Load BA DLL. - pUserExperience->hUXModule = ::LoadLibraryExW(wzPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); - ExitOnNullWithLastError(pUserExperience->hUXModule, hr, "Failed to load BA DLL: %ls", wzPath); - - // Get BootstrapperApplicationCreate entry-point. - PFN_BOOTSTRAPPER_APPLICATION_CREATE pfnCreate = (PFN_BOOTSTRAPPER_APPLICATION_CREATE)::GetProcAddress(pUserExperience->hUXModule, "BootstrapperApplicationCreate"); - ExitOnNullWithLastError(pfnCreate, hr, "Failed to get BootstrapperApplicationCreate entry-point"); - - // Create BA. - hr = pfnCreate(&args, &results); - ExitOnFailure(hr, "Failed to create BA."); - - pUserExperience->pfnBAProc = results.pfnBootstrapperApplicationProc; - pUserExperience->pvBAProcContext = results.pvBootstrapperApplicationProcContext; - -LExit: - return hr; -} - -/******************************************************************* - UserExperienceUnload - - -*******************************************************************/ -extern "C" HRESULT UserExperienceUnload( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in BOOL fReload - ) -{ - HRESULT hr = S_OK; - BOOTSTRAPPER_DESTROY_ARGS args = { }; - BOOTSTRAPPER_DESTROY_RESULTS results = { }; - - args.cbSize = sizeof(BOOTSTRAPPER_DESTROY_ARGS); - args.fReload = fReload; - - results.cbSize = sizeof(BOOTSTRAPPER_DESTROY_RESULTS); - - if (pUserExperience->hUXModule) - { - // Get BootstrapperApplicationDestroy entry-point and call it if it exists. - PFN_BOOTSTRAPPER_APPLICATION_DESTROY pfnDestroy = (PFN_BOOTSTRAPPER_APPLICATION_DESTROY)::GetProcAddress(pUserExperience->hUXModule, "BootstrapperApplicationDestroy"); - if (pfnDestroy) - { - pfnDestroy(&args, &results); - } - - // Free BA DLL if it supports it. - if (!results.fDisableUnloading && !::FreeLibrary(pUserExperience->hUXModule)) - { - hr = HRESULT_FROM_WIN32(::GetLastError()); - TraceError(hr, "Failed to unload BA DLL."); - } - pUserExperience->hUXModule = NULL; - } - -//LExit: - return hr; -} -#endif - -// EXTERN_C BAAPI UserExperienceOnApplyBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in DWORD dwPhaseCount -// ) -// { -// HRESULT hr = S_OK; -// BA_ONAPPLYBEGIN_ARGS args = { }; -// BA_ONAPPLYBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.dwPhaseCount = dwPhaseCount; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnApplyBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnApplyComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus, -// __in BOOTSTRAPPER_APPLY_RESTART restart, -// __inout BOOTSTRAPPER_APPLYCOMPLETE_ACTION* pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONAPPLYCOMPLETE_ARGS args = { }; -// BA_ONAPPLYCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; -// args.restart = restart; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnApplyComplete failed."); - -// *pAction = results.action; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnApplyDowngrade( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __inout HRESULT* phrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONAPPLYDOWNGRADE_ARGS args = { }; -// BA_ONAPPLYDOWNGRADE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrRecommended = *phrStatus; - -// results.cbSize = sizeof(results); -// results.hrStatus = *phrStatus; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnApplyDowngrade failed."); - -// *phrStatus = results.hrStatus; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnBeginMsiTransactionBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in LPCWSTR wzTransactionId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONBEGINMSITRANSACTIONBEGIN_ARGS args = { }; -// BA_ONBEGINMSITRANSACTIONBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzTransactionId = wzTransactionId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONBEGINMSITRANSACTIONBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnBeginMsiTransactionBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnBeginMsiTransactionComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in LPCWSTR wzTransactionId, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONBEGINMSITRANSACTIONCOMPLETE_ARGS args = { }; -// BA_ONBEGINMSITRANSACTIONCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzTransactionId = wzTransactionId; -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONBEGINMSITRANSACTIONCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnBeginMsiTransactionComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheAcquireBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in_z LPWSTR* pwzSource, -// __in_z LPWSTR* pwzDownloadUrl, -// __in_z_opt LPCWSTR wzPayloadContainerId, -// __out BOOTSTRAPPER_CACHE_OPERATION* pCacheOperation -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEACQUIREBEGIN_ARGS args = { }; -// BA_ONCACHEACQUIREBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// *pCacheOperation = BOOTSTRAPPER_CACHE_OPERATION_NONE; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.wzSource = *pwzSource; -// args.wzDownloadUrl = *pwzDownloadUrl; -// args.wzPayloadContainerId = wzPayloadContainerId; -// args.recommendation = *pCacheOperation; - -// results.cbSize = sizeof(results); -// results.action = *pCacheOperation; - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIREBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheAcquireBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// else -// { -// // Verify the BA requested an action that is possible. -// if (BOOTSTRAPPER_CACHE_OPERATION_DOWNLOAD == results.action && *pwzDownloadUrl && **pwzDownloadUrl || -// BOOTSTRAPPER_CACHE_OPERATION_EXTRACT == results.action && wzPayloadContainerId || -// BOOTSTRAPPER_CACHE_OPERATION_COPY == results.action || -// BOOTSTRAPPER_CACHE_OPERATION_NONE == results.action) -// { -// *pCacheOperation = results.action; -// } -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheAcquireComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in HRESULT hrStatus, -// __inout BOOL* pfRetry -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEACQUIRECOMPLETE_ARGS args = { }; -// BA_ONCACHEACQUIRECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.hrStatus = hrStatus; -// args.recommendation = *pfRetry ? BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION_RETRY : BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION_NONE; - -// results.cbSize = sizeof(results); -// results.action = args.recommendation; - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIRECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheAcquireComplete failed."); - -// if (FAILED(hrStatus)) -// { -// *pfRetry = BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION_RETRY == results.action; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheAcquireProgress( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in DWORD64 dw64Progress, -// __in DWORD64 dw64Total, -// __in DWORD dwOverallPercentage -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEACQUIREPROGRESS_ARGS args = { }; -// BA_ONCACHEACQUIREPROGRESS_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.dw64Progress = dw64Progress; -// args.dw64Total = dw64Total; -// args.dwOverallPercentage = dwOverallPercentage; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIREPROGRESS, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheAcquireProgress failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheAcquireResolving( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in_z LPWSTR* rgSearchPaths, -// __in DWORD cSearchPaths, -// __in BOOL fFoundLocal, -// __in DWORD* pdwChosenSearchPath, -// __in_z_opt LPWSTR* pwzDownloadUrl, -// __in_z_opt LPCWSTR wzPayloadContainerId, -// __inout BOOTSTRAPPER_CACHE_RESOLVE_OPERATION* pCacheOperation -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEACQUIRERESOLVING_ARGS args = { }; -// BA_ONCACHEACQUIRERESOLVING_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.rgSearchPaths = const_cast(rgSearchPaths); -// args.cSearchPaths = cSearchPaths; -// args.fFoundLocal = fFoundLocal; -// args.dwRecommendedSearchPath = *pdwChosenSearchPath; -// args.wzDownloadUrl = *pwzDownloadUrl; -// args.recommendation = *pCacheOperation; - -// results.cbSize = sizeof(results); -// results.dwChosenSearchPath = *pdwChosenSearchPath; -// results.action = *pCacheOperation; - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIRERESOLVING, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheAcquireResolving failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// else -// { -// // Verify the BA requested an action that is possible. -// if (BOOTSTRAPPER_CACHE_RESOLVE_DOWNLOAD == results.action && *pwzDownloadUrl && **pwzDownloadUrl || -// BOOTSTRAPPER_CACHE_RESOLVE_CONTAINER == results.action && wzPayloadContainerId || -// BOOTSTRAPPER_CACHE_RESOLVE_RETRY == results.action || -// BOOTSTRAPPER_CACHE_RESOLVE_NONE == results.action) -// { -// *pCacheOperation = results.action; -// } -// else if (BOOTSTRAPPER_CACHE_RESOLVE_LOCAL == results.action && results.dwChosenSearchPath < cSearchPaths) -// { -// *pdwChosenSearchPath = results.dwChosenSearchPath; -// *pCacheOperation = results.action; -// } -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEBEGIN_ARGS args = { }; -// BA_ONCACHEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHECOMPLETE_ARGS args = { }; -// BA_ONCACHECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheContainerOrPayloadVerifyBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS args = { }; -// BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheContainerOrPayloadVerifyBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheContainerOrPayloadVerifyComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS args = { }; -// BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheContainerOrPayloadVerifyComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheContainerOrPayloadVerifyProgress( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in DWORD64 dw64Progress, -// __in DWORD64 dw64Total, -// __in DWORD dwOverallPercentage -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS args = { }; -// BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.dw64Progress = dw64Progress; -// args.dw64Total = dw64Total; -// args.dwOverallPercentage = dwOverallPercentage; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheContainerOrPayloadVerifyProgress failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCachePackageBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in DWORD cCachePayloads, -// __in DWORD64 dw64PackageCacheSize, -// __in BOOL fVital -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEPACKAGEBEGIN_ARGS args = { }; -// BA_ONCACHEPACKAGEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.cCachePayloads = cCachePayloads; -// args.dw64PackageCacheSize = dw64PackageCacheSize; -// args.fVital = fVital; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCachePackageBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCachePackageComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in HRESULT hrStatus, -// __inout BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION* pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEPACKAGECOMPLETE_ARGS args = { }; -// BA_ONCACHEPACKAGECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.hrStatus = hrStatus; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCachePackageComplete failed."); - -// if (FAILED(hrStatus)) -// { -// *pAction = results.action; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCachePackageNonVitalValidationFailure( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in HRESULT hrStatus, -// __inout BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION* pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_ARGS args = { }; -// BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.hrStatus = hrStatus; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGENONVITALVALIDATIONFAILURE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCachePackageNonVitalValidationFailure failed."); - -// switch (results.action) -// { -// case BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_NONE: __fallthrough; -// case BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_ACQUIRE: -// *pAction = results.action; -// break; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCachePayloadExtractBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzContainerId, -// __in_z_opt LPCWSTR wzPayloadId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS args = { }; -// BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzContainerId = wzContainerId; -// args.wzPayloadId = wzPayloadId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCachePayloadExtractBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCachePayloadExtractComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS args = { }; -// BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzContainerId = wzContainerId; -// args.wzPayloadId = wzPayloadId; -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCachePayloadExtractComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCachePayloadExtractProgress( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in DWORD64 dw64Progress, -// __in DWORD64 dw64Total, -// __in DWORD dwOverallPercentage -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS args = { }; -// BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzContainerId = wzContainerId; -// args.wzPayloadId = wzPayloadId; -// args.dw64Progress = dw64Progress; -// args.dw64Total = dw64Total; -// args.dwOverallPercentage = dwOverallPercentage; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCachePayloadExtractProgress failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheVerifyBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEVERIFYBEGIN_ARGS args = { }; -// BA_ONCACHEVERIFYBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheVerifyBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheVerifyComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in HRESULT hrStatus, -// __inout BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION* pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEVERIFYCOMPLETE_ARGS args = { }; -// BA_ONCACHEVERIFYCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.hrStatus = hrStatus; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheVerifyComplete failed."); - -// if (FAILED(hrStatus)) -// { -// *pAction = results.action; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCacheVerifyProgress( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzPackageOrContainerId, -// __in_z_opt LPCWSTR wzPayloadId, -// __in DWORD64 dw64Progress, -// __in DWORD64 dw64Total, -// __in DWORD dwOverallPercentage, -// __in BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCACHEVERIFYPROGRESS_ARGS args = { }; -// BA_ONCACHEVERIFYPROGRESS_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageOrContainerId = wzPackageOrContainerId; -// args.wzPayloadId = wzPayloadId; -// args.dw64Progress = dw64Progress; -// args.dw64Total = dw64Total; -// args.dwOverallPercentage = dwOverallPercentage; -// args.verifyStep = verifyStep; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYPROGRESS, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCacheVerifyProgress failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCommitMsiTransactionBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in LPCWSTR wzTransactionId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCOMMITMSITRANSACTIONBEGIN_ARGS args = { }; -// BA_ONCOMMITMSITRANSACTIONBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzTransactionId = wzTransactionId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCOMMITMSITRANSACTIONBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCommitMsiTransactionBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnCommitMsiTransactionComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in LPCWSTR wzTransactionId, -// __in HRESULT hrStatus, -// __in BOOTSTRAPPER_APPLY_RESTART restart, -// __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS args = { }; -// BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzTransactionId = wzTransactionId; -// args.hrStatus = hrStatus; -// args.restart = restart; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCOMMITMSITRANSACTIONCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnCommitMsiTransactionComplete failed."); - -// *pAction = results.action; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in BOOL fCached, -// __in BOOTSTRAPPER_REGISTRATION_TYPE registrationType, -// __in DWORD cPackages -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTBEGIN_ARGS args = { }; -// BA_ONDETECTBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.cPackages = cPackages; -// args.registrationType = registrationType; -// args.fCached = fCached; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectCompatibleMsiPackage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzCompatiblePackageId, -// __in VERUTIL_VERSION* pCompatiblePackageVersion -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS args = { }; -// BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzCompatiblePackageId = wzCompatiblePackageId; -// args.wzCompatiblePackageVersion = pCompatiblePackageVersion->sczVersion; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectCompatibleMsiPackage failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus, -// __in BOOL fEligibleForCleanup -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTCOMPLETE_ARGS args = { }; -// BA_ONDETECTCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; -// args.fEligibleForCleanup = fEligibleForCleanup; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectForwardCompatibleBundle( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzBundleId, -// __in BOOTSTRAPPER_RELATION_TYPE relationType, -// __in_z LPCWSTR wzBundleTag, -// __in BOOL fPerMachine, -// __in VERUTIL_VERSION* pVersion, -// __in BOOL fMissingFromCache -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_ARGS args = { }; -// BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzBundleId = wzBundleId; -// args.relationType = relationType; -// args.wzBundleTag = wzBundleTag; -// args.fPerMachine = fPerMachine; -// args.wzVersion = pVersion->sczVersion; -// args.fMissingFromCache = fMissingFromCache; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTFORWARDCOMPATIBLEBUNDLE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectForwardCompatibleBundle failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectMsiFeature( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzFeatureId, -// __in BOOTSTRAPPER_FEATURE_STATE state -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTMSIFEATURE_ARGS args = { }; -// BA_ONDETECTMSIFEATURE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzFeatureId = wzFeatureId; -// args.state = state; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectMsiFeature failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectPackageBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTPACKAGEBEGIN_ARGS args = { }; -// BA_ONDETECTPACKAGEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectPackageBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectPackageComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in HRESULT hrStatus, -// __in BOOTSTRAPPER_PACKAGE_STATE state, -// __in BOOL fCached -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTPACKAGECOMPLETE_ARGS args = { }; -// BA_ONDETECTPACKAGECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.hrStatus = hrStatus; -// args.state = state; -// args.fCached = fCached; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectPackageComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectRelatedBundle( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzBundleId, -// __in BOOTSTRAPPER_RELATION_TYPE relationType, -// __in_z LPCWSTR wzBundleTag, -// __in BOOL fPerMachine, -// __in VERUTIL_VERSION* pVersion, -// __in BOOL fMissingFromCache -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTRELATEDBUNDLE_ARGS args = { }; -// BA_ONDETECTRELATEDBUNDLE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzBundleId = wzBundleId; -// args.relationType = relationType; -// args.wzBundleTag = wzBundleTag; -// args.fPerMachine = fPerMachine; -// args.wzVersion = pVersion->sczVersion; -// args.fMissingFromCache = fMissingFromCache; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectRelatedBundle failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectRelatedBundlePackage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzBundleId, -// __in BOOTSTRAPPER_RELATION_TYPE relationType, -// __in BOOL fPerMachine, -// __in VERUTIL_VERSION* pVersion -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTRELATEDBUNDLEPACKAGE_ARGS args = { }; -// BA_ONDETECTRELATEDBUNDLEPACKAGE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzBundleId = wzBundleId; -// args.relationType = relationType; -// args.fPerMachine = fPerMachine; -// args.wzVersion = pVersion->sczVersion; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLEPACKAGE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectRelatedBundlePackage failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectRelatedMsiPackage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzUpgradeCode, -// __in_z LPCWSTR wzProductCode, -// __in BOOL fPerMachine, -// __in VERUTIL_VERSION* pVersion, -// __in BOOTSTRAPPER_RELATED_OPERATION operation -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTRELATEDMSIPACKAGE_ARGS args = { }; -// BA_ONDETECTRELATEDMSIPACKAGE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzUpgradeCode = wzUpgradeCode; -// args.wzProductCode = wzProductCode; -// args.fPerMachine = fPerMachine; -// args.wzVersion = pVersion->sczVersion; -// args.operation = operation; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectRelatedMsiPackage failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectPatchTarget( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzProductCode, -// __in BOOTSTRAPPER_PACKAGE_STATE patchState -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTPATCHTARGET_ARGS args = { }; -// BA_ONDETECTPATCHTARGET_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzProductCode = wzProductCode; -// args.patchState = patchState; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectPatchTarget failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectUpdate( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z_opt LPCWSTR wzUpdateLocation, -// __in DWORD64 dw64Size, -// __in_z_opt LPCWSTR wzHash, -// __in BOOTSTRAPPER_UPDATE_HASH_TYPE hashAlgorithm, -// __in VERUTIL_VERSION* pVersion, -// __in_z_opt LPCWSTR wzTitle, -// __in_z_opt LPCWSTR wzSummary, -// __in_z_opt LPCWSTR wzContentType, -// __in_z_opt LPCWSTR wzContent, -// __inout BOOL* pfStopProcessingUpdates -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTUPDATE_ARGS args = { }; -// BA_ONDETECTUPDATE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzUpdateLocation = wzUpdateLocation; -// args.dw64Size = dw64Size; -// args.wzHash = wzHash; -// args.hashAlgorithm = hashAlgorithm; -// args.wzVersion = pVersion->sczVersion; -// args.wzTitle = wzTitle; -// args.wzSummary = wzSummary; -// args.wzContentType = wzContentType; -// args.wzContent = wzContent; - -// results.cbSize = sizeof(results); -// results.fStopProcessingUpdates = *pfStopProcessingUpdates; - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectUpdate failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// *pfStopProcessingUpdates = results.fStopProcessingUpdates; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectUpdateBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzUpdateLocation, -// __inout BOOL* pfSkip -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTUPDATEBEGIN_ARGS args = { }; -// BA_ONDETECTUPDATEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzUpdateLocation = wzUpdateLocation; - -// results.cbSize = sizeof(results); -// results.fSkip = *pfSkip; - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectUpdateBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pfSkip = results.fSkip; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnDetectUpdateComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus, -// __inout BOOL* pfIgnoreError -// ) -// { -// HRESULT hr = S_OK; -// BA_ONDETECTUPDATECOMPLETE_ARGS args = { }; -// BA_ONDETECTUPDATECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); -// results.fIgnoreError = *pfIgnoreError; - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnDetectUpdateComplete failed."); - -// if (FAILED(hrStatus)) -// { -// *pfIgnoreError = results.fIgnoreError; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnElevateBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience -// ) -// { -// HRESULT hr = S_OK; -// BA_ONELEVATEBEGIN_ARGS args = { }; -// BA_ONELEVATEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnElevateBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnElevateComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONELEVATECOMPLETE_ARGS args = { }; -// BA_ONELEVATECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnElevateComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnError( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in BOOTSTRAPPER_ERROR_TYPE errorType, -// __in_z_opt LPCWSTR wzPackageId, -// __in DWORD dwCode, -// __in_z_opt LPCWSTR wzError, -// __in DWORD dwUIHint, -// __in DWORD cData, -// __in_ecount_z_opt(cData) LPCWSTR* rgwzData, -// __inout int* pnResult -// ) -// { -// HRESULT hr = S_OK; -// BA_ONERROR_ARGS args = { }; -// BA_ONERROR_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.errorType = errorType; -// args.wzPackageId = wzPackageId; -// args.dwCode = dwCode; -// args.wzError = wzError; -// args.dwUIHint = dwUIHint; -// args.cData = cData; -// args.rgwzData = rgwzData; -// args.nRecommendation = *pnResult; - -// results.cbSize = sizeof(results); -// results.nResult = *pnResult; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONERROR, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnError failed."); - -// *pnResult = results.nResult; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecuteBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in DWORD cExecutingPackages -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEBEGIN_ARGS args = { }; -// BA_ONEXECUTEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.cExecutingPackages = cExecutingPackages; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecuteBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecuteComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTECOMPLETE_ARGS args = { }; -// BA_ONEXECUTECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecuteComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecuteFilesInUse( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in DWORD cFiles, -// __in_ecount_z_opt(cFiles) LPCWSTR* rgwzFiles, -// __in BOOTSTRAPPER_FILES_IN_USE_TYPE source, -// __inout int* pnResult -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEFILESINUSE_ARGS args = { }; -// BA_ONEXECUTEFILESINUSE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.cFiles = cFiles; -// args.rgwzFiles = rgwzFiles; -// args.nRecommendation = *pnResult; -// args.source = source; - -// results.cbSize = sizeof(results); -// results.nResult = *pnResult; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEFILESINUSE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecuteFilesInUse failed."); - -// *pnResult = results.nResult; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecuteMsiMessage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in INSTALLMESSAGE messageType, -// __in DWORD dwUIHint, -// __in_z LPCWSTR wzMessage, -// __in DWORD cData, -// __in_ecount_z_opt(cData) LPCWSTR* rgwzData, -// __inout int* pnResult -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEMSIMESSAGE_ARGS args = { }; -// BA_ONEXECUTEMSIMESSAGE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.messageType = messageType; -// args.dwUIHint = dwUIHint; -// args.wzMessage = wzMessage; -// args.cData = cData; -// args.rgwzData = rgwzData; -// args.nRecommendation = *pnResult; - -// results.cbSize = sizeof(results); -// results.nResult = *pnResult; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEMSIMESSAGE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecuteMsiMessage failed."); - -// *pnResult = results.nResult; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecutePackageBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in BOOL fExecute, -// __in BOOTSTRAPPER_ACTION_STATE action, -// __in INSTALLUILEVEL uiLevel, -// __in BOOL fDisableExternalUiHandler -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEPACKAGEBEGIN_ARGS args = { }; -// BA_ONEXECUTEPACKAGEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.fExecute = fExecute; -// args.action = action; -// args.uiLevel = uiLevel; -// args.fDisableExternalUiHandler = fDisableExternalUiHandler; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPACKAGEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecutePackageBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecutePackageComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in HRESULT hrStatus, -// __in BOOTSTRAPPER_APPLY_RESTART restart, -// __inout BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION* pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEPACKAGECOMPLETE_ARGS args = { }; -// BA_ONEXECUTEPACKAGECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.hrStatus = hrStatus; -// args.restart = restart; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPACKAGECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecutePackageComplete failed."); - -// *pAction = results.action; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecutePatchTarget( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzTargetProductCode -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEPATCHTARGET_ARGS args = { }; -// BA_ONEXECUTEPATCHTARGET_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzTargetProductCode = wzTargetProductCode; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPATCHTARGET, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecutePatchTarget failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// BAAPI UserExperienceOnExecuteProcessCancel( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in DWORD dwProcessId, -// __inout BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION* pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEPROCESSCANCEL_ARGS args = { }; -// BA_ONEXECUTEPROCESSCANCEL_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.dwProcessId = dwProcessId; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROCESSCANCEL, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecuteProcessCancel failed."); - -// *pAction = results.action; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnExecuteProgress( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in DWORD dwProgressPercentage, -// __in DWORD dwOverallPercentage, -// __out int* pnResult -// ) -// { -// HRESULT hr = S_OK; -// BA_ONEXECUTEPROGRESS_ARGS args = { }; -// BA_ONEXECUTEPROGRESS_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.dwProgressPercentage = dwProgressPercentage; -// args.dwOverallPercentage = dwOverallPercentage; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROGRESS, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnExecuteProgress failed."); - -// LExit: -// if (FAILED(hr)) -// { -// *pnResult = IDERROR; -// } -// else if (results.fCancel) -// { -// *pnResult = IDCANCEL; -// } -// else -// { -// *pnResult = IDNOACTION; -// } -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnLaunchApprovedExeBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience -// ) -// { -// HRESULT hr = S_OK; -// BA_ONLAUNCHAPPROVEDEXEBEGIN_ARGS args = { }; -// BA_ONLAUNCHAPPROVEDEXEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONLAUNCHAPPROVEDEXEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnLaunchApprovedExeBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnLaunchApprovedExeComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus, -// __in DWORD dwProcessId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONLAUNCHAPPROVEDEXECOMPLETE_ARGS args = { }; -// BA_ONLAUNCHAPPROVEDEXECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; -// args.dwProcessId = dwProcessId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONLAUNCHAPPROVEDEXECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnLaunchApprovedExeComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPauseAUBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPAUSEAUTOMATICUPDATESBEGIN_ARGS args = { }; -// BA_ONPAUSEAUTOMATICUPDATESBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPAUSEAUTOMATICUPDATESBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPauseAUBegin failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPauseAUComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_ARGS args = { }; -// BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPAUSEAUTOMATICUPDATESCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPauseAUComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in DWORD cPackages -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANBEGIN_ARGS args = { }; -// BA_ONPLANBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.cPackages = cPackages; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanCompatibleMsiPackageBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzCompatiblePackageId, -// __in VERUTIL_VERSION* pCompatiblePackageVersion, -// __inout BOOL* pfRequested -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS args = { }; -// BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzCompatiblePackageId = wzCompatiblePackageId; -// args.wzCompatiblePackageVersion = pCompatiblePackageVersion->sczVersion; -// args.fRecommendedRemove = *pfRequested; - -// results.cbSize = sizeof(results); -// results.fRequestRemove = *pfRequested; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanCompatibleMsiPackageBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pfRequested = results.fRequestRemove; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanCompatibleMsiPackageComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzCompatiblePackageId, -// __in HRESULT hrStatus, -// __in BOOL fRequested -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS args = { }; -// BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzCompatiblePackageId = wzCompatiblePackageId; -// args.hrStatus = hrStatus; -// args.fRequestedRemove = fRequested; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanCompatibleMsiPackageComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanMsiFeature( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzFeatureId, -// __inout BOOTSTRAPPER_FEATURE_STATE* pRequestedState -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANMSIFEATURE_ARGS args = { }; -// BA_ONPLANMSIFEATURE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzFeatureId = wzFeatureId; -// args.recommendedState = *pRequestedState; - -// results.cbSize = sizeof(results); -// results.requestedState = *pRequestedState; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanMsiFeature failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pRequestedState = results.requestedState; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANCOMPLETE_ARGS args = { }; -// BA_ONPLANCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessageFromInactiveEngine(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanForwardCompatibleBundle( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzBundleId, -// __in BOOTSTRAPPER_RELATION_TYPE relationType, -// __in_z LPCWSTR wzBundleTag, -// __in BOOL fPerMachine, -// __in VERUTIL_VERSION* pVersion, -// __inout BOOL* pfIgnoreBundle -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS args = { }; -// BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzBundleId = wzBundleId; -// args.relationType = relationType; -// args.wzBundleTag = wzBundleTag; -// args.fPerMachine = fPerMachine; -// args.wzVersion = pVersion->sczVersion; -// args.fRecommendedIgnoreBundle = *pfIgnoreBundle; - -// results.cbSize = sizeof(results); -// results.fIgnoreBundle = *pfIgnoreBundle; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanForwardCompatibleBundle failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pfIgnoreBundle = results.fIgnoreBundle; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanMsiPackage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in BOOL fExecute, -// __in BOOTSTRAPPER_ACTION_STATE action, -// __inout BURN_MSI_PROPERTY* pActionMsiProperty, -// __inout INSTALLUILEVEL* pUiLevel, -// __inout BOOL* pfDisableExternalUiHandler, -// __inout BOOTSTRAPPER_MSI_FILE_VERSIONING* pFileVersioning -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANMSIPACKAGE_ARGS args = { }; -// BA_ONPLANMSIPACKAGE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.fExecute = fExecute; -// args.action = action; -// args.recommendedFileVersioning = *pFileVersioning; - -// results.cbSize = sizeof(results); -// results.actionMsiProperty = *pActionMsiProperty; -// results.uiLevel = *pUiLevel; -// results.fDisableExternalUiHandler = *pfDisableExternalUiHandler; -// results.fileVersioning = args.recommendedFileVersioning; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIPACKAGE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanMsiPackage failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pActionMsiProperty = results.actionMsiProperty; -// *pUiLevel = results.uiLevel; -// *pfDisableExternalUiHandler = results.fDisableExternalUiHandler; -// *pFileVersioning = results.fileVersioning; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlannedCompatiblePackage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzCompatiblePackageId, -// __in BOOL fRemove -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS args = { }; -// BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzCompatiblePackageId = wzCompatiblePackageId; -// args.fRemove = fRemove; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlannedCompatiblePackage failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlannedPackage( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in BOOTSTRAPPER_ACTION_STATE execute, -// __in BOOTSTRAPPER_ACTION_STATE rollback, -// __in BOOL fPlannedCache, -// __in BOOL fPlannedUncache -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANNEDPACKAGE_ARGS args = { }; -// BA_ONPLANNEDPACKAGE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.execute = execute; -// args.rollback = rollback; -// args.fPlannedCache = fPlannedCache; -// args.fPlannedUncache = fPlannedUncache; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlannedPackage failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanPackageBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in BOOTSTRAPPER_PACKAGE_STATE state, -// __in BOOL fCached, -// __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, -// __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition, -// __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState, -// __inout BOOTSTRAPPER_CACHE_TYPE* pRequestedCacheType -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANPACKAGEBEGIN_ARGS args = { }; -// BA_ONPLANPACKAGEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.state = state; -// args.fCached = fCached; -// args.installCondition = installCondition; -// args.repairCondition = repairCondition; -// args.recommendedState = *pRequestedState; -// args.recommendedCacheType = *pRequestedCacheType; - -// results.cbSize = sizeof(results); -// results.requestedState = *pRequestedState; -// results.requestedCacheType = *pRequestedCacheType; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanPackageBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pRequestedState = results.requestedState; - -// if (BOOTSTRAPPER_CACHE_TYPE_REMOVE <= results.requestedCacheType && BOOTSTRAPPER_CACHE_TYPE_FORCE >= results.requestedCacheType) -// { -// *pRequestedCacheType = results.requestedCacheType; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanPackageComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in HRESULT hrStatus, -// __in BOOTSTRAPPER_REQUEST_STATE requested -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANPACKAGECOMPLETE_ARGS args = { }; -// BA_ONPLANPACKAGECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.hrStatus = hrStatus; -// args.requested = requested; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanPackageComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanRelatedBundle( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzBundleId, -// __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANRELATEDBUNDLE_ARGS args = { }; -// BA_ONPLANRELATEDBUNDLE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzBundleId = wzBundleId; -// args.recommendedState = *pRequestedState; - -// results.cbSize = sizeof(results); -// results.requestedState = *pRequestedState; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanRelatedBundle failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pRequestedState = results.requestedState; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanRelatedBundleType( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzBundleId, -// __inout BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE* pRequestedType -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANRELATEDBUNDLETYPE_ARGS args = { }; -// BA_ONPLANRELATEDBUNDLETYPE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzBundleId = wzBundleId; -// args.recommendedType = *pRequestedType; - -// results.cbSize = sizeof(results); -// results.requestedType = *pRequestedType; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanRelatedBundleType failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pRequestedType = results.requestedType; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanRestoreRelatedBundle( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzBundleId, -// __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANRESTORERELATEDBUNDLE_ARGS args = { }; -// BA_ONPLANRESTORERELATEDBUNDLE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzBundleId = wzBundleId; -// args.recommendedState = *pRequestedState; - -// results.cbSize = sizeof(results); -// results.requestedState = *pRequestedState; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanRestoreRelatedBundle failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pRequestedState = results.requestedState; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanRollbackBoundary( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzRollbackBoundaryId, -// __inout BOOL* pfTransaction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANROLLBACKBOUNDARY_ARGS args = { }; -// BA_ONPLANROLLBACKBOUNDARY_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzRollbackBoundaryId = wzRollbackBoundaryId; -// args.fRecommendedTransaction = *pfTransaction; - -// results.cbSize = sizeof(results); -// results.fTransaction = *pfTransaction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanRollbackBoundary failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pfTransaction = results.fTransaction; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnPlanPatchTarget( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in_z LPCWSTR wzPackageId, -// __in_z LPCWSTR wzProductCode, -// __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPLANPATCHTARGET_ARGS args = { }; -// BA_ONPLANPATCHTARGET_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzPackageId = wzPackageId; -// args.wzProductCode = wzProductCode; -// args.recommendedState = *pRequestedState; - -// results.cbSize = sizeof(results); -// results.requestedState = *pRequestedState; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnPlanPatchTarget failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// *pRequestedState = results.requestedState; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnProgress( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in BOOL fRollback, -// __in DWORD dwProgressPercentage, -// __in DWORD dwOverallPercentage -// ) -// { -// HRESULT hr = S_OK; -// BA_ONPROGRESS_ARGS args = { }; -// BA_ONPROGRESS_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.dwProgressPercentage = dwProgressPercentage; -// args.dwOverallPercentage = dwOverallPercentage; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPROGRESS, &args, args.cbSize, &result); -// hr = FilterExecuteResult(pUserExperience, hr, fRollback, results.fCancel, L"OnProgress"); - -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnRegisterBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __inout BOOTSTRAPPER_REGISTRATION_TYPE* pRegistrationType -// ) -// { -// HRESULT hr = S_OK; -// BA_ONREGISTERBEGIN_ARGS args = { }; -// BA_ONREGISTERBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.recommendedRegistrationType = *pRegistrationType; - -// results.cbSize = sizeof(results); -// results.registrationType = *pRegistrationType; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONREGISTERBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnRegisterBegin failed."); - -// if (results.fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// else if (BOOTSTRAPPER_REGISTRATION_TYPE_NONE < results.registrationType && BOOTSTRAPPER_REGISTRATION_TYPE_FULL >= results.registrationType) -// { -// *pRegistrationType = results.registrationType; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnRegisterComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONREGISTERCOMPLETE_ARGS args = { }; -// BA_ONREGISTERCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONREGISTERCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnRegisterComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnRollbackMsiTransactionBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in LPCWSTR wzTransactionId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONROLLBACKMSITRANSACTIONBEGIN_ARGS args = { }; -// BA_ONROLLBACKMSITRANSACTIONBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzTransactionId = wzTransactionId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONROLLBACKMSITRANSACTIONBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnRollbackMsiTransactionBegin failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnRollbackMsiTransactionComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in LPCWSTR wzTransactionId, -// __in HRESULT hrStatus, -// __in BOOTSTRAPPER_APPLY_RESTART restart, -// __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION *pAction -// ) -// { -// HRESULT hr = S_OK; -// BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS args = { }; -// BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.wzTransactionId = wzTransactionId; -// args.hrStatus = hrStatus; -// args.restart = restart; -// args.recommendation = *pAction; - -// results.cbSize = sizeof(results); -// results.action = *pAction; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONROLLBACKMSITRANSACTIONCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnRollbackMsiTransactionComplete failed."); - -// *pAction = results.action; - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnSetUpdateBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience -// ) -// { -// HRESULT hr = S_OK; -// BA_ONSETUPDATEBEGIN_ARGS args = { }; -// BA_ONSETUPDATEBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATEBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnSetUpdateBegin failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnSetUpdateComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus, -// __in_z_opt LPCWSTR wzPreviousPackageId, -// __in_z_opt LPCWSTR wzNewPackageId -// ) -// { -// HRESULT hr = S_OK; -// BA_ONSETUPDATECOMPLETE_ARGS args = { }; -// BA_ONSETUPDATECOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; -// args.wzPreviousPackageId = wzPreviousPackageId; -// args.wzNewPackageId = wzNewPackageId; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnSetUpdateComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnSystemRestorePointBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience -// ) -// { -// HRESULT hr = S_OK; -// BA_ONSYSTEMRESTOREPOINTBEGIN_ARGS args = { }; -// BA_ONSYSTEMRESTOREPOINTBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnSystemRestorePointBegin failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnSystemRestorePointComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONSYSTEMRESTOREPOINTCOMPLETE_ARGS args = { }; -// BA_ONSYSTEMRESTOREPOINTCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnSystemRestorePointComplete failed."); - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnUnregisterBegin( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __inout BOOTSTRAPPER_REGISTRATION_TYPE* pRegistrationType -// ) -// { -// HRESULT hr = S_OK; -// BA_ONUNREGISTERBEGIN_ARGS args = { }; -// BA_ONUNREGISTERBEGIN_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.recommendedRegistrationType = *pRegistrationType; - -// results.cbSize = sizeof(results); -// results.registrationType = *pRegistrationType; - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERBEGIN, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnUnregisterBegin failed."); - -// if (BOOTSTRAPPER_REGISTRATION_TYPE_NONE < results.registrationType && BOOTSTRAPPER_REGISTRATION_TYPE_FULL >= results.registrationType) -// { -// *pRegistrationType = results.registrationType; -// } - -// LExit: -// return hr; -// } - -// EXTERN_C BAAPI UserExperienceOnUnregisterComplete( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus -// ) -// { -// HRESULT hr = S_OK; -// BA_ONUNREGISTERCOMPLETE_ARGS args = { }; -// BA_ONUNREGISTERCOMPLETE_RESULTS results = { }; -// PIPE_RPC_RESULT result = { }; - -// args.cbSize = sizeof(args); -// args.hrStatus = hrStatus; - -// results.cbSize = sizeof(results); - -// hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERCOMPLETE, &args, args.cbSize, &result); -// ExitOnFailure(hr, "BA OnUnregisterComplete failed."); - -// LExit: -// return hr; -// } - -// extern "C" int UserExperienceCheckExecuteResult( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in BOOL fRollback, -// __in DWORD dwAllowedResults, -// __in int nResult -// ) -// { -// // Do not allow canceling while rolling back. -// if (fRollback && (IDCANCEL == nResult || IDABORT == nResult)) -// { -// nResult = IDNOACTION; -// } -// else if (FAILED(pUserExperience->hrApplyError) && !fRollback) // if we failed cancel except not during rollback. -// { -// nResult = IDCANCEL; -// } - -// nResult = FilterResult(dwAllowedResults, nResult); -// return nResult; -// } - -// extern "C" HRESULT UserExperienceInterpretExecuteResult( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in BOOL fRollback, -// __in DWORD dwAllowedResults, -// __in int nResult -// ) -// { -// HRESULT hr = S_OK; - -// // If we failed return that error unless this is rollback which should roll on. -// if (FAILED(pUserExperience->hrApplyError) && !fRollback) -// { -// hr = pUserExperience->hrApplyError; -// } -// else -// { -// int nCheckedResult = UserExperienceCheckExecuteResult(pUserExperience, fRollback, dwAllowedResults, nResult); -// hr = IDOK == nCheckedResult || IDNOACTION == nCheckedResult ? S_OK : IDCANCEL == nCheckedResult || IDABORT == nCheckedResult ? HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT) : HRESULT_FROM_WIN32(ERROR_INSTALL_FAILURE); -// } - -// return hr; -// } - - -// // internal functions - -// static int FilterResult( -// __in DWORD dwAllowedResults, -// __in int nResult -// ) -// { -// if (IDNOACTION == nResult || IDERROR == nResult) // do nothing and errors pass through. -// { -// } -// else -// { -// switch (dwAllowedResults) -// { -// case MB_OK: -// nResult = IDOK; -// break; - -// case MB_OKCANCEL: -// if (IDOK == nResult || IDYES == nResult) -// { -// nResult = IDOK; -// } -// else if (IDCANCEL == nResult || IDABORT == nResult || IDNO == nResult) -// { -// nResult = IDCANCEL; -// } -// else -// { -// nResult = IDNOACTION; -// } -// break; - -// case MB_ABORTRETRYIGNORE: -// if (IDCANCEL == nResult || IDABORT == nResult) -// { -// nResult = IDABORT; -// } -// else if (IDRETRY == nResult || IDTRYAGAIN == nResult) -// { -// nResult = IDRETRY; -// } -// else if (IDIGNORE == nResult) -// { -// nResult = IDIGNORE; -// } -// else -// { -// nResult = IDNOACTION; -// } -// break; - -// case MB_YESNO: -// if (IDOK == nResult || IDYES == nResult) -// { -// nResult = IDYES; -// } -// else if (IDCANCEL == nResult || IDABORT == nResult || IDNO == nResult) -// { -// nResult = IDNO; -// } -// else -// { -// nResult = IDNOACTION; -// } -// break; - -// case MB_YESNOCANCEL: -// if (IDOK == nResult || IDYES == nResult) -// { -// nResult = IDYES; -// } -// else if (IDNO == nResult) -// { -// nResult = IDNO; -// } -// else if (IDCANCEL == nResult || IDABORT == nResult) -// { -// nResult = IDCANCEL; -// } -// else -// { -// nResult = IDNOACTION; -// } -// break; - -// case MB_RETRYCANCEL: -// if (IDRETRY == nResult || IDTRYAGAIN == nResult) -// { -// nResult = IDRETRY; -// } -// else if (IDCANCEL == nResult || IDABORT == nResult) -// { -// nResult = IDABORT; -// } -// else -// { -// nResult = IDNOACTION; -// } -// break; - -// case MB_CANCELTRYCONTINUE: -// if (IDCANCEL == nResult || IDABORT == nResult) -// { -// nResult = IDABORT; -// } -// else if (IDRETRY == nResult || IDTRYAGAIN == nResult) -// { -// nResult = IDRETRY; -// } -// else if (IDCONTINUE == nResult || IDIGNORE == nResult) -// { -// nResult = IDCONTINUE; -// } -// else -// { -// nResult = IDNOACTION; -// } -// break; - -// case BURN_MB_RETRYTRYAGAIN: // custom return code. -// if (IDRETRY != nResult && IDTRYAGAIN != nResult) -// { -// nResult = IDNOACTION; -// } -// break; - -// default: -// AssertSz(FALSE, "Unknown allowed results."); -// break; -// } -// } - -// return nResult; -// } - -// // This filters the BA's responses to events during apply. -// // If an apply thread failed, then return its error so this thread will bail out. -// // During rollback, the BA can't cancel. -// static HRESULT FilterExecuteResult( -// __in BURN_USER_EXPERIENCE* pUserExperience, -// __in HRESULT hrStatus, -// __in BOOL fRollback, -// __in BOOL fCancel, -// __in LPCWSTR sczEventName -// ) -// { -// HRESULT hr = hrStatus; -// HRESULT hrApplyError = pUserExperience->hrApplyError; // make sure to use the same value for the whole method, since it can be changed in other threads. - -// // If we failed return that error unless this is rollback which should roll on. -// if (FAILED(hrApplyError) && !fRollback) -// { -// hr = hrApplyError; -// } -// else if (fRollback) -// { -// if (fCancel) -// { -// LogId(REPORT_STANDARD, MSG_APPLY_CANCEL_IGNORED_DURING_ROLLBACK, sczEventName); -// } -// // TODO: since cancel isn't allowed, should the BA's HRESULT be ignored as well? -// // In the previous code, they could still alter rollback by returning IDERROR. -// } -// else -// { -// ExitOnFailure(hr, "BA %ls failed.", sczEventName); - -// if (fCancel) -// { -// hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); -// } -// } - -// LExit: -// return hr; -// } - -// static HRESULT SendBAMessage( -// __in BURN_USER_EXPERIENCE* /*pUserExperience*/, -// __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, -// __in_bcount(cbArgs) const LPVOID /*pvArgs*/, -// __in DWORD /*cbArgs*/, -// __in PIPE_RPC_RESULT* /*pResult*/ -// ) -// { -// // // HRESULT hr = S_OK; -// // // // DWORD rgResultAndSize[2] = { }; -// // // // DWORD cbSize = 0; -// // // // LPVOID pvData = NULL; -// // // // DWORD cbData = 0; - -// // // //if (!pUserExperience->hUXModule) -// // // if (!PipeRpcInitialized(&pUserExperience->hBARpcPipe)) -// // // { -// // // ExitFunction(); -// // // } - -// // // //hr = pUserExperience->pfnBAProc(message, pvArgs, pvResults, pUserExperience->pvBAProcContext); -// // // //if (hr == E_NOTIMPL) -// // // //{ -// // // // hr = S_OK; -// // // //} - -// // // // Send the message. -// // // // hr = PipeWriteMessage(hPipe, message, pvArgs, cbArgs); -// // // hr = PipeRpcRequest(&pUserExperience->hBARpcPipe, message, pvArgs, cbArgs, pResult); -// // // ExitOnFailure(hr, "Failed to write message to BA."); - -// // // #if TODO_DELETE -// // // // Read the result and size of response. -// // // hr = FileReadHandle(hPipe, reinterpret_cast(rgResultAndSize), sizeof(rgResultAndSize)); -// // // ExitOnFailure(hr, "Failed to read result and size of message."); - -// // // pResult->hr = rgResultAndSize[0]; -// // // cbSize = rgResultAndSize[1]; - -// // // // Ensure the message size isn't "too big". -// // // if (cbSize > MAX_SIZE_BA_RESPONSE) -// // // { -// // // hr = E_INVALIDDATA; -// // // ExitOnRootFailure(hr, "BA sent too much data in response."); -// // // } -// // // else if (cbSize > sizeof(DWORD)) // if there is data beyond the size of the response struct, read it. -// // // { -// // // cbData = cbSize - sizeof(DWORD); - -// // // pvData = MemAlloc(cbData, TRUE); -// // // ExitOnNull(pvData, hr, E_OUTOFMEMORY, "Failed to allocate memory for BA results."); - -// // // hr = FileReadHandle(hPipe, reinterpret_cast(pvData), cbData); -// // // ExitOnFailure(hr, "Failed to read result and size of message."); -// // // } - -// // // pResult->cbSize = cbSize; -// // // pResult->cbData = cbData; -// // // pResult->pvData = pvData; -// // // pvData = NULL; -// // // #endif - -// // // hr = pResult->hr; -// // // ExitOnFailure(hr, "BA reported failure."); - -// // // LExit: -// // // // ReleaseMem(pvData); - -// // // return hr; -// return E_NOTIMPL; -// } - -// static HRESULT SendBAMessageFromInactiveEngine( -// __in BURN_USER_EXPERIENCE* /*pUserExperience*/, -// __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, -// __in_bcount(cbArgs) const LPVOID /*pvArgs*/, -// __in DWORD /*cbArgs*/, -// __in PIPE_RPC_RESULT* /*pResult*/ -// ) -// { -// // // HRESULT hr = S_OK; - -// // // //if (!pUserExperience->hUXModule) -// // // if (!PipeRpcInitialized(&pUserExperience->hBARpcPipe)) -// // // { -// // // ExitFunction(); -// // // } - -// // // UserExperienceDeactivateEngine(pUserExperience); - -// // // hr = SendBAMessage(pUserExperience, message, pvArgs, cbArgs, pResult); - -// // // UserExperienceActivateEngine(pUserExperience); - -// // // LExit: -// // // return hr; -// return E_NOTIMPL; -// } diff --git a/src/burn/engine/userexperience.h b/src/burn/engine/userexperience.h deleted file mode 100644 index 23068e3ea..000000000 --- a/src/burn/engine/userexperience.h +++ /dev/null @@ -1,539 +0,0 @@ -#pragma once -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -#if defined(__cplusplus) -extern "C" { -#endif - - -// constants - - -// structs - - -// functions - -#ifdef TODO_DELETE -void UserExperienceUninitialize( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -HRESULT UserExperienceLoad( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in BOOTSTRAPPER_ENGINE_CONTEXT* pEngineContext, - __in BOOTSTRAPPER_COMMAND* pCommand - ); -HRESULT UserExperienceUnload( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in BOOL fReload - ); - -BAAPI UserExperienceOnApplyBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in DWORD dwPhaseCount - ); -BAAPI UserExperienceOnApplyComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_APPLY_RESTART restart, - __inout BOOTSTRAPPER_APPLYCOMPLETE_ACTION* pAction - ); -BAAPI UserExperienceOnApplyDowngrade( - __in BURN_USER_EXPERIENCE* pUserExperience, - __inout HRESULT* phrStatus - ); -BAAPI UserExperienceOnBeginMsiTransactionBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in LPCWSTR wzTransactionId - ); -BAAPI UserExperienceOnBeginMsiTransactionComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in LPCWSTR wzTransactionId, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnCacheAcquireBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in_z LPWSTR* pwzSource, - __in_z LPWSTR* pwzDownloadUrl, - __in_z_opt LPCWSTR wzPayloadContainerId, - __out BOOTSTRAPPER_CACHE_OPERATION* pCacheOperation - ); -BAAPI UserExperienceOnCacheAcquireComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus, - __inout BOOL* pfRetry - ); -BAAPI UserExperienceOnCacheAcquireProgress( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in DWORD64 dw64Progress, - __in DWORD64 dw64Total, - __in DWORD dwOverallPercentage - ); -BAAPI UserExperienceOnCacheAcquireResolving( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in_z LPWSTR* rgSearchPaths, - __in DWORD cSearchPaths, - __in BOOL fFoundLocal, - __in DWORD* pdwChosenSearchPath, - __in_z_opt LPWSTR* pwzDownloadUrl, - __in_z_opt LPCWSTR wzPayloadContainerId, - __inout BOOTSTRAPPER_CACHE_RESOLVE_OPERATION* pCacheOperation - ); -BAAPI UserExperienceOnCacheBegin( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -BAAPI UserExperienceOnCacheComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnCacheContainerOrPayloadVerifyBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId - ); -BAAPI UserExperienceOnCacheContainerOrPayloadVerifyComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnCacheContainerOrPayloadVerifyProgress( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in DWORD64 dw64Progress, - __in DWORD64 dw64Total, - __in DWORD dwOverallPercentage - ); -BAAPI UserExperienceOnCachePackageBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in DWORD cCachePayloads, - __in DWORD64 dw64PackageCacheSize, - __in BOOL fVital - ); -BAAPI UserExperienceOnCachePackageNonVitalValidationFailure( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __inout BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION* pAction - ); -BAAPI UserExperienceOnCachePackageComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __inout BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION* pAction - ); -BAAPI UserExperienceOnCachePayloadExtractBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzContainerId, - __in_z_opt LPCWSTR wzPayloadId - ); -BAAPI UserExperienceOnCachePayloadExtractComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnCachePayloadExtractProgress( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in DWORD64 dw64Progress, - __in DWORD64 dw64Total, - __in DWORD dwOverallPercentage - ); -BAAPI UserExperienceOnCacheVerifyBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId - ); -BAAPI UserExperienceOnCacheVerifyComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus, - __inout BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION* pAction - ); -BAAPI UserExperienceOnCacheVerifyProgress( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in DWORD64 dw64Progress, - __in DWORD64 dw64Total, - __in DWORD dwOverallPercentage, - __in BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep - ); -BAAPI UserExperienceOnCommitMsiTransactionBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in LPCWSTR wzTransactionId - ); -BAAPI UserExperienceOnCommitMsiTransactionComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in LPCWSTR wzTransactionId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_APPLY_RESTART restart, - __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* pAction -); -BAAPI UserExperienceOnDetectBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in BOOL fCached, - __in BOOTSTRAPPER_REGISTRATION_TYPE registrationType, - __in DWORD cPackages - ); -BAAPI UserExperienceOnDetectCompatibleMsiPackage( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzCompatiblePackageId, - __in VERUTIL_VERSION* pCompatiblePackageVersion - ); -BAAPI UserExperienceOnDetectComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus, - __in BOOL fEligibleForCleanup - ); -BAAPI UserExperienceOnDetectForwardCompatibleBundle( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzBundleId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in_z LPCWSTR wzBundleTag, - __in BOOL fPerMachine, - __in VERUTIL_VERSION* pVersion, - __in BOOL fMissingFromCache - ); -BAAPI UserExperienceOnDetectMsiFeature( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzFeatureId, - __in BOOTSTRAPPER_FEATURE_STATE state - ); -BAAPI UserExperienceOnDetectPackageBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId - ); -BAAPI UserExperienceOnDetectPackageComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_PACKAGE_STATE state, - __in BOOL fCached - ); -BAAPI UserExperienceOnDetectRelatedBundle( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzBundleId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in_z LPCWSTR wzBundleTag, - __in BOOL fPerMachine, - __in VERUTIL_VERSION* pVersion, - __in BOOL fMissingFromCache - ); -BAAPI UserExperienceOnDetectRelatedBundlePackage( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzBundleId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in BOOL fPerMachine, - __in VERUTIL_VERSION* pVersion - ); -BAAPI UserExperienceOnDetectRelatedMsiPackage( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzUpgradeCode, - __in_z LPCWSTR wzProductCode, - __in BOOL fPerMachine, - __in VERUTIL_VERSION* pVersion, - __in BOOTSTRAPPER_RELATED_OPERATION operation - ); -BAAPI UserExperienceOnDetectPatchTarget( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzProductCode, - __in BOOTSTRAPPER_PACKAGE_STATE patchState - ); -BAAPI UserExperienceOnDetectUpdate( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z_opt LPCWSTR wzUpdateLocation, - __in DWORD64 dw64Size, - __in_z_opt LPCWSTR wzHash, - __in BOOTSTRAPPER_UPDATE_HASH_TYPE hashAlgorithm, - __in VERUTIL_VERSION* pVersion, - __in_z_opt LPCWSTR wzTitle, - __in_z_opt LPCWSTR wzSummary, - __in_z_opt LPCWSTR wzContentType, - __in_z_opt LPCWSTR wzContent, - __inout BOOL* pfStopProcessingUpdates - ); -BAAPI UserExperienceOnDetectUpdateBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzUpdateLocation, - __inout BOOL* pfSkip - ); -BAAPI UserExperienceOnDetectUpdateComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus, - __inout BOOL* pfIgnoreError - ); -BAAPI UserExperienceOnElevateBegin( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -BAAPI UserExperienceOnElevateComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnError( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in BOOTSTRAPPER_ERROR_TYPE errorType, - __in_z_opt LPCWSTR wzPackageId, - __in DWORD dwCode, - __in_z_opt LPCWSTR wzError, - __in DWORD dwUIHint, - __in DWORD cData, - __in_ecount_z_opt(cData) LPCWSTR* rgwzData, - __inout int* pnResult - ); -BAAPI UserExperienceOnExecuteBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in DWORD cExecutingPackages - ); -BAAPI UserExperienceOnExecuteComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnExecuteFilesInUse( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in DWORD cFiles, - __in_ecount_z_opt(cFiles) LPCWSTR* rgwzFiles, - __in BOOTSTRAPPER_FILES_IN_USE_TYPE source, - __inout int* pnResult - ); -BAAPI UserExperienceOnExecuteMsiMessage( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in INSTALLMESSAGE messageType, - __in DWORD dwUIHint, - __in_z LPCWSTR wzMessage, - __in DWORD cData, - __in_ecount_z_opt(cData) LPCWSTR* rgwzData, - __inout int* pnResult - ); -BAAPI UserExperienceOnExecutePackageBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in BOOL fExecute, - __in BOOTSTRAPPER_ACTION_STATE action, - __in INSTALLUILEVEL uiLevel, - __in BOOL fDisableExternalUiHandler - ); -BAAPI UserExperienceOnExecutePackageComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_APPLY_RESTART restart, - __inout BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION* pAction - ); -BAAPI UserExperienceOnExecutePatchTarget( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzTargetProductCode - ); -BAAPI UserExperienceOnExecuteProcessCancel( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in DWORD dwProcessId, - __inout BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION* pAction - ); -BAAPI UserExperienceOnExecuteProgress( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in DWORD dwProgressPercentage, - __in DWORD dwOverallPercentage, - __out int* pnResult - ); -BAAPI UserExperienceOnLaunchApprovedExeBegin( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -BAAPI UserExperienceOnLaunchApprovedExeComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus, - __in DWORD dwProcessId - ); -BAAPI UserExperienceOnPauseAUBegin( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -BAAPI UserExperienceOnPauseAUComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnPlanBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in DWORD cPackages - ); -BAAPI UserExperienceOnPlanCompatibleMsiPackageBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzCompatiblePackageId, - __in VERUTIL_VERSION* pCompatiblePackageVersion, - __inout BOOL* pfRequested - ); -BAAPI UserExperienceOnPlanCompatibleMsiPackageComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzCompatiblePackageId, - __in HRESULT hrStatus, - __in BOOL fRequested - ); -BAAPI UserExperienceOnPlanComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnPlanForwardCompatibleBundle( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzBundleId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in_z LPCWSTR wzBundleTag, - __in BOOL fPerMachine, - __in VERUTIL_VERSION* pVersion, - __inout BOOL* pfIgnoreBundle - ); -BAAPI UserExperienceOnPlanMsiFeature( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzFeatureId, - __inout BOOTSTRAPPER_FEATURE_STATE* pRequestedState - ); -BAAPI UserExperienceOnPlanMsiPackage( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in BOOL fExecute, - __in BOOTSTRAPPER_ACTION_STATE action, - __inout BURN_MSI_PROPERTY* pActionMsiProperty, - __inout INSTALLUILEVEL* pUiLevel, - __inout BOOL* pfDisableExternalUiHandler, - __inout BOOTSTRAPPER_MSI_FILE_VERSIONING* pFileVersioning - ); -BAAPI UserExperienceOnPlannedCompatiblePackage( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzCompatiblePackageId, - __in BOOL fRemove - ); -BAAPI UserExperienceOnPlannedPackage( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in BOOTSTRAPPER_ACTION_STATE execute, - __in BOOTSTRAPPER_ACTION_STATE rollback, - __in BOOL fPlannedCache, - __in BOOL fPlannedUncache - ); -BAAPI UserExperienceOnPlanPackageBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in BOOTSTRAPPER_PACKAGE_STATE state, - __in BOOL fCached, - __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, - __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition, - __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState, - __inout BOOTSTRAPPER_CACHE_TYPE* pRequestedCacheType - ); -BAAPI UserExperienceOnPlanPackageComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_REQUEST_STATE requested - ); -BAAPI UserExperienceOnPlanRelatedBundle( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzBundleId, - __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState - ); -BAAPI UserExperienceOnPlanRelatedBundleType( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzBundleId, - __inout BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE* pRequestedType - ); -BAAPI UserExperienceOnPlanRestoreRelatedBundle( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzBundleId, - __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState - ); -BAAPI UserExperienceOnPlanRollbackBoundary( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzRollbackBoundaryId, - __inout BOOL *pfTransaction - ); -BAAPI UserExperienceOnPlanPatchTarget( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzProductCode, - __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState - ); -BAAPI UserExperienceOnProgress( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in BOOL fRollback, - __in DWORD dwProgressPercentage, - __in DWORD dwOverallPercentage - ); -BAAPI UserExperienceOnRegisterBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __inout BOOTSTRAPPER_REGISTRATION_TYPE* pRegistrationType - ); -BAAPI UserExperienceOnRegisterComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnRollbackMsiTransactionBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in LPCWSTR wzTransactionId - ); -BAAPI UserExperienceOnRollbackMsiTransactionComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in LPCWSTR wzTransactionId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_APPLY_RESTART restart, - __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* pAction -); -BAAPI UserExperienceOnSetUpdateBegin( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -BAAPI UserExperienceOnSetUpdateComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus, - __in_z_opt LPCWSTR wzPreviousPackageId, - __in_z_opt LPCWSTR wzNewPackageId - ); -BAAPI UserExperienceOnShutdown( - __in BURN_USER_EXPERIENCE* pUserExperience, - __inout BOOTSTRAPPER_SHUTDOWN_ACTION* pAction - ); -BAAPI UserExperienceOnStartup( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -BAAPI UserExperienceOnSystemRestorePointBegin( - __in BURN_USER_EXPERIENCE* pUserExperience - ); -BAAPI UserExperienceOnSystemRestorePointComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -BAAPI UserExperienceOnUnregisterBegin( - __in BURN_USER_EXPERIENCE* pUserExperience, - __inout BOOTSTRAPPER_REGISTRATION_TYPE* pRegistrationType - ); -BAAPI UserExperienceOnUnregisterComplete( - __in BURN_USER_EXPERIENCE* pUserExperience, - __in HRESULT hrStatus - ); -#endif - -#if defined(__cplusplus) -} -#endif diff --git a/src/burn/test/BurnUnitTest/precomp.h b/src/burn/test/BurnUnitTest/precomp.h index 7a84dd41b..d0105107c 100644 --- a/src/burn/test/BurnUnitTest/precomp.h +++ b/src/burn/test/BurnUnitTest/precomp.h @@ -52,7 +52,6 @@ #include "burnextension.h" #include "search.h" #include "ba.h" -#include "userexperience.h" #include "package.h" #include "update.h" #include "pseudobundle.h"