From 81fb512834c65b0a8f99c3a266879c476e382875 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Tue, 11 Feb 2025 05:03:30 -0800 Subject: Remove the working folder as late as possible Clean up the base working folder *after* the elevated engine is shutdown to prevent the scheduling of PendingFileRenameOptions during clean up. Fixes 8053 --- src/burn/engine/engine.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/burn/engine/engine.cpp') diff --git a/src/burn/engine/engine.cpp b/src/burn/engine/engine.cpp index d7ef40d7..5fec289d 100644 --- a/src/burn/engine/engine.cpp +++ b/src/burn/engine/engine.cpp @@ -239,11 +239,6 @@ LExit: LoggingOpenFailed(); } - BootstrapperApplicationRemove(&engineState.userExperience); - - CacheRemoveBaseWorkingFolder(&engineState.cache); - CacheUninitialize(&engineState.cache); - // If this is a related bundle (but not an update) suppress restart and return the standard restart error code. if (engineState.fRestart && BOOTSTRAPPER_RELATION_NONE != engineState.command.relationType && BOOTSTRAPPER_RELATION_UPDATE != engineState.command.relationType) { @@ -312,6 +307,10 @@ LExit: LogId(REPORT_STANDARD, MSG_EXITING_ELEVATED, FAILED(hr) ? (int)hr : *pdwExitCode); } + BootstrapperApplicationRemove(&engineState.userExperience); + + CacheRemoveBaseWorkingFolder(&engineState.cache); + UninitializeEngineState(&engineState); if (fXmlInitialized) @@ -433,6 +432,7 @@ static void UninitializeEngineState( PackagesUninitialize(&pEngineState->packages); SectionUninitialize(&pEngineState->section); ContainersUninitialize(&pEngineState->containers); + CacheUninitialize(&pEngineState->cache); ReleaseStr(pEngineState->command.wzBootstrapperApplicationDataPath); ReleaseStr(pEngineState->command.wzBootstrapperWorkingFolder); -- cgit v1.2.3-55-g6feb