diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-05-13 13:50:50 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-05-14 11:12:31 -0500 |
commit | 6a6974a15deb6edf593736cdb8043bfb93064782 (patch) | |
tree | 0ae2afffcd02967ba3fe0f0a5d3e9273811f1e6f /src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h | |
parent | 7d56566b7c51c49ded526466dfae6af9e1709040 (diff) | |
download | wix-6a6974a15deb6edf593736cdb8043bfb93064782.tar.gz wix-6a6974a15deb6edf593736cdb8043bfb93064782.tar.bz2 wix-6a6974a15deb6edf593736cdb8043bfb93064782.zip |
Move infinite loop detection into the hosts.
Tell the BA during Destroy whether it will be reloaded, and let the BA decide then whether it's module should be unloaded.
Show error when infinite prereq loop detected.
Only clip the exit code if they're Win32 errors.
Set related bundle type to none to avoid downgrades during preqba.
Diffstat (limited to 'src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h')
-rw-r--r-- | src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h index 228cb6ff..ea3be214 100644 --- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h +++ b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h | |||
@@ -1494,7 +1494,22 @@ extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_PROC)( | |||
1494 | __in_opt LPVOID pvContext | 1494 | __in_opt LPVOID pvContext |
1495 | ); | 1495 | ); |
1496 | 1496 | ||
1497 | extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)(); | 1497 | struct BOOTSTRAPPER_DESTROY_ARGS |
1498 | { | ||
1499 | DWORD cbSize; | ||
1500 | BOOL fReload; | ||
1501 | }; | ||
1502 | |||
1503 | struct BOOTSTRAPPER_DESTROY_RESULTS | ||
1504 | { | ||
1505 | DWORD cbSize; | ||
1506 | BOOL fDisableUnloading; // indicates the BA dll must not be unloaded after BootstrapperApplicationDestroy. | ||
1507 | }; | ||
1508 | |||
1509 | extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)( | ||
1510 | __in const BOOTSTRAPPER_DESTROY_ARGS* pArgs, | ||
1511 | __inout BOOTSTRAPPER_DESTROY_RESULTS* pResults | ||
1512 | ); | ||
1498 | 1513 | ||
1499 | 1514 | ||
1500 | 1515 | ||
@@ -1512,7 +1527,6 @@ struct BOOTSTRAPPER_CREATE_RESULTS | |||
1512 | DWORD cbSize; | 1527 | DWORD cbSize; |
1513 | PFN_BOOTSTRAPPER_APPLICATION_PROC pfnBootstrapperApplicationProc; | 1528 | PFN_BOOTSTRAPPER_APPLICATION_PROC pfnBootstrapperApplicationProc; |
1514 | LPVOID pvBootstrapperApplicationProcContext; | 1529 | LPVOID pvBootstrapperApplicationProcContext; |
1515 | BOOL fDisableUnloading; // indicates the BA dll must not be unloaded after BootstrapperApplicationDestroy. | ||
1516 | }; | 1530 | }; |
1517 | 1531 | ||
1518 | extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)( | 1532 | extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)( |