diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-03-29 19:14:06 +1000 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-03-30 21:40:34 +1000 |
commit | 0354a00e74492ad8d930c5bf499bc8606e48b1c9 (patch) | |
tree | 5640d653449287699b4cd08cb6b64fe27c4fa8af /src/engine/engine.cpp | |
parent | 6ce359752afac0d3d70c2cf5fabd7d92859564ee (diff) | |
download | wix-0354a00e74492ad8d930c5bf499bc8606e48b1c9.tar.gz wix-0354a00e74492ad8d930c5bf499bc8606e48b1c9.tar.bz2 wix-0354a00e74492ad8d930c5bf499bc8606e48b1c9.zip |
Add support for BundleExtensions.
Diffstat (limited to 'src/engine/engine.cpp')
-rw-r--r-- | src/engine/engine.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 341fd471..488dbfe8 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp | |||
@@ -352,6 +352,8 @@ static void UninitializeEngineState( | |||
352 | 352 | ||
353 | ReleaseHandle(pEngineState->hMessageWindowThread); | 353 | ReleaseHandle(pEngineState->hMessageWindowThread); |
354 | 354 | ||
355 | BurnExtensionUninitialize(&pEngineState->extensions); | ||
356 | |||
355 | ::DeleteCriticalSection(&pEngineState->userExperience.csEngineActive); | 357 | ::DeleteCriticalSection(&pEngineState->userExperience.csEngineActive); |
356 | UserExperienceUninitialize(&pEngineState->userExperience); | 358 | UserExperienceUninitialize(&pEngineState->userExperience); |
357 | 359 | ||
@@ -493,6 +495,7 @@ static HRESULT RunNormal( | |||
493 | HANDLE hPipesCreatedEvent = NULL; | 495 | HANDLE hPipesCreatedEvent = NULL; |
494 | BOOL fContinueExecution = TRUE; | 496 | BOOL fContinueExecution = TRUE; |
495 | BOOL fReloadApp = FALSE; | 497 | BOOL fReloadApp = FALSE; |
498 | BURN_EXTENSION_ENGINE_CONTEXT extensionEngineContext = { }; | ||
496 | 499 | ||
497 | // Initialize logging. | 500 | // Initialize logging. |
498 | hr = LoggingOpen(&pEngineState->log, &pEngineState->variables, pEngineState->command.display, pEngineState->registration.sczDisplayName); | 501 | hr = LoggingOpen(&pEngineState->log, &pEngineState->variables, pEngineState->command.display, pEngineState->registration.sczDisplayName); |
@@ -537,6 +540,13 @@ static HRESULT RunNormal( | |||
537 | ExitOnFailure(hr, "Failed to set layout directory variable to value provided from command-line."); | 540 | ExitOnFailure(hr, "Failed to set layout directory variable to value provided from command-line."); |
538 | } | 541 | } |
539 | 542 | ||
543 | // Setup the extension engine. | ||
544 | extensionEngineContext.pEngineState = pEngineState; | ||
545 | |||
546 | // Load the extensions. | ||
547 | hr = BurnExtensionLoad(&pEngineState->extensions, &extensionEngineContext); | ||
548 | ExitOnFailure(hr, "Failed to load BundleExtensions."); | ||
549 | |||
540 | do | 550 | do |
541 | { | 551 | { |
542 | fReloadApp = FALSE; | 552 | fReloadApp = FALSE; |
@@ -546,6 +556,8 @@ static HRESULT RunNormal( | |||
546 | } while (fReloadApp); | 556 | } while (fReloadApp); |
547 | 557 | ||
548 | LExit: | 558 | LExit: |
559 | BurnExtensionUnload(&pEngineState->extensions); | ||
560 | |||
549 | // If the message window is still around, close it. | 561 | // If the message window is still around, close it. |
550 | UiCloseMessageWindow(pEngineState); | 562 | UiCloseMessageWindow(pEngineState); |
551 | 563 | ||