diff --git a/src/burn/engine/engine.vcxproj b/src/burn/engine/engine.vcxproj
index 67e04a85..0ddcd98f 100644
--- a/src/burn/engine/engine.vcxproj
+++ b/src/burn/engine/engine.vcxproj
@@ -78,6 +78,8 @@
+
+
diff --git a/src/burn/engine/engine.vcxproj.filters b/src/burn/engine/engine.vcxproj.filters
index b07063ce..36d8f158 100644
--- a/src/burn/engine/engine.vcxproj.filters
+++ b/src/burn/engine/engine.vcxproj.filters
@@ -212,6 +212,12 @@
Header Files
+
+ Header Files
+
+
+ Header Files
+
Header Files
diff --git a/src/burn/engine/precomp.h b/src/burn/engine/precomp.h
index 4f9eb897..5435fb6b 100644
--- a/src/burn/engine/precomp.h
+++ b/src/burn/engine/precomp.h
@@ -67,6 +67,8 @@
#include
#include
+#include "BootstrapperEngine.h"
+#include "BootstrapperApplication.h"
#include "IBootstrapperEngine.h"
#include "IBootstrapperApplication.h"
diff --git a/src/burn/inc/BootstrapperApplication.h b/src/burn/inc/BootstrapperApplication.h
new file mode 100644
index 00000000..f81e32f1
--- /dev/null
+++ b/src/burn/inc/BootstrapperApplication.h
@@ -0,0 +1,107 @@
+//-------------------------------------------------------------------------------------------------
+//
+// Copyright (c) 2004, Outercurve Foundation.
+// This software is released under Microsoft Reciprocal License (MS-RL).
+// The license and further copyright text can be found in the file
+// LICENSE.TXT at the root directory of the distribution.
+//
+//-------------------------------------------------------------------------------------------------
+
+#pragma once
+
+enum BOOTSTRAPPER_DISPLAY
+{
+ BOOTSTRAPPER_DISPLAY_UNKNOWN,
+ BOOTSTRAPPER_DISPLAY_EMBEDDED,
+ BOOTSTRAPPER_DISPLAY_NONE,
+ BOOTSTRAPPER_DISPLAY_PASSIVE,
+ BOOTSTRAPPER_DISPLAY_FULL,
+};
+
+enum BOOTSTRAPPER_RESTART
+{
+ BOOTSTRAPPER_RESTART_UNKNOWN,
+ BOOTSTRAPPER_RESTART_NEVER,
+ BOOTSTRAPPER_RESTART_PROMPT,
+ BOOTSTRAPPER_RESTART_AUTOMATIC,
+ BOOTSTRAPPER_RESTART_ALWAYS,
+};
+
+enum BOOTSTRAPPER_RESUME_TYPE
+{
+ BOOTSTRAPPER_RESUME_TYPE_NONE,
+ BOOTSTRAPPER_RESUME_TYPE_INVALID, // resume information is present but invalid
+ BOOTSTRAPPER_RESUME_TYPE_INTERRUPTED, // relaunched after an unexpected interruption
+ BOOTSTRAPPER_RESUME_TYPE_REBOOT_PENDING, // reboot has not taken place yet
+ BOOTSTRAPPER_RESUME_TYPE_REBOOT, // relaunched after reboot
+ BOOTSTRAPPER_RESUME_TYPE_SUSPEND, // relaunched after suspend
+ BOOTSTRAPPER_RESUME_TYPE_ARP, // launched from ARP
+};
+
+enum BOOTSTRAPPER_ERROR_TYPE
+{
+ BOOTSTRAPPER_ERROR_TYPE_ELEVATE, // error occurred trying to elevate.
+ BOOTSTRAPPER_ERROR_TYPE_WINDOWS_INSTALLER, // error came from windows installer.
+ BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package.
+ BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server.
+ BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy.
+ BOOTSTRAPPER_ERROR_TYPE_APPLY, // error occurred during apply.
+};
+
+enum BOOTSTRAPPER_RELATED_OPERATION
+{
+ BOOTSTRAPPER_RELATED_OPERATION_NONE,
+ BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE,
+ BOOTSTRAPPER_RELATED_OPERATION_MINOR_UPDATE,
+ BOOTSTRAPPER_RELATED_OPERATION_MAJOR_UPGRADE,
+ BOOTSTRAPPER_RELATED_OPERATION_REMOVE,
+ BOOTSTRAPPER_RELATED_OPERATION_INSTALL,
+ BOOTSTRAPPER_RELATED_OPERATION_REPAIR,
+};
+
+enum BOOTSTRAPPER_CACHE_OPERATION
+{
+ BOOTSTRAPPER_CACHE_OPERATION_COPY,
+ BOOTSTRAPPER_CACHE_OPERATION_DOWNLOAD,
+ BOOTSTRAPPER_CACHE_OPERATION_EXTRACT,
+};
+
+enum BOOTSTRAPPER_APPLY_RESTART
+{
+ BOOTSTRAPPER_APPLY_RESTART_NONE,
+ BOOTSTRAPPER_APPLY_RESTART_REQUIRED,
+ BOOTSTRAPPER_APPLY_RESTART_INITIATED,
+};
+
+enum BOOTSTRAPPER_RELATION_TYPE
+{
+ BOOTSTRAPPER_RELATION_NONE,
+ BOOTSTRAPPER_RELATION_DETECT,
+ BOOTSTRAPPER_RELATION_UPGRADE,
+ BOOTSTRAPPER_RELATION_ADDON,
+ BOOTSTRAPPER_RELATION_PATCH,
+ BOOTSTRAPPER_RELATION_DEPENDENT,
+ BOOTSTRAPPER_RELATION_UPDATE,
+};
+
+struct BOOTSTRAPPER_COMMAND
+{
+ BOOTSTRAPPER_ACTION action;
+ BOOTSTRAPPER_DISPLAY display;
+ BOOTSTRAPPER_RESTART restart;
+
+ LPWSTR wzCommandLine;
+ int nCmdShow;
+
+ BOOTSTRAPPER_RESUME_TYPE resumeType;
+ HWND hwndSplashScreen;
+
+ // If this was run from a related bundle, specifies the relation type
+ BOOTSTRAPPER_RELATION_TYPE relationType;
+ BOOL fPassthrough;
+
+ LPWSTR wzLayoutDirectory;
+};
+
+
+extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)();
diff --git a/src/burn/inc/BootstrapperEngine.h b/src/burn/inc/BootstrapperEngine.h
new file mode 100644
index 00000000..74ad9dbd
--- /dev/null
+++ b/src/burn/inc/BootstrapperEngine.h
@@ -0,0 +1,102 @@
+//-------------------------------------------------------------------------------------------------
+//
+// Copyright (c) 2004, Outercurve Foundation.
+// This software is released under Microsoft Reciprocal License (MS-RL).
+// The license and further copyright text can be found in the file
+// LICENSE.TXT at the root directory of the distribution.
+//
+//-------------------------------------------------------------------------------------------------
+
+#pragma once
+
+#define IDERROR -1
+#define IDNOACTION 0
+
+#define IDDOWNLOAD 101 // Only valid as a return code from OnResolveSource() to instruct the engine to use the download source.
+#define IDRESTART 102
+#define IDSUSPEND 103
+#define IDRELOAD_BOOTSTRAPPER 104
+
+// Note that ordering of the enumeration values is important.
+// Some code paths use < or > comparisions and simply reording values will break those comparisons.
+enum BOOTSTRAPPER_ACTION
+{
+ BOOTSTRAPPER_ACTION_UNKNOWN,
+ BOOTSTRAPPER_ACTION_HELP,
+ BOOTSTRAPPER_ACTION_LAYOUT,
+ BOOTSTRAPPER_ACTION_UNINSTALL,
+ BOOTSTRAPPER_ACTION_CACHE,
+ BOOTSTRAPPER_ACTION_INSTALL,
+ BOOTSTRAPPER_ACTION_MODIFY,
+ BOOTSTRAPPER_ACTION_REPAIR,
+ BOOTSTRAPPER_ACTION_UPDATE_REPLACE,
+ BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED,
+};
+
+enum BOOTSTRAPPER_ACTION_STATE
+{
+ BOOTSTRAPPER_ACTION_STATE_NONE,
+ BOOTSTRAPPER_ACTION_STATE_UNINSTALL,
+ BOOTSTRAPPER_ACTION_STATE_INSTALL,
+ BOOTSTRAPPER_ACTION_STATE_ADMIN_INSTALL,
+ BOOTSTRAPPER_ACTION_STATE_MODIFY,
+ BOOTSTRAPPER_ACTION_STATE_REPAIR,
+ BOOTSTRAPPER_ACTION_STATE_MINOR_UPGRADE,
+ BOOTSTRAPPER_ACTION_STATE_MAJOR_UPGRADE,
+ BOOTSTRAPPER_ACTION_STATE_PATCH,
+};
+
+enum BOOTSTRAPPER_PACKAGE_STATE
+{
+ BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN,
+ BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE,
+ BOOTSTRAPPER_PACKAGE_STATE_ABSENT,
+ BOOTSTRAPPER_PACKAGE_STATE_CACHED,
+ BOOTSTRAPPER_PACKAGE_STATE_PRESENT,
+ BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED,
+};
+
+enum BOOTSTRAPPER_REQUEST_STATE
+{
+ BOOTSTRAPPER_REQUEST_STATE_NONE,
+ BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT,
+ BOOTSTRAPPER_REQUEST_STATE_ABSENT,
+ BOOTSTRAPPER_REQUEST_STATE_CACHE,
+ BOOTSTRAPPER_REQUEST_STATE_PRESENT,
+ BOOTSTRAPPER_REQUEST_STATE_REPAIR,
+};
+
+enum BOOTSTRAPPER_FEATURE_STATE
+{
+ BOOTSTRAPPER_FEATURE_STATE_UNKNOWN,
+ BOOTSTRAPPER_FEATURE_STATE_ABSENT,
+ BOOTSTRAPPER_FEATURE_STATE_ADVERTISED,
+ BOOTSTRAPPER_FEATURE_STATE_LOCAL,
+ BOOTSTRAPPER_FEATURE_STATE_SOURCE,
+};
+
+enum BOOTSTRAPPER_FEATURE_ACTION
+{
+ BOOTSTRAPPER_FEATURE_ACTION_NONE,
+ BOOTSTRAPPER_FEATURE_ACTION_ADDLOCAL,
+ BOOTSTRAPPER_FEATURE_ACTION_ADDSOURCE,
+ BOOTSTRAPPER_FEATURE_ACTION_ADDDEFAULT,
+ BOOTSTRAPPER_FEATURE_ACTION_REINSTALL,
+ BOOTSTRAPPER_FEATURE_ACTION_ADVERTISE,
+ BOOTSTRAPPER_FEATURE_ACTION_REMOVE,
+};
+
+enum BOOTSTRAPPER_LOG_LEVEL
+{
+ BOOTSTRAPPER_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
+ BOOTSTRAPPER_LOG_LEVEL_STANDARD, // written if reporting is on
+ BOOTSTRAPPER_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
+ BOOTSTRAPPER_LOG_LEVEL_DEBUG, // reporting useful when debugging code
+ BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
+};
+
+enum BOOTSTRAPPER_UPDATE_HASH_TYPE
+{
+ BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE,
+ BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA1,
+};
diff --git a/src/burn/inc/IBootstrapperApplication.h b/src/burn/inc/IBootstrapperApplication.h
index de685ca7..1bd3afa4 100644
--- a/src/burn/inc/IBootstrapperApplication.h
+++ b/src/burn/inc/IBootstrapperApplication.h
@@ -5,118 +5,11 @@
// The license and further copyright text can be found in the file
// LICENSE.TXT at the root directory of the distribution.
//
-//
-//
-// IBootstrapperApplication implemented by a bootstrapper application and used by bootstrapper engine.
-//
//-------------------------------------------------------------------------------------------------
#pragma once
-enum BOOTSTRAPPER_DISPLAY
-{
- BOOTSTRAPPER_DISPLAY_UNKNOWN,
- BOOTSTRAPPER_DISPLAY_EMBEDDED,
- BOOTSTRAPPER_DISPLAY_NONE,
- BOOTSTRAPPER_DISPLAY_PASSIVE,
- BOOTSTRAPPER_DISPLAY_FULL,
-};
-
-
-enum BOOTSTRAPPER_RESTART
-{
- BOOTSTRAPPER_RESTART_UNKNOWN,
- BOOTSTRAPPER_RESTART_NEVER,
- BOOTSTRAPPER_RESTART_PROMPT,
- BOOTSTRAPPER_RESTART_AUTOMATIC,
- BOOTSTRAPPER_RESTART_ALWAYS,
-};
-
-
-enum BOOTSTRAPPER_RESUME_TYPE
-{
- BOOTSTRAPPER_RESUME_TYPE_NONE,
- BOOTSTRAPPER_RESUME_TYPE_INVALID, // resume information is present but invalid
- BOOTSTRAPPER_RESUME_TYPE_INTERRUPTED, // relaunched after an unexpected interruption
- BOOTSTRAPPER_RESUME_TYPE_REBOOT_PENDING, // reboot has not taken place yet
- BOOTSTRAPPER_RESUME_TYPE_REBOOT, // relaunched after reboot
- BOOTSTRAPPER_RESUME_TYPE_SUSPEND, // relaunched after suspend
- BOOTSTRAPPER_RESUME_TYPE_ARP, // launched from ARP
-};
-
-
-enum BOOTSTRAPPER_ERROR_TYPE
-{
- BOOTSTRAPPER_ERROR_TYPE_ELEVATE, // error occurred trying to elevate.
- BOOTSTRAPPER_ERROR_TYPE_WINDOWS_INSTALLER, // error came from windows installer.
- BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package.
- BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server.
- BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy.
- BOOTSTRAPPER_ERROR_TYPE_APPLY, // error occurred during apply.
-};
-
-
-enum BOOTSTRAPPER_RELATED_OPERATION
-{
- BOOTSTRAPPER_RELATED_OPERATION_NONE,
- BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE,
- BOOTSTRAPPER_RELATED_OPERATION_MINOR_UPDATE,
- BOOTSTRAPPER_RELATED_OPERATION_MAJOR_UPGRADE,
- BOOTSTRAPPER_RELATED_OPERATION_REMOVE,
- BOOTSTRAPPER_RELATED_OPERATION_INSTALL,
- BOOTSTRAPPER_RELATED_OPERATION_REPAIR,
-};
-
-
-enum BOOTSTRAPPER_CACHE_OPERATION
-{
- BOOTSTRAPPER_CACHE_OPERATION_COPY,
- BOOTSTRAPPER_CACHE_OPERATION_DOWNLOAD,
- BOOTSTRAPPER_CACHE_OPERATION_EXTRACT,
-};
-
-
-enum BOOTSTRAPPER_APPLY_RESTART
-{
- BOOTSTRAPPER_APPLY_RESTART_NONE,
- BOOTSTRAPPER_APPLY_RESTART_REQUIRED,
- BOOTSTRAPPER_APPLY_RESTART_INITIATED,
-};
-
-
-enum BOOTSTRAPPER_RELATION_TYPE
-{
- BOOTSTRAPPER_RELATION_NONE,
- BOOTSTRAPPER_RELATION_DETECT,
- BOOTSTRAPPER_RELATION_UPGRADE,
- BOOTSTRAPPER_RELATION_ADDON,
- BOOTSTRAPPER_RELATION_PATCH,
- BOOTSTRAPPER_RELATION_DEPENDENT,
- BOOTSTRAPPER_RELATION_UPDATE,
-};
-
-
-struct BOOTSTRAPPER_COMMAND
-{
- BOOTSTRAPPER_ACTION action;
- BOOTSTRAPPER_DISPLAY display;
- BOOTSTRAPPER_RESTART restart;
-
- LPWSTR wzCommandLine;
- int nCmdShow;
-
- BOOTSTRAPPER_RESUME_TYPE resumeType;
- HWND hwndSplashScreen;
-
- // If this was run from a related bundle, specifies the relation type
- BOOTSTRAPPER_RELATION_TYPE relationType;
- BOOL fPassthrough;
-
- LPWSTR wzLayoutDirectory;
-};
-
-
DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-AB06-099D717C67FE")
{
// OnStartup - called when the engine is ready for the bootstrapper application to start.
@@ -754,10 +647,9 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
};
+// Move into BootstrapperApplication.h once IBootstrapperEngine and IBootstrapperApplication have been moved out of the engine.
extern "C" typedef HRESULT (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)(
__in IBootstrapperEngine* pEngine,
__in const BOOTSTRAPPER_COMMAND* pCommand,
__out IBootstrapperApplication** ppApplication
);
-
-extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)();
diff --git a/src/burn/inc/IBootstrapperEngine.h b/src/burn/inc/IBootstrapperEngine.h
index 82a98ddc..de11cd4a 100644
--- a/src/burn/inc/IBootstrapperEngine.h
+++ b/src/burn/inc/IBootstrapperEngine.h
@@ -5,106 +5,10 @@
// The license and further copyright text can be found in the file
// LICENSE.TXT at the root directory of the distribution.
//
-//
-//
-// IBoostrapperEngine implemented by engine and used by bootstrapper application.
-//
//-------------------------------------------------------------------------------------------------
#pragma once
-#define IDERROR -1
-#define IDNOACTION 0
-
-#define IDDOWNLOAD 101 // Only valid as a return code from OnResolveSource() to instruct the engine to use the download source.
-#define IDRESTART 102
-#define IDSUSPEND 103
-#define IDRELOAD_BOOTSTRAPPER 104
-
-// Note that ordering of the enumeration values is important.
-// Some code paths use < or > comparisions and simply reording values will break those comparisons.
-enum BOOTSTRAPPER_ACTION
-{
- BOOTSTRAPPER_ACTION_UNKNOWN,
- BOOTSTRAPPER_ACTION_HELP,
- BOOTSTRAPPER_ACTION_LAYOUT,
- BOOTSTRAPPER_ACTION_UNINSTALL,
- BOOTSTRAPPER_ACTION_CACHE,
- BOOTSTRAPPER_ACTION_INSTALL,
- BOOTSTRAPPER_ACTION_MODIFY,
- BOOTSTRAPPER_ACTION_REPAIR,
- BOOTSTRAPPER_ACTION_UPDATE_REPLACE,
- BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED,
-};
-
-enum BOOTSTRAPPER_ACTION_STATE
-{
- BOOTSTRAPPER_ACTION_STATE_NONE,
- BOOTSTRAPPER_ACTION_STATE_UNINSTALL,
- BOOTSTRAPPER_ACTION_STATE_INSTALL,
- BOOTSTRAPPER_ACTION_STATE_ADMIN_INSTALL,
- BOOTSTRAPPER_ACTION_STATE_MODIFY,
- BOOTSTRAPPER_ACTION_STATE_REPAIR,
- BOOTSTRAPPER_ACTION_STATE_MINOR_UPGRADE,
- BOOTSTRAPPER_ACTION_STATE_MAJOR_UPGRADE,
- BOOTSTRAPPER_ACTION_STATE_PATCH,
-};
-
-enum BOOTSTRAPPER_PACKAGE_STATE
-{
- BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN,
- BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE,
- BOOTSTRAPPER_PACKAGE_STATE_ABSENT,
- BOOTSTRAPPER_PACKAGE_STATE_CACHED,
- BOOTSTRAPPER_PACKAGE_STATE_PRESENT,
- BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED,
-};
-
-enum BOOTSTRAPPER_REQUEST_STATE
-{
- BOOTSTRAPPER_REQUEST_STATE_NONE,
- BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT,
- BOOTSTRAPPER_REQUEST_STATE_ABSENT,
- BOOTSTRAPPER_REQUEST_STATE_CACHE,
- BOOTSTRAPPER_REQUEST_STATE_PRESENT,
- BOOTSTRAPPER_REQUEST_STATE_REPAIR,
-};
-
-enum BOOTSTRAPPER_FEATURE_STATE
-{
- BOOTSTRAPPER_FEATURE_STATE_UNKNOWN,
- BOOTSTRAPPER_FEATURE_STATE_ABSENT,
- BOOTSTRAPPER_FEATURE_STATE_ADVERTISED,
- BOOTSTRAPPER_FEATURE_STATE_LOCAL,
- BOOTSTRAPPER_FEATURE_STATE_SOURCE,
-};
-
-enum BOOTSTRAPPER_FEATURE_ACTION
-{
- BOOTSTRAPPER_FEATURE_ACTION_NONE,
- BOOTSTRAPPER_FEATURE_ACTION_ADDLOCAL,
- BOOTSTRAPPER_FEATURE_ACTION_ADDSOURCE,
- BOOTSTRAPPER_FEATURE_ACTION_ADDDEFAULT,
- BOOTSTRAPPER_FEATURE_ACTION_REINSTALL,
- BOOTSTRAPPER_FEATURE_ACTION_ADVERTISE,
- BOOTSTRAPPER_FEATURE_ACTION_REMOVE,
-};
-
-enum BOOTSTRAPPER_LOG_LEVEL
-{
- BOOTSTRAPPER_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
- BOOTSTRAPPER_LOG_LEVEL_STANDARD, // written if reporting is on
- BOOTSTRAPPER_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
- BOOTSTRAPPER_LOG_LEVEL_DEBUG, // reporting useful when debugging code
- BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
-};
-
-enum BOOTSTRAPPER_UPDATE_HASH_TYPE
-{
- BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE,
- BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA1,
-};
-
DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-81512C29C2FB")
{
diff --git a/src/ext/BalExtension/mba/host/precomp.h b/src/ext/BalExtension/mba/host/precomp.h
index 7ba51e29..824501ec 100644
--- a/src/ext/BalExtension/mba/host/precomp.h
+++ b/src/ext/BalExtension/mba/host/precomp.h
@@ -27,6 +27,8 @@
#include
#include
+#include "BootstrapperEngine.h"
+#include "BootstrapperApplication.h"
#include "IBootstrapperEngine.h"
#include "IBootstrapperApplication.h"
#include "IBootstrapperApplicationFactory.h"
diff --git a/src/ext/BalExtension/wixstdba/precomp.h b/src/ext/BalExtension/wixstdba/precomp.h
index 58d46311..b16abd8f 100644
--- a/src/ext/BalExtension/wixstdba/precomp.h
+++ b/src/ext/BalExtension/wixstdba/precomp.h
@@ -38,6 +38,8 @@
#include "uriutil.h"
#include "xmlutil.h"
+#include "BootstrapperEngine.h"
+#include "BootstrapperApplication.h"
#include "IBootstrapperEngine.h"
#include "IBootstrapperApplication.h"
diff --git a/src/libs/balutil/inc/BalBaseBootstrapperApplication.h b/src/libs/balutil/inc/BalBaseBootstrapperApplication.h
index ccbbb712..169e9b77 100644
--- a/src/libs/balutil/inc/BalBaseBootstrapperApplication.h
+++ b/src/libs/balutil/inc/BalBaseBootstrapperApplication.h
@@ -10,6 +10,8 @@
#include
#include
+#include "BootstrapperEngine.h"
+#include "BootstrapperApplication.h"
#include "IBootstrapperEngine.h"
#include "IBootstrapperApplication.h"
diff --git a/src/libs/balutil/precomp.h b/src/libs/balutil/precomp.h
index c6d19800..8a19eb52 100644
--- a/src/libs/balutil/precomp.h
+++ b/src/libs/balutil/precomp.h
@@ -25,6 +25,8 @@
#include
#include
+#include "BootstrapperEngine.h"
+#include "BootstrapperApplication.h"
#include "IBootstrapperEngine.h"
#include "IBootstrapperApplication.h"
diff --git a/test/src/UnitTests/Burn/precomp.h b/test/src/UnitTests/Burn/precomp.h
index f1ea0225..8a765772 100644
--- a/test/src/UnitTests/Burn/precomp.h
+++ b/test/src/UnitTests/Burn/precomp.h
@@ -43,6 +43,8 @@
#include
+#include "BootstrapperEngine.h"
+#include "BootstrapperApplication.h"
#include "IBootstrapperEngine.h"
#include "IBootstrapperApplication.h"