aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-05-13 13:50:50 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-05-14 11:12:31 -0500
commit6a6974a15deb6edf593736cdb8043bfb93064782 (patch)
tree0ae2afffcd02967ba3fe0f0a5d3e9273811f1e6f /src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
parent7d56566b7c51c49ded526466dfae6af9e1709040 (diff)
downloadwix-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.h18
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
1497extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)(); 1497struct BOOTSTRAPPER_DESTROY_ARGS
1498{
1499 DWORD cbSize;
1500 BOOL fReload;
1501};
1502
1503struct BOOTSTRAPPER_DESTROY_RESULTS
1504{
1505 DWORD cbSize;
1506 BOOL fDisableUnloading; // indicates the BA dll must not be unloaded after BootstrapperApplicationDestroy.
1507};
1508
1509extern "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
1518extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)( 1532extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)(