aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2024-03-07 09:41:29 -0800
committerRob Mensching <rob@firegiant.com>2024-03-07 10:55:57 -0800
commit5baa1dfe8ba2a3bd4728bca118fe1de225f848d4 (patch)
tree4f1c216075173e0e4d0863ada195f21d7ec976e0
parentdea25ba9bcfd65200b60339c2e4bc060cdf20723 (diff)
downloadwix-5baa1dfe8ba2a3bd4728bca118fe1de225f848d4.tar.gz
wix-5baa1dfe8ba2a3bd4728bca118fe1de225f848d4.tar.bz2
wix-5baa1dfe8ba2a3bd4728bca118fe1de225f848d4.zip
Rename "bundle extension" to "bootstrapper extension" for more consistency
Also renames WixToolet.BextUtil nupkg to WixToolset.BootstrapperExtensionApi.
-rw-r--r--src/api/api.cmd2
-rw-r--r--src/api/burn/bextutil/BextBootstrapperExtensionEngine.cpp (renamed from src/api/burn/bextutil/BextBundleExtensionEngine.cpp)116
-rw-r--r--src/api/burn/bextutil/bextutil.cpp46
-rw-r--r--src/api/burn/bextutil/bextutil.nuspec4
-rw-r--r--src/api/burn/bextutil/bextutil.vcxproj16
-rw-r--r--src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props (renamed from src/api/burn/bextutil/build/WixToolset.BextUtil.props)0
-rw-r--r--src/api/burn/bextutil/inc/BextBaseBootstrapperExtension.h (renamed from src/api/burn/bextutil/inc/BextBaseBundleExtension.h)34
-rw-r--r--src/api/burn/bextutil/inc/BextBaseBootstrapperExtensionProc.h46
-rw-r--r--src/api/burn/bextutil/inc/BextBaseBundleExtensionProc.h46
-rw-r--r--src/api/burn/bextutil/inc/BextBootstrapperExtensionEngine.h (renamed from src/api/burn/bextutil/inc/BextBundleExtensionEngine.h)10
-rw-r--r--src/api/burn/bextutil/inc/IBootstrapperExtension.h21
-rw-r--r--src/api/burn/bextutil/inc/IBootstrapperExtensionEngine.h (renamed from src/api/burn/bextutil/inc/IBundleExtensionEngine.h)6
-rw-r--r--src/api/burn/bextutil/inc/IBundleExtension.h21
-rw-r--r--src/api/burn/bextutil/inc/bextutil.h24
-rw-r--r--src/api/burn/bextutil/precomp.h2
-rw-r--r--src/api/burn/inc/BootstrapperExtension.h61
-rw-r--r--src/api/burn/inc/BootstrapperExtensionEngine.h200
-rw-r--r--src/api/burn/inc/BundleExtension.h61
-rw-r--r--src/api/burn/inc/BundleExtensionEngine.h200
-rw-r--r--src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj6
-rw-r--r--src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters8
-rw-r--r--src/api/burn/test/BextUtilUnitTest/BootstrapperExtensionTests.cpp (renamed from src/api/burn/test/BextUtilUnitTest/BundleExtensionTests.cpp)18
-rw-r--r--src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.cpp42
-rw-r--r--src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.h9
-rw-r--r--src/api/burn/test/BextUtilUnitTest/TestBundleExtension.cpp42
-rw-r--r--src/api/burn/test/BextUtilUnitTest/TestBundleExtension.h9
-rw-r--r--src/api/burn/test/BextUtilUnitTest/precomp.h2
-rw-r--r--src/api/wix/WixToolset.Data/Burn/BurnConstants.cs6
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs6
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/WixBootstrapperExtensionSymbol.cs44
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/WixBundleCustomDataSymbol.cs12
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/WixBundleExtensionSymbol.cs44
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/WixSearchSymbol.cs12
-rw-r--r--src/api/wix/WixToolset.Extensibility/Services/IBurnBackendHelper.cs8
-rw-r--r--src/api/wix/WixToolset.Extensibility/Services/IParseHelper.cs4
-rw-r--r--src/burn/engine/EngineForExtension.cpp82
-rw-r--r--src/burn/engine/EngineForExtension.h2
-rw-r--r--src/burn/engine/burnextension.cpp88
-rw-r--r--src/burn/engine/burnextension.h2
-rw-r--r--src/burn/engine/engine.cpp2
-rw-r--r--src/burn/engine/engine.vcxproj4
-rw-r--r--src/burn/engine/precomp.h2
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/BundlePackage_Multiple_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/ExePackage_PerUserArpEntry_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/Failure_BundleD_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/MsuPackageFixture_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_modified_manifest.xml4
-rw-r--r--src/burn/test/BurnUnitTest/precomp.h2
-rw-r--r--src/clean.cmd1
-rw-r--r--src/ext/NetFx/be/NetfxBootstrapperExtension.cpp (renamed from src/ext/NetFx/be/NetfxBundleExtension.cpp)52
-rw-r--r--src/ext/NetFx/be/NetfxBootstrapperExtension.h17
-rw-r--r--src/ext/NetFx/be/NetfxBundleExtension.h17
-rw-r--r--src/ext/NetFx/be/detectnetcore.cpp2
-rw-r--r--src/ext/NetFx/be/detectnetcore.h2
-rw-r--r--src/ext/NetFx/be/detectnetcoresdk.cpp2
-rw-r--r--src/ext/NetFx/be/detectnetcoresdk.h2
-rw-r--r--src/ext/NetFx/be/detectnetcoresdkfeatureband.cpp2
-rw-r--r--src/ext/NetFx/be/detectnetcoresdkfeatureband.h2
-rw-r--r--src/ext/NetFx/be/netfxbe.cpp24
-rw-r--r--src/ext/NetFx/be/netfxbe.def4
-rw-r--r--src/ext/NetFx/be/netfxbe.vcxproj8
-rw-r--r--src/ext/NetFx/be/netfxsearch.cpp6
-rw-r--r--src/ext/NetFx/be/netfxsearch.h4
-rw-r--r--src/ext/NetFx/be/precomp.h4
-rw-r--r--src/ext/NetFx/wixext/NetFxCompiler.cs18
-rw-r--r--src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs6
-rw-r--r--src/ext/NetFx/wixlib/NetfxBootstrapperExtension_Platform.wxi (renamed from src/ext/NetFx/wixlib/NetfxBundleExtension_Platform.wxi)8
-rw-r--r--src/ext/NetFx/wixlib/NetfxBootstrapperExtension_arm64.wxs (renamed from src/ext/NetFx/wixlib/NetfxBundleExtension_arm64.wxs)2
-rw-r--r--src/ext/NetFx/wixlib/NetfxBootstrapperExtension_x64.wxs (renamed from src/ext/Util/wixlib/UtilBundleExtension_x64.wxs)2
-rw-r--r--src/ext/NetFx/wixlib/NetfxBootstrapperExtension_x86.wxs (renamed from src/ext/NetFx/wixlib/NetfxBundleExtension_x86.wxs)2
-rw-r--r--src/ext/Util/be/UtilBootstrapperExtension.cpp87
-rw-r--r--src/ext/Util/be/UtilBootstrapperExtension.h16
-rw-r--r--src/ext/Util/be/UtilBundleExtension.cpp87
-rw-r--r--src/ext/Util/be/UtilBundleExtension.h16
-rw-r--r--src/ext/Util/be/detectsha2support.cpp2
-rw-r--r--src/ext/Util/be/detectsha2support.h4
-rw-r--r--src/ext/Util/be/precomp.h4
-rw-r--r--src/ext/Util/be/utilbe.cpp26
-rw-r--r--src/ext/Util/be/utilbe.def4
-rw-r--r--src/ext/Util/be/utilbe.vcxproj8
-rw-r--r--src/ext/Util/be/utilsearch.cpp6
-rw-r--r--src/ext/Util/be/utilsearch.h4
-rw-r--r--src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs10
-rw-r--r--src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs4
-rw-r--r--src/ext/Util/wixext/UtilCompiler.cs6
-rw-r--r--src/ext/Util/wixlib/UtilBootstrapperExtension_Platform.wxi (renamed from src/ext/Util/wixlib/UtilBundleExtension_Platform.wxi)2
-rw-r--r--src/ext/Util/wixlib/UtilBootstrapperExtension_arm64.wxs (renamed from src/ext/Util/wixlib/UtilBundleExtension_arm64.wxs)2
-rw-r--r--src/ext/Util/wixlib/UtilBootstrapperExtension_x64.wxs (renamed from src/ext/NetFx/wixlib/NetfxBundleExtension_x64.wxs)2
-rw-r--r--src/ext/Util/wixlib/UtilBootstrapperExtension_x86.wxs (renamed from src/ext/Util/wixlib/UtilBundleExtension_x86.wxs)2
-rw-r--r--src/ext/beDecor.h8
-rw-r--r--src/internal/SetBuildNumber/Directory.Packages.props.pp13
-rw-r--r--src/wix/WixInternal.Core.TestPackage/BundleExtractor.cs16
-rw-r--r--src/wix/WixInternal.Core.TestPackage/ExtractBAContainerResult.cs34
-rw-r--r--src/wix/WixToolset.Core.Burn/Bind/BaseSearchFacade.cs4
-rw-r--r--src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs6
-rw-r--r--src/wix/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs14
-rw-r--r--src/wix/WixToolset.Core.Burn/Bundles/BurnCommon.cs6
-rw-r--r--src/wix/WixToolset.Core.Burn/Bundles/CreateBootstrapperExtensionManifestCommand.cs (renamed from src/wix/WixToolset.Core.Burn/Bundles/CreateBundleExtensionManifestCommand.cs)22
-rw-r--r--src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs12
-rw-r--r--src/wix/WixToolset.Core.Burn/Bundles/OrderSearchesCommand.cs6
-rw-r--r--src/wix/WixToolset.Core.Burn/ExtensibilityServices/BurnBackendHelper.cs24
-rw-r--r--src/wix/WixToolset.Core.Burn/IInternalBurnBackendHelper.cs2
-rw-r--r--src/wix/WixToolset.Core/Compiler.cs8
-rw-r--r--src/wix/WixToolset.Core/Compiler_Bundle.cs35
-rw-r--r--src/wix/WixToolset.Core/ExtensibilityServices/ParseHelper.cs8
-rw-r--r--src/wix/test/Example.Extension/Data/example.wxs2
-rw-r--r--src/wix/test/Example.Extension/ExampleCompilerExtension.cs4
-rw-r--r--src/wix/test/Example.Extension/ExampleSymbolDefinitions.cs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs6
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs46
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadInput/DuplicatePayloadNames.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BootstrapperExtension.wxs (renamed from src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleExtension.wxs)2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BootstrapperExtensionSearches.wxs (renamed from src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleExtensionSearches.wxs)0
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BundleWithSearches.wxs (renamed from src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleWithSearches.wxs)0
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/SimpleBootstrapperExtension.wxs (renamed from src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/SimpleBundleExtension.wxs)2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleCustomTable/BundleCustomTable.wxs2
119 files changed, 1082 insertions, 1087 deletions
diff --git a/src/api/api.cmd b/src/api/api.cmd
index 42453449..cae0cf5a 100644
--- a/src/api/api.cmd
+++ b/src/api/api.cmd
@@ -41,11 +41,13 @@ dotnet test ^
41@del "..\..\build\artifacts\WixToolset.Data.*.nupkg" 2> nul 41@del "..\..\build\artifacts\WixToolset.Data.*.nupkg" 2> nul
42@del "..\..\build\artifacts\WixToolset.Extensibility.*.nupkg" 2> nul 42@del "..\..\build\artifacts\WixToolset.Extensibility.*.nupkg" 2> nul
43@del "..\..\build\artifacts\WixToolset.BootstrapperApplicationApi.*.nupkg" 2> nul 43@del "..\..\build\artifacts\WixToolset.BootstrapperApplicationApi.*.nupkg" 2> nul
44@del "..\..\build\artifacts\WixToolset.BootstrapperExtensionApi.*.nupkg" 2> nul
44@del "%_L%\TestResults\api.trx" 2> nul 45@del "%_L%\TestResults\api.trx" 2> nul
45@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.bextutil" 2> nul 46@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.bextutil" 2> nul
46@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.data" 2> nul 47@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.data" 2> nul
47@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.extensibility" 2> nul 48@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.extensibility" 2> nul
48@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.bootstrapperapplicationapi" 2> nul 49@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.bootstrapperapplicationapi" 2> nul
50@rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.bootstrapperextensionapi" 2> nul
49@exit /b 51@exit /b
50 52
51:end 53:end
diff --git a/src/api/burn/bextutil/BextBundleExtensionEngine.cpp b/src/api/burn/bextutil/BextBootstrapperExtensionEngine.cpp
index 2c854817..a5e40c8e 100644
--- a/src/api/burn/bextutil/BextBundleExtensionEngine.cpp
+++ b/src/api/burn/bextutil/BextBootstrapperExtensionEngine.cpp
@@ -3,7 +3,7 @@
3#include "precomp.h" 3#include "precomp.h"
4 4
5 5
6class CBextBundleExtensionEngine : public IBundleExtensionEngine 6class CBextBootstrapperExtensionEngine : public IBootstrapperExtensionEngine
7{ 7{
8public: // IUnknown 8public: // IUnknown
9 virtual STDMETHODIMP QueryInterface( 9 virtual STDMETHODIMP QueryInterface(
@@ -18,9 +18,9 @@ public: // IUnknown
18 18
19 *ppvObject = NULL; 19 *ppvObject = NULL;
20 20
21 if (::IsEqualIID(__uuidof(IBundleExtensionEngine), riid)) 21 if (::IsEqualIID(__uuidof(IBootstrapperExtensionEngine), riid))
22 { 22 {
23 *ppvObject = static_cast<IBundleExtensionEngine*>(this); 23 *ppvObject = static_cast<IBootstrapperExtensionEngine*>(this);
24 } 24 }
25 else if (::IsEqualIID(IID_IUnknown, riid)) 25 else if (::IsEqualIID(IID_IUnknown, riid))
26 { 26 {
@@ -52,7 +52,7 @@ public: // IUnknown
52 return 0; 52 return 0;
53 } 53 }
54 54
55public: // IBundleExtensionEngine 55public: // IBootstrapperExtensionEngine
56 virtual STDMETHODIMP EscapeString( 56 virtual STDMETHODIMP EscapeString(
57 __in_z LPCWSTR wzIn, 57 __in_z LPCWSTR wzIn,
58 __out_ecount_opt(*pcchOut) LPWSTR wzOut, 58 __out_ecount_opt(*pcchOut) LPWSTR wzOut,
@@ -60,8 +60,8 @@ public: // IBundleExtensionEngine
60 ) 60 )
61 { 61 {
62 HRESULT hr = S_OK; 62 HRESULT hr = S_OK;
63 BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS args = { }; 63 BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_ARGS args = { };
64 BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS results = { }; 64 BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_RESULTS results = { };
65 65
66 ExitOnNull(pcchOut, hr, E_INVALIDARG, "pcchOut is required"); 66 ExitOnNull(pcchOut, hr, E_INVALIDARG, "pcchOut is required");
67 67
@@ -72,7 +72,7 @@ public: // IBundleExtensionEngine
72 results.wzOut = wzOut; 72 results.wzOut = wzOut;
73 results.cchOut = *pcchOut; 73 results.cchOut = *pcchOut;
74 74
75 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING, &args, &results, m_pvBundleExtensionEngineProcContext); 75 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
76 76
77 *pcchOut = results.cchOut; 77 *pcchOut = results.cchOut;
78 78
@@ -86,8 +86,8 @@ public: // IBundleExtensionEngine
86 ) 86 )
87 { 87 {
88 HRESULT hr = S_OK; 88 HRESULT hr = S_OK;
89 BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS args = { }; 89 BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_ARGS args = { };
90 BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS results = { }; 90 BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS results = { };
91 91
92 ExitOnNull(pf, hr, E_INVALIDARG, "pf is required"); 92 ExitOnNull(pf, hr, E_INVALIDARG, "pf is required");
93 93
@@ -96,7 +96,7 @@ public: // IBundleExtensionEngine
96 96
97 results.cbSize = sizeof(results); 97 results.cbSize = sizeof(results);
98 98
99 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION, &args, &results, m_pvBundleExtensionEngineProcContext); 99 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
100 100
101 *pf = results.f; 101 *pf = results.f;
102 102
@@ -111,8 +111,8 @@ public: // IBundleExtensionEngine
111 ) 111 )
112 { 112 {
113 HRESULT hr = S_OK; 113 HRESULT hr = S_OK;
114 BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS args = { }; 114 BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_ARGS args = { };
115 BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS results = { }; 115 BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_RESULTS results = { };
116 116
117 ExitOnNull(pcchOut, hr, E_INVALIDARG, "pcchOut is required"); 117 ExitOnNull(pcchOut, hr, E_INVALIDARG, "pcchOut is required");
118 118
@@ -123,7 +123,7 @@ public: // IBundleExtensionEngine
123 results.wzOut = wzOut; 123 results.wzOut = wzOut;
124 results.cchOut = *pcchOut; 124 results.cchOut = *pcchOut;
125 125
126 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING, &args, &results, m_pvBundleExtensionEngineProcContext); 126 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_FORMATSTRING, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
127 127
128 *pcchOut = results.cchOut; 128 *pcchOut = results.cchOut;
129 129
@@ -137,8 +137,8 @@ public: // IBundleExtensionEngine
137 ) 137 )
138 { 138 {
139 HRESULT hr = S_OK; 139 HRESULT hr = S_OK;
140 BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS args = { }; 140 BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS args = { };
141 BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS results = { }; 141 BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS results = { };
142 142
143 ExitOnNull(pllValue, hr, E_INVALIDARG, "pllValue is required"); 143 ExitOnNull(pllValue, hr, E_INVALIDARG, "pllValue is required");
144 144
@@ -147,7 +147,7 @@ public: // IBundleExtensionEngine
147 147
148 results.cbSize = sizeof(results); 148 results.cbSize = sizeof(results);
149 149
150 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC, &args, &results, m_pvBundleExtensionEngineProcContext); 150 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
151 151
152 *pllValue = results.llValue; 152 *pllValue = results.llValue;
153 153
@@ -163,8 +163,8 @@ public: // IBundleExtensionEngine
163 ) 163 )
164 { 164 {
165 HRESULT hr = S_OK; 165 HRESULT hr = S_OK;
166 BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS args = { }; 166 BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS args = { };
167 BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS results = { }; 167 BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS results = { };
168 168
169 ExitOnNull(pcchValue, hr, E_INVALIDARG, "pcchValue is required"); 169 ExitOnNull(pcchValue, hr, E_INVALIDARG, "pcchValue is required");
170 170
@@ -175,7 +175,7 @@ public: // IBundleExtensionEngine
175 results.wzValue = wzValue; 175 results.wzValue = wzValue;
176 results.cchValue = *pcchValue; 176 results.cchValue = *pcchValue;
177 177
178 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING, &args, &results, m_pvBundleExtensionEngineProcContext); 178 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
179 179
180 *pcchValue = results.cchValue; 180 *pcchValue = results.cchValue;
181 181
@@ -190,8 +190,8 @@ public: // IBundleExtensionEngine
190 ) 190 )
191 { 191 {
192 HRESULT hr = S_OK; 192 HRESULT hr = S_OK;
193 BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS args = { }; 193 BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS args = { };
194 BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS results = { }; 194 BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS results = { };
195 195
196 ExitOnNull(pcchValue, hr, E_INVALIDARG, "pcchValue is required"); 196 ExitOnNull(pcchValue, hr, E_INVALIDARG, "pcchValue is required");
197 197
@@ -202,7 +202,7 @@ public: // IBundleExtensionEngine
202 results.wzValue = wzValue; 202 results.wzValue = wzValue;
203 results.cchValue = *pcchValue; 203 results.cchValue = *pcchValue;
204 204
205 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION, &args, &results, m_pvBundleExtensionEngineProcContext); 205 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
206 206
207 *pcchValue = results.cchValue; 207 *pcchValue = results.cchValue;
208 208
@@ -211,12 +211,12 @@ public: // IBundleExtensionEngine
211 } 211 }
212 212
213 virtual STDMETHODIMP Log( 213 virtual STDMETHODIMP Log(
214 __in BUNDLE_EXTENSION_LOG_LEVEL level, 214 __in BOOTSTRAPPER_EXTENSION_LOG_LEVEL level,
215 __in_z LPCWSTR wzMessage 215 __in_z LPCWSTR wzMessage
216 ) 216 )
217 { 217 {
218 BUNDLE_EXTENSION_ENGINE_LOG_ARGS args = { }; 218 BOOTSTRAPPER_EXTENSION_ENGINE_LOG_ARGS args = { };
219 BUNDLE_EXTENSION_ENGINE_LOG_RESULTS results = { }; 219 BOOTSTRAPPER_EXTENSION_ENGINE_LOG_RESULTS results = { };
220 220
221 args.cbSize = sizeof(args); 221 args.cbSize = sizeof(args);
222 args.level = level; 222 args.level = level;
@@ -224,7 +224,7 @@ public: // IBundleExtensionEngine
224 224
225 results.cbSize = sizeof(results); 225 results.cbSize = sizeof(results);
226 226
227 return m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG, &args, &results, m_pvBundleExtensionEngineProcContext); 227 return m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_LOG, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
228 } 228 }
229 229
230 virtual STDMETHODIMP SetVariableNumeric( 230 virtual STDMETHODIMP SetVariableNumeric(
@@ -232,8 +232,8 @@ public: // IBundleExtensionEngine
232 __in LONGLONG llValue 232 __in LONGLONG llValue
233 ) 233 )
234 { 234 {
235 BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS args = { }; 235 BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS args = { };
236 BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS results = { }; 236 BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS results = { };
237 237
238 args.cbSize = sizeof(args); 238 args.cbSize = sizeof(args);
239 args.wzVariable = wzVariable; 239 args.wzVariable = wzVariable;
@@ -241,7 +241,7 @@ public: // IBundleExtensionEngine
241 241
242 results.cbSize = sizeof(results); 242 results.cbSize = sizeof(results);
243 243
244 return m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC, &args, &results, m_pvBundleExtensionEngineProcContext); 244 return m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
245 } 245 }
246 246
247 virtual STDMETHODIMP SetVariableString( 247 virtual STDMETHODIMP SetVariableString(
@@ -250,8 +250,8 @@ public: // IBundleExtensionEngine
250 __in BOOL fFormatted 250 __in BOOL fFormatted
251 ) 251 )
252 { 252 {
253 BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS args = { }; 253 BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS args = { };
254 BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS results = { }; 254 BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS results = { };
255 255
256 args.cbSize = sizeof(args); 256 args.cbSize = sizeof(args);
257 args.wzVariable = wzVariable; 257 args.wzVariable = wzVariable;
@@ -260,7 +260,7 @@ public: // IBundleExtensionEngine
260 260
261 results.cbSize = sizeof(results); 261 results.cbSize = sizeof(results);
262 262
263 return m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING, &args, &results, m_pvBundleExtensionEngineProcContext); 263 return m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
264 } 264 }
265 265
266 virtual STDMETHODIMP SetVariableVersion( 266 virtual STDMETHODIMP SetVariableVersion(
@@ -268,8 +268,8 @@ public: // IBundleExtensionEngine
268 __in_z_opt LPCWSTR wzValue 268 __in_z_opt LPCWSTR wzValue
269 ) 269 )
270 { 270 {
271 BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS args = { }; 271 BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS args = { };
272 BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS results = { }; 272 BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS results = { };
273 273
274 args.cbSize = sizeof(args); 274 args.cbSize = sizeof(args);
275 args.wzVariable = wzVariable; 275 args.wzVariable = wzVariable;
@@ -277,7 +277,7 @@ public: // IBundleExtensionEngine
277 277
278 results.cbSize = sizeof(results); 278 results.cbSize = sizeof(results);
279 279
280 return m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION, &args, &results, m_pvBundleExtensionEngineProcContext); 280 return m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
281 } 281 }
282 282
283 virtual STDMETHODIMP CompareVersions( 283 virtual STDMETHODIMP CompareVersions(
@@ -287,8 +287,8 @@ public: // IBundleExtensionEngine
287 ) 287 )
288 { 288 {
289 HRESULT hr = S_OK; 289 HRESULT hr = S_OK;
290 BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS args = { }; 290 BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS args = { };
291 BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS results = { }; 291 BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS results = { };
292 292
293 ExitOnNull(pnResult, hr, E_INVALIDARG, "pnResult is required"); 293 ExitOnNull(pnResult, hr, E_INVALIDARG, "pnResult is required");
294 294
@@ -298,7 +298,7 @@ public: // IBundleExtensionEngine
298 298
299 results.cbSize = sizeof(results); 299 results.cbSize = sizeof(results);
300 300
301 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS, &args, &results, m_pvBundleExtensionEngineProcContext); 301 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
302 302
303 *pnResult = results.nResult; 303 *pnResult = results.nResult;
304 304
@@ -314,8 +314,8 @@ public: // IBundleExtensionEngine
314 ) 314 )
315 { 315 {
316 HRESULT hr = S_OK; 316 HRESULT hr = S_OK;
317 BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS args = { }; 317 BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS args = { };
318 BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS results = { }; 318 BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS results = { };
319 319
320 ExitOnNull(pcchValue, hr, E_INVALIDARG, "pcchValue is required"); 320 ExitOnNull(pcchValue, hr, E_INVALIDARG, "pcchValue is required");
321 321
@@ -327,7 +327,7 @@ public: // IBundleExtensionEngine
327 results.wzValue = wzValue; 327 results.wzValue = wzValue;
328 results.cchValue = *pcchValue; 328 results.cchValue = *pcchValue;
329 329
330 hr = m_pfnBundleExtensionEngineProc(BUNDLE_EXTENSION_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE, &args, &results, m_pvBundleExtensionEngineProcContext); 330 hr = m_pfnBootstrapperExtensionEngineProc(BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE, &args, &results, m_pvBootstrapperExtensionEngineProcContext);
331 331
332 *pcchValue = results.cchValue; 332 *pcchValue = results.cchValue;
333 333
@@ -336,38 +336,38 @@ public: // IBundleExtensionEngine
336 } 336 }
337 337
338public: 338public:
339 CBextBundleExtensionEngine( 339 CBextBootstrapperExtensionEngine(
340 __in PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc, 340 __in PFN_BOOTSTRAPPER_EXTENSION_ENGINE_PROC pfnBootstrapperExtensionEngineProc,
341 __in_opt LPVOID pvBundleExtensionEngineProcContext 341 __in_opt LPVOID pvBootstrapperExtensionEngineProcContext
342 ) 342 )
343 { 343 {
344 m_cReferences = 1; 344 m_cReferences = 1;
345 m_pfnBundleExtensionEngineProc = pfnBundleExtensionEngineProc; 345 m_pfnBootstrapperExtensionEngineProc = pfnBootstrapperExtensionEngineProc;
346 m_pvBundleExtensionEngineProcContext = pvBundleExtensionEngineProcContext; 346 m_pvBootstrapperExtensionEngineProcContext = pvBootstrapperExtensionEngineProcContext;
347 } 347 }
348 348
349private: 349private:
350 long m_cReferences; 350 long m_cReferences;
351 PFN_BUNDLE_EXTENSION_ENGINE_PROC m_pfnBundleExtensionEngineProc; 351 PFN_BOOTSTRAPPER_EXTENSION_ENGINE_PROC m_pfnBootstrapperExtensionEngineProc;
352 LPVOID m_pvBundleExtensionEngineProcContext; 352 LPVOID m_pvBootstrapperExtensionEngineProcContext;
353}; 353};
354 354
355HRESULT BextBundleExtensionEngineCreate( 355HRESULT BextBootstrapperExtensionEngineCreate(
356 __in PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc, 356 __in PFN_BOOTSTRAPPER_EXTENSION_ENGINE_PROC pfnBootstrapperExtensionEngineProc,
357 __in_opt LPVOID pvBundleExtensionEngineProcContext, 357 __in_opt LPVOID pvBootstrapperExtensionEngineProcContext,
358 __out IBundleExtensionEngine** ppEngineForExtension 358 __out IBootstrapperExtensionEngine** ppEngineForExtension
359 ) 359 )
360{ 360{
361 HRESULT hr = S_OK; 361 HRESULT hr = S_OK;
362 CBextBundleExtensionEngine* pBundleExtensionEngine = NULL; 362 CBextBootstrapperExtensionEngine* pBootstrapperExtensionEngine = NULL;
363 363
364 pBundleExtensionEngine = new CBextBundleExtensionEngine(pfnBundleExtensionEngineProc, pvBundleExtensionEngineProcContext); 364 pBootstrapperExtensionEngine = new CBextBootstrapperExtensionEngine(pfnBootstrapperExtensionEngineProc, pvBootstrapperExtensionEngineProcContext);
365 ExitOnNull(pBundleExtensionEngine, hr, E_OUTOFMEMORY, "Failed to allocate new BextBundleExtensionEngine object."); 365 ExitOnNull(pBootstrapperExtensionEngine, hr, E_OUTOFMEMORY, "Failed to allocate new BextBootstrapperExtensionEngine object.");
366 366
367 hr = pBundleExtensionEngine->QueryInterface(IID_PPV_ARGS(ppEngineForExtension)); 367 hr = pBootstrapperExtensionEngine->QueryInterface(IID_PPV_ARGS(ppEngineForExtension));
368 ExitOnFailure(hr, "Failed to QI for IBundleExtensionEngine from BextBundleExtensionEngine object."); 368 ExitOnFailure(hr, "Failed to QI for IBootstrapperExtensionEngine from BextBootstrapperExtensionEngine object.");
369 369
370LExit: 370LExit:
371 ReleaseObject(pBundleExtensionEngine); 371 ReleaseObject(pBootstrapperExtensionEngine);
372 return hr; 372 return hr;
373} 373}
diff --git a/src/api/burn/bextutil/bextutil.cpp b/src/api/burn/bextutil/bextutil.cpp
index b2e689c3..6f960ef5 100644
--- a/src/api/burn/bextutil/bextutil.cpp
+++ b/src/api/burn/bextutil/bextutil.cpp
@@ -2,12 +2,12 @@
2 2
3#include "precomp.h" 3#include "precomp.h"
4 4
5static IBundleExtensionEngine* vpEngine = NULL; 5static IBootstrapperExtensionEngine* vpEngine = NULL;
6 6
7// prototypes 7// prototypes
8 8
9DAPI_(void) BextInitialize( 9DAPI_(void) BextInitialize(
10 __in IBundleExtensionEngine* pEngine 10 __in IBootstrapperExtensionEngine* pEngine
11 ) 11 )
12{ 12{
13 pEngine->AddRef(); 13 pEngine->AddRef();
@@ -17,15 +17,15 @@ DAPI_(void) BextInitialize(
17} 17}
18 18
19DAPI_(HRESULT) BextInitializeFromCreateArgs( 19DAPI_(HRESULT) BextInitializeFromCreateArgs(
20 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs, 20 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
21 __out_opt IBundleExtensionEngine** ppEngine 21 __out_opt IBootstrapperExtensionEngine** ppEngine
22 ) 22 )
23{ 23{
24 HRESULT hr = S_OK; 24 HRESULT hr = S_OK;
25 IBundleExtensionEngine* pEngine = NULL; 25 IBootstrapperExtensionEngine* pEngine = NULL;
26 26
27 hr = BextBundleExtensionEngineCreate(pArgs->pfnBundleExtensionEngineProc, pArgs->pvBundleExtensionEngineProcContext, &pEngine); 27 hr = BextBootstrapperExtensionEngineCreate(pArgs->pfnBootstrapperExtensionEngineProc, pArgs->pvBootstrapperExtensionEngineProcContext, &pEngine);
28 ExitOnFailure(hr, "Failed to create BextBundleExtensionEngine."); 28 ExitOnFailure(hr, "Failed to create BextBootstrapperExtensionEngine.");
29 29
30 BextInitialize(pEngine); 30 BextInitialize(pEngine);
31 31
@@ -47,30 +47,30 @@ DAPI_(void) BextUninitialize()
47 ReleaseNullObject(vpEngine); 47 ReleaseNullObject(vpEngine);
48} 48}
49 49
50DAPI_(HRESULT) BextGetBundleExtensionDataNode( 50DAPI_(HRESULT) BextGetBootstrapperExtensionDataNode(
51 __in IXMLDOMDocument* pixdManifest, 51 __in IXMLDOMDocument* pixdManifest,
52 __in LPCWSTR wzExtensionId, 52 __in LPCWSTR wzExtensionId,
53 __out IXMLDOMNode** ppixnBundleExtension 53 __out IXMLDOMNode** ppixnBootstrapperExtension
54 ) 54 )
55{ 55{
56 HRESULT hr = S_OK; 56 HRESULT hr = S_OK;
57 IXMLDOMElement* pixeBundleExtensionData = NULL; 57 IXMLDOMElement* pixeBootstrapperExtensionData = NULL;
58 IXMLDOMNodeList* pixnNodes = NULL; 58 IXMLDOMNodeList* pixnNodes = NULL;
59 IXMLDOMNode* pixnNode = NULL; 59 IXMLDOMNode* pixnNode = NULL;
60 DWORD cNodes = 0; 60 DWORD cNodes = 0;
61 LPWSTR sczId = NULL; 61 LPWSTR sczId = NULL;
62 62
63 // Get BundleExtensionData element. 63 // Get BootstrapperExtensionData element.
64 hr = pixdManifest->get_documentElement(&pixeBundleExtensionData); 64 hr = pixdManifest->get_documentElement(&pixeBootstrapperExtensionData);
65 ExitOnFailure(hr, "Failed to get BundleExtensionData element."); 65 ExitOnFailure(hr, "Failed to get BootstrapperExtensionData element.");
66 66
67 // Select BundleExtension nodes. 67 // Select BootstrapperExtension nodes.
68 hr = XmlSelectNodes(pixeBundleExtensionData, L"BundleExtension", &pixnNodes); 68 hr = XmlSelectNodes(pixeBootstrapperExtensionData, L"BootstrapperExtension", &pixnNodes);
69 ExitOnFailure(hr, "Failed to select BundleExtension nodes."); 69 ExitOnFailure(hr, "Failed to select BootstrapperExtension nodes.");
70 70
71 // Get BundleExtension node count. 71 // Get BootstrapperExtension node count.
72 hr = pixnNodes->get_length((long*)&cNodes); 72 hr = pixnNodes->get_length((long*)&cNodes);
73 ExitOnFailure(hr, "Failed to get BundleExtension node count."); 73 ExitOnFailure(hr, "Failed to get BootstrapperExtension node count.");
74 74
75 if (!cNodes) 75 if (!cNodes)
76 { 76 {
@@ -89,7 +89,7 @@ DAPI_(HRESULT) BextGetBundleExtensionDataNode(
89 89
90 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczId, -1, wzExtensionId, -1)) 90 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczId, -1, wzExtensionId, -1))
91 { 91 {
92 *ppixnBundleExtension = pixnNode; 92 *ppixnBootstrapperExtension = pixnNode;
93 pixnNode = NULL; 93 pixnNode = NULL;
94 94
95 ExitFunction1(hr = S_OK); 95 ExitFunction1(hr = S_OK);
@@ -105,14 +105,14 @@ LExit:
105 ReleaseStr(sczId); 105 ReleaseStr(sczId);
106 ReleaseObject(pixnNode); 106 ReleaseObject(pixnNode);
107 ReleaseObject(pixnNodes); 107 ReleaseObject(pixnNodes);
108 ReleaseObject(pixeBundleExtensionData); 108 ReleaseObject(pixeBootstrapperExtensionData);
109 109
110 return hr; 110 return hr;
111} 111}
112 112
113 113
114DAPIV_(HRESULT) BextLog( 114DAPIV_(HRESULT) BextLog(
115 __in BUNDLE_EXTENSION_LOG_LEVEL level, 115 __in BOOTSTRAPPER_EXTENSION_LOG_LEVEL level,
116 __in_z __format_string LPCSTR szFormat, 116 __in_z __format_string LPCSTR szFormat,
117 ... 117 ...
118 ) 118 )
@@ -136,7 +136,7 @@ LExit:
136 136
137 137
138DAPI_(HRESULT) BextLogArgs( 138DAPI_(HRESULT) BextLogArgs(
139 __in BUNDLE_EXTENSION_LOG_LEVEL level, 139 __in BOOTSTRAPPER_EXTENSION_LOG_LEVEL level,
140 __in_z __format_string LPCSTR szFormat, 140 __in_z __format_string LPCSTR szFormat,
141 __in va_list args 141 __in va_list args
142 ) 142 )
@@ -212,7 +212,7 @@ DAPI_(HRESULT) BextLogErrorArgs(
212 hr = StrAllocFormatted(&sczMessage, L"Error 0x%08x: %S", hrError, sczFormattedAnsi); 212 hr = StrAllocFormatted(&sczMessage, L"Error 0x%08x: %S", hrError, sczFormattedAnsi);
213 ExitOnFailure(hr, "Failed to prepend error number to error log string."); 213 ExitOnFailure(hr, "Failed to prepend error number to error log string.");
214 214
215 hr = vpEngine->Log(BUNDLE_EXTENSION_LOG_LEVEL_ERROR, sczMessage); 215 hr = vpEngine->Log(BOOTSTRAPPER_EXTENSION_LOG_LEVEL_ERROR, sczMessage);
216 216
217LExit: 217LExit:
218 ReleaseStr(sczMessage); 218 ReleaseStr(sczMessage);
diff --git a/src/api/burn/bextutil/bextutil.nuspec b/src/api/burn/bextutil/bextutil.nuspec
index b2881354..c710f424 100644
--- a/src/api/burn/bextutil/bextutil.nuspec
+++ b/src/api/burn/bextutil/bextutil.nuspec
@@ -21,8 +21,8 @@
21 <file src="$projectFolder$\build\$id$.props" target="build\" /> 21 <file src="$projectFolder$\build\$id$.props" target="build\" />
22 <file src="$projectFolder$\..\..\..\internal\images\wix.png" /> 22 <file src="$projectFolder$\..\..\..\internal\images\wix.png" />
23 <file src="$projectFolder$\inc\*" target="build\native\include" /> 23 <file src="$projectFolder$\inc\*" target="build\native\include" />
24 <file src="$projectFolder$\..\inc\BundleExtension.h" target="build\native\include" /> 24 <file src="$projectFolder$\..\inc\BootstrapperExtension.h" target="build\native\include" />
25 <file src="$projectFolder$\..\inc\BundleExtensionEngine.h" target="build\native\include" /> 25 <file src="$projectFolder$\..\inc\BootstrapperExtensionEngine.h" target="build\native\include" />
26 <file src="..\..\v141\x86\bextutil.lib" target="build\native\v14\x86" /> 26 <file src="..\..\v141\x86\bextutil.lib" target="build\native\v14\x86" />
27 <file src="..\..\v141\x64\bextutil.lib" target="build\native\v14\x64" /> 27 <file src="..\..\v141\x64\bextutil.lib" target="build\native\v14\x64" />
28 <file src="..\..\v141\ARM64\bextutil.lib" target="build\native\v14\ARM64" /> 28 <file src="..\..\v141\ARM64\bextutil.lib" target="build\native\v14\ARM64" />
diff --git a/src/api/burn/bextutil/bextutil.vcxproj b/src/api/burn/bextutil/bextutil.vcxproj
index 467f2d56..0299c381 100644
--- a/src/api/burn/bextutil/bextutil.vcxproj
+++ b/src/api/burn/bextutil/bextutil.vcxproj
@@ -34,8 +34,8 @@
34 <ConfigurationType>StaticLibrary</ConfigurationType> 34 <ConfigurationType>StaticLibrary</ConfigurationType>
35 <TargetName>bextutil</TargetName> 35 <TargetName>bextutil</TargetName>
36 <CharacterSet>MultiByte</CharacterSet> 36 <CharacterSet>MultiByte</CharacterSet>
37 <Description>WiX Toolset Bundle Extension native utility library</Description> 37 <Description>WiX Toolset Bundle Extension API</Description>
38 <PackageId>WixToolset.BextUtil</PackageId> 38 <PackageId>WixToolset.BootstrapperExtensionApi</PackageId>
39 </PropertyGroup> 39 </PropertyGroup>
40 40
41 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 41 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -53,19 +53,19 @@
53 </PropertyGroup> 53 </PropertyGroup>
54 54
55 <ItemGroup> 55 <ItemGroup>
56 <ClCompile Include="BextBundleExtensionEngine.cpp" /> 56 <ClCompile Include="BextBootstrapperExtensionEngine.cpp" />
57 <ClCompile Include="bextutil.cpp" /> 57 <ClCompile Include="bextutil.cpp" />
58 <ClCompile Include="precomp.cpp"> 58 <ClCompile Include="precomp.cpp">
59 <PrecompiledHeader>Create</PrecompiledHeader> 59 <PrecompiledHeader>Create</PrecompiledHeader>
60 </ClCompile> 60 </ClCompile>
61 </ItemGroup> 61 </ItemGroup>
62 <ItemGroup> 62 <ItemGroup>
63 <ClInclude Include="inc\BextBaseBundleExtension.h" /> 63 <ClInclude Include="inc\BextBaseBootstrapperExtension.h" />
64 <ClInclude Include="inc\BextBaseBundleExtensionProc.h" /> 64 <ClInclude Include="inc\BextBaseBootstrapperExtensionProc.h" />
65 <ClInclude Include="inc\BextBundleExtensionEngine.h" /> 65 <ClInclude Include="inc\BextBootstrapperExtensionEngine.h" />
66 <ClInclude Include="inc\bextutil.h" /> 66 <ClInclude Include="inc\bextutil.h" />
67 <ClInclude Include="inc\IBundleExtension.h" /> 67 <ClInclude Include="inc\IBootstrapperExtension.h" />
68 <ClInclude Include="inc\IBundleExtensionEngine.h" /> 68 <ClInclude Include="inc\IBootstrapperExtensionEngine.h" />
69 <ClInclude Include="precomp.h" /> 69 <ClInclude Include="precomp.h" />
70 </ItemGroup> 70 </ItemGroup>
71 71
diff --git a/src/api/burn/bextutil/build/WixToolset.BextUtil.props b/src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props
index dbaddb70..dbaddb70 100644
--- a/src/api/burn/bextutil/build/WixToolset.BextUtil.props
+++ b/src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props
diff --git a/src/api/burn/bextutil/inc/BextBaseBundleExtension.h b/src/api/burn/bextutil/inc/BextBaseBootstrapperExtension.h
index 5bda04e1..83ba23a6 100644
--- a/src/api/burn/bextutil/inc/BextBaseBundleExtension.h
+++ b/src/api/burn/bextutil/inc/BextBaseBootstrapperExtension.h
@@ -4,7 +4,7 @@
4 4
5#include "bextutil.h" 5#include "bextutil.h"
6 6
7class CBextBaseBundleExtension : public IBundleExtension 7class CBextBaseBootstrapperExtension : public IBootstrapperExtension
8{ 8{
9public: // IUnknown 9public: // IUnknown
10 virtual STDMETHODIMP QueryInterface( 10 virtual STDMETHODIMP QueryInterface(
@@ -19,9 +19,9 @@ public: // IUnknown
19 19
20 *ppvObject = NULL; 20 *ppvObject = NULL;
21 21
22 if (::IsEqualIID(__uuidof(IBundleExtension), riid)) 22 if (::IsEqualIID(__uuidof(IBootstrapperExtension), riid))
23 { 23 {
24 *ppvObject = static_cast<IBundleExtension*>(this); 24 *ppvObject = static_cast<IBootstrapperExtension*>(this);
25 } 25 }
26 else if (::IsEqualIID(IID_IUnknown, riid)) 26 else if (::IsEqualIID(IID_IUnknown, riid))
27 { 27 {
@@ -53,7 +53,7 @@ public: // IUnknown
53 return 0; 53 return 0;
54 } 54 }
55 55
56public: // IBundleExtension 56public: // IBootstrapperExtension
57 virtual STDMETHODIMP Search( 57 virtual STDMETHODIMP Search(
58 __in LPCWSTR /*wzId*/, 58 __in LPCWSTR /*wzId*/,
59 __in LPCWSTR /*wzVariable*/ 59 __in LPCWSTR /*wzVariable*/
@@ -62,8 +62,8 @@ public: // IBundleExtension
62 return E_NOTIMPL; 62 return E_NOTIMPL;
63 } 63 }
64 64
65 virtual STDMETHODIMP BundleExtensionProc( 65 virtual STDMETHODIMP BootstrapperExtensionProc(
66 __in BUNDLE_EXTENSION_MESSAGE /*message*/, 66 __in BOOTSTRAPPER_EXTENSION_MESSAGE /*message*/,
67 __in const LPVOID /*pvArgs*/, 67 __in const LPVOID /*pvArgs*/,
68 __inout LPVOID /*pvResults*/, 68 __inout LPVOID /*pvResults*/,
69 __in_opt LPVOID /*pvContext*/ 69 __in_opt LPVOID /*pvContext*/
@@ -72,15 +72,15 @@ public: // IBundleExtension
72 return E_NOTIMPL; 72 return E_NOTIMPL;
73 } 73 }
74 74
75public: //CBextBaseBundleExtension 75public: //CBextBaseBootstrapperExtension
76 virtual STDMETHODIMP Initialize( 76 virtual STDMETHODIMP Initialize(
77 __in const BUNDLE_EXTENSION_CREATE_ARGS* pCreateArgs 77 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pCreateArgs
78 ) 78 )
79 { 79 {
80 HRESULT hr = S_OK; 80 HRESULT hr = S_OK;
81 81
82 hr = StrAllocString(&m_sczBundleExtensionDataPath, pCreateArgs->wzBundleExtensionDataPath, 0); 82 hr = StrAllocString(&m_sczBootstrapperExtensionDataPath, pCreateArgs->wzBootstrapperExtensionDataPath, 0);
83 ExitOnFailure(hr, "Failed to copy BundleExtensionDataPath."); 83 ExitOnFailure(hr, "Failed to copy BootstrapperExtensionDataPath.");
84 84
85 LExit: 85 LExit:
86 return hr; 86 return hr;
@@ -88,8 +88,8 @@ public: //CBextBaseBundleExtension
88 88
89protected: 89protected:
90 90
91 CBextBaseBundleExtension( 91 CBextBaseBootstrapperExtension(
92 __in IBundleExtensionEngine* pEngine 92 __in IBootstrapperExtensionEngine* pEngine
93 ) 93 )
94 { 94 {
95 m_cReferences = 1; 95 m_cReferences = 1;
@@ -97,18 +97,18 @@ protected:
97 pEngine->AddRef(); 97 pEngine->AddRef();
98 m_pEngine = pEngine; 98 m_pEngine = pEngine;
99 99
100 m_sczBundleExtensionDataPath = NULL; 100 m_sczBootstrapperExtensionDataPath = NULL;
101 } 101 }
102 102
103 virtual ~CBextBaseBundleExtension() 103 virtual ~CBextBaseBootstrapperExtension()
104 { 104 {
105 ReleaseNullObject(m_pEngine); 105 ReleaseNullObject(m_pEngine);
106 ReleaseStr(m_sczBundleExtensionDataPath); 106 ReleaseStr(m_sczBootstrapperExtensionDataPath);
107 } 107 }
108 108
109protected: 109protected:
110 IBundleExtensionEngine* m_pEngine; 110 IBootstrapperExtensionEngine* m_pEngine;
111 LPWSTR m_sczBundleExtensionDataPath; 111 LPWSTR m_sczBootstrapperExtensionDataPath;
112 112
113private: 113private:
114 long m_cReferences; 114 long m_cReferences;
diff --git a/src/api/burn/bextutil/inc/BextBaseBootstrapperExtensionProc.h b/src/api/burn/bextutil/inc/BextBaseBootstrapperExtensionProc.h
new file mode 100644
index 00000000..4f96399c
--- /dev/null
+++ b/src/api/burn/bextutil/inc/BextBaseBootstrapperExtensionProc.h
@@ -0,0 +1,46 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5#include <windows.h>
6
7#include <IBootstrapperExtensionEngine.h>
8#include <IBootstrapperExtension.h>
9
10static HRESULT BextBaseBEProcSearch(
11 __in IBootstrapperExtension* pBE,
12 __in BOOTSTRAPPER_EXTENSION_SEARCH_ARGS* pArgs,
13 __inout BOOTSTRAPPER_EXTENSION_SEARCH_RESULTS* /*pResults*/
14 )
15{
16 return pBE->Search(pArgs->wzId, pArgs->wzVariable);
17}
18
19/*******************************************************************
20BextBaseBootstrapperExtensionProc - requires pvContext to be of type IBootstrapperExtension.
21 Provides a default mapping between the message based
22 BootstrapperExtension interface and the COM-based BootstrapperExtension interface.
23
24*******************************************************************/
25static HRESULT WINAPI BextBaseBootstrapperExtensionProc(
26 __in BOOTSTRAPPER_EXTENSION_MESSAGE message,
27 __in const LPVOID pvArgs,
28 __inout LPVOID pvResults,
29 __in_opt LPVOID pvContext
30 )
31{
32 IBootstrapperExtension* pBE = reinterpret_cast<IBootstrapperExtension*>(pvContext);
33 HRESULT hr = pBE->BootstrapperExtensionProc(message, pvArgs, pvResults, pvContext);
34
35 if (E_NOTIMPL == hr)
36 {
37 switch (message)
38 {
39 case BOOTSTRAPPER_EXTENSION_MESSAGE_SEARCH:
40 hr = BextBaseBEProcSearch(pBE, reinterpret_cast<BOOTSTRAPPER_EXTENSION_SEARCH_ARGS*>(pvArgs), reinterpret_cast<BOOTSTRAPPER_EXTENSION_SEARCH_RESULTS*>(pvResults));
41 break;
42 }
43 }
44
45 return hr;
46}
diff --git a/src/api/burn/bextutil/inc/BextBaseBundleExtensionProc.h b/src/api/burn/bextutil/inc/BextBaseBundleExtensionProc.h
deleted file mode 100644
index cd7e3cb3..00000000
--- a/src/api/burn/bextutil/inc/BextBaseBundleExtensionProc.h
+++ /dev/null
@@ -1,46 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5#include <windows.h>
6
7#include <IBundleExtensionEngine.h>
8#include <IBundleExtension.h>
9
10static HRESULT BextBaseBEProcSearch(
11 __in IBundleExtension* pBE,
12 __in BUNDLE_EXTENSION_SEARCH_ARGS* pArgs,
13 __inout BUNDLE_EXTENSION_SEARCH_RESULTS* /*pResults*/
14 )
15{
16 return pBE->Search(pArgs->wzId, pArgs->wzVariable);
17}
18
19/*******************************************************************
20BextBaseBundleExtensionProc - requires pvContext to be of type IBundleExtension.
21 Provides a default mapping between the message based
22 BundleExtension interface and the COM-based BundleExtension interface.
23
24*******************************************************************/
25static HRESULT WINAPI BextBaseBundleExtensionProc(
26 __in BUNDLE_EXTENSION_MESSAGE message,
27 __in const LPVOID pvArgs,
28 __inout LPVOID pvResults,
29 __in_opt LPVOID pvContext
30 )
31{
32 IBundleExtension* pBE = reinterpret_cast<IBundleExtension*>(pvContext);
33 HRESULT hr = pBE->BundleExtensionProc(message, pvArgs, pvResults, pvContext);
34
35 if (E_NOTIMPL == hr)
36 {
37 switch (message)
38 {
39 case BUNDLE_EXTENSION_MESSAGE_SEARCH:
40 hr = BextBaseBEProcSearch(pBE, reinterpret_cast<BUNDLE_EXTENSION_SEARCH_ARGS*>(pvArgs), reinterpret_cast<BUNDLE_EXTENSION_SEARCH_RESULTS*>(pvResults));
41 break;
42 }
43 }
44
45 return hr;
46}
diff --git a/src/api/burn/bextutil/inc/BextBundleExtensionEngine.h b/src/api/burn/bextutil/inc/BextBootstrapperExtensionEngine.h
index 97b02f36..a27ff186 100644
--- a/src/api/burn/bextutil/inc/BextBundleExtensionEngine.h
+++ b/src/api/burn/bextutil/inc/BextBootstrapperExtensionEngine.h
@@ -1,7 +1,7 @@
1#pragma once 1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. 2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3 3
4#include <IBundleExtensionEngine.h> 4#include <IBootstrapperExtensionEngine.h>
5 5
6#ifdef __cplusplus 6#ifdef __cplusplus
7extern "C" { 7extern "C" {
@@ -9,10 +9,10 @@ extern "C" {
9 9
10// function declarations 10// function declarations
11 11
12HRESULT BextBundleExtensionEngineCreate( 12HRESULT BextBootstrapperExtensionEngineCreate(
13 __in PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc, 13 __in PFN_BOOTSTRAPPER_EXTENSION_ENGINE_PROC pfnBootstrapperExtensionEngineProc,
14 __in_opt LPVOID pvBundleExtensionEngineProcContext, 14 __in_opt LPVOID pvBootstrapperExtensionEngineProcContext,
15 __out IBundleExtensionEngine** ppEngineForExtension 15 __out IBootstrapperExtensionEngine** ppEngineForExtension
16 ); 16 );
17 17
18#ifdef __cplusplus 18#ifdef __cplusplus
diff --git a/src/api/burn/bextutil/inc/IBootstrapperExtension.h b/src/api/burn/bextutil/inc/IBootstrapperExtension.h
new file mode 100644
index 00000000..4005a9fd
--- /dev/null
+++ b/src/api/burn/bextutil/inc/IBootstrapperExtension.h
@@ -0,0 +1,21 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4#include <BootstrapperExtension.h>
5
6DECLARE_INTERFACE_IID_(IBootstrapperExtension, IUnknown, "93123C9D-796B-4FCD-A507-6EDEF9A925FD")
7{
8 STDMETHOD(Search)(
9 __in LPCWSTR wzId,
10 __in LPCWSTR wzVariable
11 ) = 0;
12
13 // BootstrapperExtensionProc - The PFN_BOOTSTRAPPER_EXTENSION_PROC can call this method to give the BootstrapperExtension raw access to the callback from the engine.
14 // This might be used to help the BootstrapperExtension support more than one version of the engine.
15 STDMETHOD(BootstrapperExtensionProc)(
16 __in BOOTSTRAPPER_EXTENSION_MESSAGE message,
17 __in const LPVOID pvArgs,
18 __inout LPVOID pvResults,
19 __in_opt LPVOID pvContext
20 ) = 0;
21};
diff --git a/src/api/burn/bextutil/inc/IBundleExtensionEngine.h b/src/api/burn/bextutil/inc/IBootstrapperExtensionEngine.h
index a4a27fb1..b23a57b7 100644
--- a/src/api/burn/bextutil/inc/IBundleExtensionEngine.h
+++ b/src/api/burn/bextutil/inc/IBootstrapperExtensionEngine.h
@@ -1,9 +1,9 @@
1#pragma once 1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. 2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3 3
4#include <BundleExtensionEngine.h> 4#include <BootstrapperExtensionEngine.h>
5 5
6DECLARE_INTERFACE_IID_(IBundleExtensionEngine, IUnknown, "9D027A39-F6B6-42CC-9737-C185089EB263") 6DECLARE_INTERFACE_IID_(IBootstrapperExtensionEngine, IUnknown, "9D027A39-F6B6-42CC-9737-C185089EB263")
7{ 7{
8 STDMETHOD(EscapeString)( 8 STDMETHOD(EscapeString)(
9 __in_z LPCWSTR wzIn, 9 __in_z LPCWSTR wzIn,
@@ -40,7 +40,7 @@ DECLARE_INTERFACE_IID_(IBundleExtensionEngine, IUnknown, "9D027A39-F6B6-42CC-973
40 ) = 0; 40 ) = 0;
41 41
42 STDMETHOD(Log)( 42 STDMETHOD(Log)(
43 __in BUNDLE_EXTENSION_LOG_LEVEL level, 43 __in BOOTSTRAPPER_EXTENSION_LOG_LEVEL level,
44 __in_z LPCWSTR wzMessage 44 __in_z LPCWSTR wzMessage
45 ) = 0; 45 ) = 0;
46 46
diff --git a/src/api/burn/bextutil/inc/IBundleExtension.h b/src/api/burn/bextutil/inc/IBundleExtension.h
deleted file mode 100644
index 00301672..00000000
--- a/src/api/burn/bextutil/inc/IBundleExtension.h
+++ /dev/null
@@ -1,21 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4#include <BundleExtension.h>
5
6DECLARE_INTERFACE_IID_(IBundleExtension, IUnknown, "93123C9D-796B-4FCD-A507-6EDEF9A925FD")
7{
8 STDMETHOD(Search)(
9 __in LPCWSTR wzId,
10 __in LPCWSTR wzVariable
11 ) = 0;
12
13 // BundleExtensionProc - The PFN_BUNDLE_EXTENSION_PROC can call this method to give the BundleExtension raw access to the callback from the engine.
14 // This might be used to help the BundleExtension support more than one version of the engine.
15 STDMETHOD(BundleExtensionProc)(
16 __in BUNDLE_EXTENSION_MESSAGE message,
17 __in const LPVOID pvArgs,
18 __inout LPVOID pvResults,
19 __in_opt LPVOID pvContext
20 ) = 0;
21};
diff --git a/src/api/burn/bextutil/inc/bextutil.h b/src/api/burn/bextutil/inc/bextutil.h
index b8536444..64633cf1 100644
--- a/src/api/burn/bextutil/inc/bextutil.h
+++ b/src/api/burn/bextutil/inc/bextutil.h
@@ -4,8 +4,8 @@
4 4
5#include "dutil.h" 5#include "dutil.h"
6 6
7#include "IBundleExtensionEngine.h" 7#include "IBootstrapperExtensionEngine.h"
8#include "IBundleExtension.h" 8#include "IBootstrapperExtension.h"
9 9
10#ifdef __cplusplus 10#ifdef __cplusplus
11extern "C" { 11extern "C" {
@@ -33,7 +33,7 @@ extern "C" {
33#define BextExitOnOptionalXmlQueryFailure(x, b, f, ...) BextExitOnOptionalXmlQueryFailureSource(DUTIL_SOURCE_DEFAULT, x, b, f, __VA_ARGS__) 33#define BextExitOnOptionalXmlQueryFailure(x, b, f, ...) BextExitOnOptionalXmlQueryFailureSource(DUTIL_SOURCE_DEFAULT, x, b, f, __VA_ARGS__)
34#define BextExitOnRequiredXmlQueryFailure(x, f, ...) BextExitOnRequiredXmlQueryFailureSource(DUTIL_SOURCE_DEFAULT, x, f, __VA_ARGS__) 34#define BextExitOnRequiredXmlQueryFailure(x, f, ...) BextExitOnRequiredXmlQueryFailureSource(DUTIL_SOURCE_DEFAULT, x, f, __VA_ARGS__)
35 35
36const LPCWSTR BUNDLE_EXTENSION_MANIFEST_FILENAME = L"BundleExtensionData.xml"; 36const LPCWSTR BOOTSTRAPPER_EXTENSION_MANIFEST_FILENAME = L"BootstrapperExtensionData.xml";
37 37
38 38
39/******************************************************************* 39/*******************************************************************
@@ -42,17 +42,17 @@ const LPCWSTR BUNDLE_EXTENSION_MANIFEST_FILENAME = L"BundleExtensionData.xml";
42 42
43********************************************************************/ 43********************************************************************/
44DAPI_(void) BextInitialize( 44DAPI_(void) BextInitialize(
45 __in IBundleExtensionEngine* pEngine 45 __in IBootstrapperExtensionEngine* pEngine
46 ); 46 );
47 47
48/******************************************************************* 48/*******************************************************************
49 BextInitializeFromCreateArgs - convenience function to call BextBundleExtensionEngineCreate 49 BextInitializeFromCreateArgs - convenience function to call BextBootstrapperExtensionEngineCreate
50 then pass it along to BextInitialize. 50 then pass it along to BextInitialize.
51 51
52********************************************************************/ 52********************************************************************/
53DAPI_(HRESULT) BextInitializeFromCreateArgs( 53DAPI_(HRESULT) BextInitializeFromCreateArgs(
54 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs, 54 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
55 __out IBundleExtensionEngine** ppEngine 55 __out IBootstrapperExtensionEngine** ppEngine
56 ); 56 );
57 57
58/******************************************************************* 58/*******************************************************************
@@ -62,13 +62,13 @@ DAPI_(HRESULT) BextInitializeFromCreateArgs(
62DAPI_(void) BextUninitialize(); 62DAPI_(void) BextUninitialize();
63 63
64/******************************************************************* 64/*******************************************************************
65 BextGetBundleExtensionDataNode - gets the requested BundleExtension node. 65 BextGetBootstrapperExtensionDataNode - gets the requested BootstrapperExtension node.
66 66
67********************************************************************/ 67********************************************************************/
68DAPI_(HRESULT) BextGetBundleExtensionDataNode( 68DAPI_(HRESULT) BextGetBootstrapperExtensionDataNode(
69 __in IXMLDOMDocument* pixdManifest, 69 __in IXMLDOMDocument* pixdManifest,
70 __in LPCWSTR wzExtensionId, 70 __in LPCWSTR wzExtensionId,
71 __out IXMLDOMNode** ppixnBundleExtension 71 __out IXMLDOMNode** ppixnBootstrapperExtension
72 ); 72 );
73 73
74/******************************************************************* 74/*******************************************************************
@@ -76,7 +76,7 @@ DAPI_(HRESULT) BextGetBundleExtensionDataNode(
76 76
77********************************************************************/ 77********************************************************************/
78DAPIV_(HRESULT) BextLog( 78DAPIV_(HRESULT) BextLog(
79 __in BUNDLE_EXTENSION_LOG_LEVEL level, 79 __in BOOTSTRAPPER_EXTENSION_LOG_LEVEL level,
80 __in_z __format_string LPCSTR szFormat, 80 __in_z __format_string LPCSTR szFormat,
81 ... 81 ...
82 ); 82 );
@@ -86,7 +86,7 @@ DAPIV_(HRESULT) BextLog(
86 86
87********************************************************************/ 87********************************************************************/
88DAPI_(HRESULT) BextLogArgs( 88DAPI_(HRESULT) BextLogArgs(
89 __in BUNDLE_EXTENSION_LOG_LEVEL level, 89 __in BOOTSTRAPPER_EXTENSION_LOG_LEVEL level,
90 __in_z __format_string LPCSTR szFormat, 90 __in_z __format_string LPCSTR szFormat,
91 __in va_list args 91 __in va_list args
92 ); 92 );
diff --git a/src/api/burn/bextutil/precomp.h b/src/api/burn/bextutil/precomp.h
index d5714cc2..52962c06 100644
--- a/src/api/burn/bextutil/precomp.h
+++ b/src/api/burn/bextutil/precomp.h
@@ -13,4 +13,4 @@
13#include <xmlutil.h> 13#include <xmlutil.h>
14 14
15#include "bextutil.h" 15#include "bextutil.h"
16#include "BextBundleExtensionEngine.h" 16#include "BextBootstrapperExtensionEngine.h"
diff --git a/src/api/burn/inc/BootstrapperExtension.h b/src/api/burn/inc/BootstrapperExtension.h
new file mode 100644
index 00000000..b1fa6408
--- /dev/null
+++ b/src/api/burn/inc/BootstrapperExtension.h
@@ -0,0 +1,61 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4#include <BootstrapperExtensionEngine.h>
5
6#if defined(__cplusplus)
7extern "C" {
8#endif
9
10enum BOOTSTRAPPER_EXTENSION_MESSAGE
11{
12 BOOTSTRAPPER_EXTENSION_MESSAGE_SEARCH,
13};
14
15typedef struct _BOOTSTRAPPER_EXTENSION_SEARCH_ARGS
16{
17 DWORD cbSize;
18 LPCWSTR wzId;
19 LPCWSTR wzVariable;
20} BOOTSTRAPPER_EXTENSION_SEARCH_ARGS;
21
22typedef struct _BOOTSTRAPPER_EXTENSION_SEARCH_RESULTS
23{
24 DWORD cbSize;
25} BOOTSTRAPPER_EXTENSION_SEARCH_RESULTS;
26
27extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_EXTENSION_PROC)(
28 __in BOOTSTRAPPER_EXTENSION_MESSAGE message,
29 __in const LPVOID pvArgs,
30 __inout LPVOID pvResults,
31 __in_opt LPVOID pvContext
32 );
33
34typedef struct _BOOTSTRAPPER_EXTENSION_CREATE_ARGS
35{
36 DWORD cbSize;
37 DWORD64 qwEngineAPIVersion;
38 PFN_BOOTSTRAPPER_EXTENSION_ENGINE_PROC pfnBootstrapperExtensionEngineProc;
39 LPVOID pvBootstrapperExtensionEngineProcContext;
40 LPCWSTR wzBootstrapperWorkingFolder;
41 LPCWSTR wzBootstrapperExtensionDataPath;
42 LPCWSTR wzExtensionId;
43} BOOTSTRAPPER_EXTENSION_CREATE_ARGS;
44
45typedef struct _BOOTSTRAPPER_EXTENSION_CREATE_RESULTS
46{
47 DWORD cbSize;
48 PFN_BOOTSTRAPPER_EXTENSION_PROC pfnBootstrapperExtensionProc;
49 LPVOID pvBootstrapperExtensionProcContext;
50} BOOTSTRAPPER_EXTENSION_CREATE_RESULTS;
51
52extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_EXTENSION_CREATE)(
53 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
54 __inout BOOTSTRAPPER_EXTENSION_CREATE_RESULTS* pResults
55 );
56
57extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_EXTENSION_DESTROY)();
58
59#if defined(__cplusplus)
60}
61#endif
diff --git a/src/api/burn/inc/BootstrapperExtensionEngine.h b/src/api/burn/inc/BootstrapperExtensionEngine.h
new file mode 100644
index 00000000..24c304c6
--- /dev/null
+++ b/src/api/burn/inc/BootstrapperExtensionEngine.h
@@ -0,0 +1,200 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5#if defined(__cplusplus)
6extern "C" {
7#endif
8
9enum BOOTSTRAPPER_EXTENSION_LOG_LEVEL
10{
11 BOOTSTRAPPER_EXTENSION_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
12 BOOTSTRAPPER_EXTENSION_LOG_LEVEL_STANDARD, // written if reporting is on
13 BOOTSTRAPPER_EXTENSION_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
14 BOOTSTRAPPER_EXTENSION_LOG_LEVEL_DEBUG, // reporting useful when debugging code
15 BOOTSTRAPPER_EXTENSION_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
16};
17
18enum BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE
19{
20 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING,
21 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION,
22 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_FORMATSTRING,
23 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC,
24 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING,
25 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION,
26 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_LOG,
27 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC,
28 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING,
29 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION,
30 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS,
31 BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE,
32};
33
34typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS
35{
36 DWORD cbSize;
37 LPCWSTR wzVersion1;
38 LPCWSTR wzVersion2;
39} BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS;
40
41typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS
42{
43 DWORD cbSize;
44 int nResult;
45} BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS;
46
47typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_ARGS
48{
49 DWORD cbSize;
50 LPCWSTR wzIn;
51} BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_ARGS;
52
53typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_RESULTS
54{
55 DWORD cbSize;
56 LPWSTR wzOut;
57 // Should be initialized to the size of wzOut.
58 SIZE_T cchOut;
59} BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_RESULTS;
60
61typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_ARGS
62{
63 DWORD cbSize;
64 LPCWSTR wzCondition;
65} BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_ARGS;
66
67typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS
68{
69 DWORD cbSize;
70 BOOL f;
71} BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS;
72
73typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_ARGS
74{
75 DWORD cbSize;
76 LPCWSTR wzIn;
77} BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_ARGS;
78
79typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_RESULTS
80{
81 DWORD cbSize;
82 LPWSTR wzOut;
83 // Should be initialized to the size of wzOut.
84 SIZE_T cchOut;
85} BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_RESULTS;
86
87typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS
88{
89 DWORD cbSize;
90 LPCWSTR wzVariable;
91} BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS;
92
93typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS
94{
95 DWORD cbSize;
96 LONGLONG llValue;
97} BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS;
98
99typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS
100{
101 DWORD cbSize;
102 LPCWSTR wzVariable;
103} BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS;
104
105typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS
106{
107 DWORD cbSize;
108 LPWSTR wzValue;
109 // Should be initialized to the size of wzValue.
110 SIZE_T cchValue;
111} BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS;
112
113typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS
114{
115 DWORD cbSize;
116 LPCWSTR wzVariable;
117} BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS;
118
119typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS
120{
121 DWORD cbSize;
122 LPWSTR wzValue;
123 // Should be initialized to the size of wzValue.
124 SIZE_T cchValue;
125} BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS;
126
127typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_LOG_ARGS
128{
129 DWORD cbSize;
130 BOOTSTRAPPER_EXTENSION_LOG_LEVEL level;
131 LPCWSTR wzMessage;
132} BOOTSTRAPPER_EXTENSION_ENGINE_LOG_ARGS;
133
134typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_LOG_RESULTS
135{
136 DWORD cbSize;
137} BOOTSTRAPPER_EXTENSION_ENGINE_LOG_RESULTS;
138
139typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS
140{
141 DWORD cbSize;
142 LPCWSTR wzVariable;
143 LONGLONG llValue;
144} BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS;
145
146typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS
147{
148 DWORD cbSize;
149} BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS;
150
151typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS
152{
153 DWORD cbSize;
154 LPCWSTR wzVariable;
155 LPCWSTR wzValue;
156 BOOL fFormatted;
157} BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS;
158
159typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS
160{
161 DWORD cbSize;
162} BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS;
163
164typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS
165{
166 DWORD cbSize;
167 LPCWSTR wzVariable;
168 LPCWSTR wzValue;
169} BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS;
170
171typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS
172{
173 DWORD cbSize;
174} BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS;
175
176typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS
177{
178 DWORD cbSize;
179 LPCWSTR wzBundleId;
180 LPCWSTR wzVariable;
181} BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS;
182
183typedef struct _BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS
184{
185 DWORD cbSize;
186 LPWSTR wzValue;
187 // Should be initialized to the size of wzValue.
188 SIZE_T cchValue;
189} BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS;
190
191extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_EXTENSION_ENGINE_PROC)(
192 __in BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE message,
193 __in const LPVOID pvArgs,
194 __inout LPVOID pvResults,
195 __in_opt LPVOID pvContext
196 );
197
198#if defined(__cplusplus)
199}
200#endif
diff --git a/src/api/burn/inc/BundleExtension.h b/src/api/burn/inc/BundleExtension.h
deleted file mode 100644
index 17acff6e..00000000
--- a/src/api/burn/inc/BundleExtension.h
+++ /dev/null
@@ -1,61 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4#include <BundleExtensionEngine.h>
5
6#if defined(__cplusplus)
7extern "C" {
8#endif
9
10enum BUNDLE_EXTENSION_MESSAGE
11{
12 BUNDLE_EXTENSION_MESSAGE_SEARCH,
13};
14
15typedef struct _BUNDLE_EXTENSION_SEARCH_ARGS
16{
17 DWORD cbSize;
18 LPCWSTR wzId;
19 LPCWSTR wzVariable;
20} BUNDLE_EXTENSION_SEARCH_ARGS;
21
22typedef struct _BUNDLE_EXTENSION_SEARCH_RESULTS
23{
24 DWORD cbSize;
25} BUNDLE_EXTENSION_SEARCH_RESULTS;
26
27extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_PROC)(
28 __in BUNDLE_EXTENSION_MESSAGE message,
29 __in const LPVOID pvArgs,
30 __inout LPVOID pvResults,
31 __in_opt LPVOID pvContext
32 );
33
34typedef struct _BUNDLE_EXTENSION_CREATE_ARGS
35{
36 DWORD cbSize;
37 DWORD64 qwEngineAPIVersion;
38 PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc;
39 LPVOID pvBundleExtensionEngineProcContext;
40 LPCWSTR wzBootstrapperWorkingFolder;
41 LPCWSTR wzBundleExtensionDataPath;
42 LPCWSTR wzExtensionId;
43} BUNDLE_EXTENSION_CREATE_ARGS;
44
45typedef struct _BUNDLE_EXTENSION_CREATE_RESULTS
46{
47 DWORD cbSize;
48 PFN_BUNDLE_EXTENSION_PROC pfnBundleExtensionProc;
49 LPVOID pvBundleExtensionProcContext;
50} BUNDLE_EXTENSION_CREATE_RESULTS;
51
52extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_CREATE)(
53 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
54 __inout BUNDLE_EXTENSION_CREATE_RESULTS* pResults
55 );
56
57extern "C" typedef void (WINAPI *PFN_BUNDLE_EXTENSION_DESTROY)();
58
59#if defined(__cplusplus)
60}
61#endif
diff --git a/src/api/burn/inc/BundleExtensionEngine.h b/src/api/burn/inc/BundleExtensionEngine.h
deleted file mode 100644
index b585d1a2..00000000
--- a/src/api/burn/inc/BundleExtensionEngine.h
+++ /dev/null
@@ -1,200 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5#if defined(__cplusplus)
6extern "C" {
7#endif
8
9enum BUNDLE_EXTENSION_LOG_LEVEL
10{
11 BUNDLE_EXTENSION_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
12 BUNDLE_EXTENSION_LOG_LEVEL_STANDARD, // written if reporting is on
13 BUNDLE_EXTENSION_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
14 BUNDLE_EXTENSION_LOG_LEVEL_DEBUG, // reporting useful when debugging code
15 BUNDLE_EXTENSION_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
16};
17
18enum BUNDLE_EXTENSION_ENGINE_MESSAGE
19{
20 BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING,
21 BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION,
22 BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING,
23 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC,
24 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING,
25 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION,
26 BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG,
27 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC,
28 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING,
29 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION,
30 BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS,
31 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE,
32};
33
34typedef struct _BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS
35{
36 DWORD cbSize;
37 LPCWSTR wzVersion1;
38 LPCWSTR wzVersion2;
39} BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS;
40
41typedef struct _BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS
42{
43 DWORD cbSize;
44 int nResult;
45} BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS;
46
47typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS
48{
49 DWORD cbSize;
50 LPCWSTR wzIn;
51} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS;
52
53typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS
54{
55 DWORD cbSize;
56 LPWSTR wzOut;
57 // Should be initialized to the size of wzOut.
58 SIZE_T cchOut;
59} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS;
60
61typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS
62{
63 DWORD cbSize;
64 LPCWSTR wzCondition;
65} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS;
66
67typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS
68{
69 DWORD cbSize;
70 BOOL f;
71} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS;
72
73typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS
74{
75 DWORD cbSize;
76 LPCWSTR wzIn;
77} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS;
78
79typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS
80{
81 DWORD cbSize;
82 LPWSTR wzOut;
83 // Should be initialized to the size of wzOut.
84 SIZE_T cchOut;
85} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS;
86
87typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS
88{
89 DWORD cbSize;
90 LPCWSTR wzVariable;
91} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS;
92
93typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS
94{
95 DWORD cbSize;
96 LONGLONG llValue;
97} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS;
98
99typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS
100{
101 DWORD cbSize;
102 LPCWSTR wzVariable;
103} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS;
104
105typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS
106{
107 DWORD cbSize;
108 LPWSTR wzValue;
109 // Should be initialized to the size of wzValue.
110 SIZE_T cchValue;
111} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS;
112
113typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS
114{
115 DWORD cbSize;
116 LPCWSTR wzVariable;
117} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS;
118
119typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS
120{
121 DWORD cbSize;
122 LPWSTR wzValue;
123 // Should be initialized to the size of wzValue.
124 SIZE_T cchValue;
125} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS;
126
127typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_ARGS
128{
129 DWORD cbSize;
130 BUNDLE_EXTENSION_LOG_LEVEL level;
131 LPCWSTR wzMessage;
132} BUNDLE_EXTENSION_ENGINE_LOG_ARGS;
133
134typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_RESULTS
135{
136 DWORD cbSize;
137} BUNDLE_EXTENSION_ENGINE_LOG_RESULTS;
138
139typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS
140{
141 DWORD cbSize;
142 LPCWSTR wzVariable;
143 LONGLONG llValue;
144} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS;
145
146typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS
147{
148 DWORD cbSize;
149} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS;
150
151typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS
152{
153 DWORD cbSize;
154 LPCWSTR wzVariable;
155 LPCWSTR wzValue;
156 BOOL fFormatted;
157} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS;
158
159typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS
160{
161 DWORD cbSize;
162} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS;
163
164typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS
165{
166 DWORD cbSize;
167 LPCWSTR wzVariable;
168 LPCWSTR wzValue;
169} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS;
170
171typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS
172{
173 DWORD cbSize;
174} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS;
175
176typedef struct _BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS
177{
178 DWORD cbSize;
179 LPCWSTR wzBundleId;
180 LPCWSTR wzVariable;
181} BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS;
182
183typedef struct _BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS
184{
185 DWORD cbSize;
186 LPWSTR wzValue;
187 // Should be initialized to the size of wzValue.
188 SIZE_T cchValue;
189} BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS;
190
191extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_ENGINE_PROC)(
192 __in BUNDLE_EXTENSION_ENGINE_MESSAGE message,
193 __in const LPVOID pvArgs,
194 __inout LPVOID pvResults,
195 __in_opt LPVOID pvContext
196 );
197
198#if defined(__cplusplus)
199}
200#endif
diff --git a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
index 6e8dfee1..39135dcf 100644
--- a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
+++ b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
@@ -36,18 +36,18 @@
36 </PropertyGroup> 36 </PropertyGroup>
37 37
38 <ItemGroup> 38 <ItemGroup>
39 <ClCompile Include="BundleExtensionTests.cpp" /> 39 <ClCompile Include="BootstrapperExtensionTests.cpp" />
40 <ClCompile Include="precomp.cpp"> 40 <ClCompile Include="precomp.cpp">
41 <PrecompiledHeader>Create</PrecompiledHeader> 41 <PrecompiledHeader>Create</PrecompiledHeader>
42 <!-- Warnings from referencing netstandard dlls --> 42 <!-- Warnings from referencing netstandard dlls -->
43 <DisableSpecificWarnings>4564;4691</DisableSpecificWarnings> 43 <DisableSpecificWarnings>4564;4691</DisableSpecificWarnings>
44 </ClCompile> 44 </ClCompile>
45 <ClCompile Include="TestBundleExtension.cpp" /> 45 <ClCompile Include="TestBootstrapperExtension.cpp" />
46 </ItemGroup> 46 </ItemGroup>
47 47
48 <ItemGroup> 48 <ItemGroup>
49 <ClInclude Include="precomp.h" /> 49 <ClInclude Include="precomp.h" />
50 <ClInclude Include="TestBundleExtension.h" /> 50 <ClInclude Include="TestBootstrapperExtension.h" />
51 </ItemGroup> 51 </ItemGroup>
52 52
53 <ItemGroup> 53 <ItemGroup>
diff --git a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters
index 73f2194d..678f04f5 100644
--- a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters
+++ b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters
@@ -15,13 +15,13 @@
15 </Filter> 15 </Filter>
16 </ItemGroup> 16 </ItemGroup>
17 <ItemGroup> 17 <ItemGroup>
18 <ClCompile Include="BundleExtensionTests.cpp"> 18 <ClCompile Include="BootstrapperExtensionTests.cpp">
19 <Filter>Source Files</Filter> 19 <Filter>Source Files</Filter>
20 </ClCompile> 20 </ClCompile>
21 <ClCompile Include="precomp.cpp"> 21 <ClCompile Include="precomp.cpp">
22 <Filter>Source Files</Filter> 22 <Filter>Source Files</Filter>
23 </ClCompile> 23 </ClCompile>
24 <ClCompile Include="TestBundleExtension.cpp"> 24 <ClCompile Include="TestBootstrapperExtension.cpp">
25 <Filter>Source Files</Filter> 25 <Filter>Source Files</Filter>
26 </ClCompile> 26 </ClCompile>
27 </ItemGroup> 27 </ItemGroup>
@@ -29,8 +29,8 @@
29 <ClInclude Include="precomp.h"> 29 <ClInclude Include="precomp.h">
30 <Filter>Header Files</Filter> 30 <Filter>Header Files</Filter>
31 </ClInclude> 31 </ClInclude>
32 <ClInclude Include="TestBundleExtension.h"> 32 <ClInclude Include="TestBootstrapperExtension.h">
33 <Filter>Header Files</Filter> 33 <Filter>Header Files</Filter>
34 </ClInclude> 34 </ClInclude>
35 </ItemGroup> 35 </ItemGroup>
36</Project> \ No newline at end of file 36</Project>
diff --git a/src/api/burn/test/BextUtilUnitTest/BundleExtensionTests.cpp b/src/api/burn/test/BextUtilUnitTest/BootstrapperExtensionTests.cpp
index 5c5c5812..c2882587 100644
--- a/src/api/burn/test/BextUtilUnitTest/BundleExtensionTests.cpp
+++ b/src/api/burn/test/BextUtilUnitTest/BootstrapperExtensionTests.cpp
@@ -9,20 +9,20 @@ using namespace WixInternal::TestSupport::XunitExtensions;
9 9
10namespace BextUtilTests 10namespace BextUtilTests
11{ 11{
12 public ref class BundleExtension 12 public ref class BootstrapperExtension
13 { 13 {
14 public: 14 public:
15 [Fact] 15 [Fact]
16 void CanCreateTestBundleExtension() 16 void CanCreateTestBootstrapperExtension()
17 { 17 {
18 HRESULT hr = S_OK; 18 HRESULT hr = S_OK;
19 BUNDLE_EXTENSION_CREATE_ARGS args = { }; 19 BOOTSTRAPPER_EXTENSION_CREATE_ARGS args = { };
20 BUNDLE_EXTENSION_CREATE_RESULTS results = { }; 20 BOOTSTRAPPER_EXTENSION_CREATE_RESULTS results = { };
21 IBundleExtensionEngine* pEngine = NULL; 21 IBootstrapperExtensionEngine* pEngine = NULL;
22 IBundleExtension* pBundleExtension = NULL; 22 IBootstrapperExtension* pBootstrapperExtension = NULL;
23 23
24 args.cbSize = sizeof(args); 24 args.cbSize = sizeof(args);
25 args.wzBundleExtensionDataPath = L"test.xml"; 25 args.wzBootstrapperExtensionDataPath = L"test.xml";
26 26
27 results.cbSize = sizeof(results); 27 results.cbSize = sizeof(results);
28 28
@@ -31,13 +31,13 @@ namespace BextUtilTests
31 hr = BextInitializeFromCreateArgs(&args, &pEngine); 31 hr = BextInitializeFromCreateArgs(&args, &pEngine);
32 NativeAssert::Succeeded(hr, "Failed to create engine."); 32 NativeAssert::Succeeded(hr, "Failed to create engine.");
33 33
34 hr = TestBundleExtensionCreate(pEngine, &args, &results, &pBundleExtension); 34 hr = TestBootstrapperExtensionCreate(pEngine, &args, &results, &pBootstrapperExtension);
35 NativeAssert::Succeeded(hr, "Failed to create BootstrapperApplication."); 35 NativeAssert::Succeeded(hr, "Failed to create BootstrapperApplication.");
36 } 36 }
37 finally 37 finally
38 { 38 {
39 ReleaseObject(pEngine); 39 ReleaseObject(pEngine);
40 ReleaseObject(pBundleExtension); 40 ReleaseObject(pBootstrapperExtension);
41 } 41 }
42 } 42 }
43 }; 43 };
diff --git a/src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.cpp b/src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.cpp
new file mode 100644
index 00000000..225123da
--- /dev/null
+++ b/src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.cpp
@@ -0,0 +1,42 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3#include "precomp.h"
4#include "BextBaseBootstrapperExtension.h"
5#include "BextBaseBootstrapperExtensionProc.h"
6
7class CTestBootstrapperExtension : public CBextBaseBootstrapperExtension
8{
9public:
10 CTestBootstrapperExtension(
11 __in IBootstrapperExtensionEngine* pEngine
12 ) : CBextBaseBootstrapperExtension(pEngine)
13 {
14 }
15};
16
17HRESULT TestBootstrapperExtensionCreate(
18 __in IBootstrapperExtensionEngine* pEngine,
19 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
20 __inout BOOTSTRAPPER_EXTENSION_CREATE_RESULTS* pResults,
21 __out IBootstrapperExtension** ppBootstrapperExtension
22 )
23{
24 HRESULT hr = S_OK;
25 CTestBootstrapperExtension* pExtension = NULL;
26
27 pExtension = new CTestBootstrapperExtension(pEngine);
28 ExitOnNull(pExtension, hr, E_OUTOFMEMORY, "Failed to create new CTestBootstrapperExtension.");
29
30 hr = pExtension->Initialize(pArgs);
31 ExitOnFailure(hr, "CTestBootstrapperExtension initialization failed");
32
33 pResults->pfnBootstrapperExtensionProc = BextBaseBootstrapperExtensionProc;
34 pResults->pvBootstrapperExtensionProcContext = pExtension;
35
36 *ppBootstrapperExtension = pExtension;
37 pExtension = NULL;
38
39LExit:
40 ReleaseObject(pExtension);
41 return hr;
42}
diff --git a/src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.h b/src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.h
new file mode 100644
index 00000000..00e4243c
--- /dev/null
+++ b/src/api/burn/test/BextUtilUnitTest/TestBootstrapperExtension.h
@@ -0,0 +1,9 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4HRESULT TestBootstrapperExtensionCreate(
5 __in IBootstrapperExtensionEngine* pEngine,
6 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
7 __inout BOOTSTRAPPER_EXTENSION_CREATE_RESULTS* pResults,
8 __out IBootstrapperExtension** ppBootstrapperExtension
9 );
diff --git a/src/api/burn/test/BextUtilUnitTest/TestBundleExtension.cpp b/src/api/burn/test/BextUtilUnitTest/TestBundleExtension.cpp
deleted file mode 100644
index 921303bb..00000000
--- a/src/api/burn/test/BextUtilUnitTest/TestBundleExtension.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3#include "precomp.h"
4#include "BextBaseBundleExtension.h"
5#include "BextBaseBundleExtensionProc.h"
6
7class CTestBundleExtension : public CBextBaseBundleExtension
8{
9public:
10 CTestBundleExtension(
11 __in IBundleExtensionEngine* pEngine
12 ) : CBextBaseBundleExtension(pEngine)
13 {
14 }
15};
16
17HRESULT TestBundleExtensionCreate(
18 __in IBundleExtensionEngine* pEngine,
19 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
20 __inout BUNDLE_EXTENSION_CREATE_RESULTS* pResults,
21 __out IBundleExtension** ppBundleExtension
22 )
23{
24 HRESULT hr = S_OK;
25 CTestBundleExtension* pExtension = NULL;
26
27 pExtension = new CTestBundleExtension(pEngine);
28 ExitOnNull(pExtension, hr, E_OUTOFMEMORY, "Failed to create new CTestBundleExtension.");
29
30 hr = pExtension->Initialize(pArgs);
31 ExitOnFailure(hr, "CTestBundleExtension initialization failed");
32
33 pResults->pfnBundleExtensionProc = BextBaseBundleExtensionProc;
34 pResults->pvBundleExtensionProcContext = pExtension;
35
36 *ppBundleExtension = pExtension;
37 pExtension = NULL;
38
39LExit:
40 ReleaseObject(pExtension);
41 return hr;
42}
diff --git a/src/api/burn/test/BextUtilUnitTest/TestBundleExtension.h b/src/api/burn/test/BextUtilUnitTest/TestBundleExtension.h
deleted file mode 100644
index 5cfe8b39..00000000
--- a/src/api/burn/test/BextUtilUnitTest/TestBundleExtension.h
+++ /dev/null
@@ -1,9 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4HRESULT TestBundleExtensionCreate(
5 __in IBundleExtensionEngine* pEngine,
6 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
7 __inout BUNDLE_EXTENSION_CREATE_RESULTS* pResults,
8 __out IBundleExtension** ppBundleExtension
9 );
diff --git a/src/api/burn/test/BextUtilUnitTest/precomp.h b/src/api/burn/test/BextUtilUnitTest/precomp.h
index 00bf872f..893a2ac4 100644
--- a/src/api/burn/test/BextUtilUnitTest/precomp.h
+++ b/src/api/burn/test/BextUtilUnitTest/precomp.h
@@ -9,7 +9,7 @@
9#include <strutil.h> 9#include <strutil.h>
10#include <bextutil.h> 10#include <bextutil.h>
11 11
12#include "TestBundleExtension.h" 12#include "TestBootstrapperExtension.h"
13 13
14#pragma managed 14#pragma managed
15#include <vcclr.h> 15#include <vcclr.h>
diff --git a/src/api/wix/WixToolset.Data/Burn/BurnConstants.cs b/src/api/wix/WixToolset.Data/Burn/BurnConstants.cs
index 9e74827c..1b082952 100644
--- a/src/api/wix/WixToolset.Data/Burn/BurnConstants.cs
+++ b/src/api/wix/WixToolset.Data/Burn/BurnConstants.cs
@@ -11,13 +11,13 @@ namespace WixToolset.Data.Burn
11 public const string BundleLayoutOnlyPayloadsName = "BundleLayoutOnlyPayloads"; 11 public const string BundleLayoutOnlyPayloadsName = "BundleLayoutOnlyPayloads";
12 12
13 public const string BurnManifestWixOutputStreamName = "wix-burndata.xml"; 13 public const string BurnManifestWixOutputStreamName = "wix-burndata.xml";
14 public const string BundleExtensionDataWixOutputStreamName = "wix-bextdata"; 14 public const string BootstrapperExtensionDataWixOutputStreamName = "wix-bextdata";
15 public const string BootstrapperApplicationDataWixOutputStreamName = "wix-badata.xml"; 15 public const string BootstrapperApplicationDataWixOutputStreamName = "wix-badata.xml";
16 16
17 public const string BootstrapperApplicationDataNamespace = "http://wixtoolset.org/schemas/v4/BootstrapperApplicationData"; 17 public const string BootstrapperApplicationDataNamespace = "http://wixtoolset.org/schemas/v4/BootstrapperApplicationData";
18 public const string BundleExtensionDataNamespace = "http://wixtoolset.org/schemas/v4/BundleExtensionData"; 18 public const string BootstrapperExtensionDataNamespace = "http://wixtoolset.org/schemas/v4/BootstrapperExtensionData";
19 19
20 public const string BootstrapperApplicationDataSymbolDefinitionTag = "WixBootstrapperApplicationData"; 20 public const string BootstrapperApplicationDataSymbolDefinitionTag = "WixBootstrapperApplicationData";
21 public const string BundleExtensionSearchSymbolDefinitionTag = "WixBundleExtensionSearch"; 21 public const string BootstrapperExtensionSearchSymbolDefinitionTag = "WixBootstrapperExtensionSearch";
22 } 22 }
23} 23}
diff --git a/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs b/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs
index 688c34ed..facca956 100644
--- a/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs
+++ b/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs
@@ -130,7 +130,7 @@ namespace WixToolset.Data
130 WixBundleBundlePackagePayload, 130 WixBundleBundlePackagePayload,
131 WixBundleExePackage, 131 WixBundleExePackage,
132 WixBundleExePackagePayload, 132 WixBundleExePackagePayload,
133 WixBundleExtension, 133 WixBootstrapperExtension,
134 WixBundleHarvestedBundlePackage, 134 WixBundleHarvestedBundlePackage,
135 WixBundleHarvestedDependencyProvider, 135 WixBundleHarvestedDependencyProvider,
136 WixBundleHarvestedMsiPackage, 136 WixBundleHarvestedMsiPackage,
@@ -579,8 +579,8 @@ namespace WixToolset.Data
579 case SymbolDefinitionType.WixBundleCustomDataCell: 579 case SymbolDefinitionType.WixBundleCustomDataCell:
580 return SymbolDefinitions.WixBundleCustomDataCell; 580 return SymbolDefinitions.WixBundleCustomDataCell;
581 581
582 case SymbolDefinitionType.WixBundleExtension: 582 case SymbolDefinitionType.WixBootstrapperExtension:
583 return SymbolDefinitions.WixBundleExtension; 583 return SymbolDefinitions.WixBootstrapperExtension;
584 584
585 case SymbolDefinitionType.WixBundleExePackage: 585 case SymbolDefinitionType.WixBundleExePackage:
586 return SymbolDefinitions.WixBundleExePackage; 586 return SymbolDefinitions.WixBundleExePackage;
diff --git a/src/api/wix/WixToolset.Data/Symbols/WixBootstrapperExtensionSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixBootstrapperExtensionSymbol.cs
new file mode 100644
index 00000000..b53848fc
--- /dev/null
+++ b/src/api/wix/WixToolset.Data/Symbols/WixBootstrapperExtensionSymbol.cs
@@ -0,0 +1,44 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Symbols;
6
7 public static partial class SymbolDefinitions
8 {
9 public static readonly IntermediateSymbolDefinition WixBootstrapperExtension = new IntermediateSymbolDefinition(
10 SymbolDefinitionType.WixBootstrapperExtension,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixBootstrapperExtensionSymbolFields.PayloadRef), IntermediateFieldType.String),
14 },
15 typeof(WixBootstrapperExtensionSymbol));
16 }
17}
18
19namespace WixToolset.Data.Symbols
20{
21 public enum WixBootstrapperExtensionSymbolFields
22 {
23 PayloadRef,
24 }
25
26 public class WixBootstrapperExtensionSymbol : IntermediateSymbol
27 {
28 public WixBootstrapperExtensionSymbol() : base(SymbolDefinitions.WixBootstrapperExtension, null, null)
29 {
30 }
31
32 public WixBootstrapperExtensionSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixBootstrapperExtension, sourceLineNumber, id)
33 {
34 }
35
36 public IntermediateField this[WixBootstrapperExtensionSymbolFields index] => this.Fields[(int)index];
37
38 public string PayloadRef
39 {
40 get => (string)this.Fields[(int)WixBootstrapperExtensionSymbolFields.PayloadRef];
41 set => this.Set((int)WixBootstrapperExtensionSymbolFields.PayloadRef, value);
42 }
43 }
44}
diff --git a/src/api/wix/WixToolset.Data/Symbols/WixBundleCustomDataSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixBundleCustomDataSymbol.cs
index 0490f9f7..032ebda8 100644
--- a/src/api/wix/WixToolset.Data/Symbols/WixBundleCustomDataSymbol.cs
+++ b/src/api/wix/WixToolset.Data/Symbols/WixBundleCustomDataSymbol.cs
@@ -12,7 +12,7 @@ namespace WixToolset.Data
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleCustomDataSymbolFields.AttributeNames), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundleCustomDataSymbolFields.AttributeNames), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixBundleCustomDataSymbolFields.Type), IntermediateFieldType.Number), 14 new IntermediateFieldDefinition(nameof(WixBundleCustomDataSymbolFields.Type), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixBundleCustomDataSymbolFields.BundleExtensionRef), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixBundleCustomDataSymbolFields.BootstrapperExtensionRef), IntermediateFieldType.String),
16 }, 16 },
17 typeof(WixBundleCustomDataSymbol)); 17 typeof(WixBundleCustomDataSymbol));
18 } 18 }
@@ -24,14 +24,14 @@ namespace WixToolset.Data.Symbols
24 { 24 {
25 AttributeNames, 25 AttributeNames,
26 Type, 26 Type,
27 BundleExtensionRef, 27 BootstrapperExtensionRef,
28 } 28 }
29 29
30 public enum WixBundleCustomDataType 30 public enum WixBundleCustomDataType
31 { 31 {
32 Unknown, 32 Unknown,
33 BootstrapperApplication, 33 BootstrapperApplication,
34 BundleExtension, 34 BootstrapperExtension,
35 } 35 }
36 36
37 public class WixBundleCustomDataSymbol : IntermediateSymbol 37 public class WixBundleCustomDataSymbol : IntermediateSymbol
@@ -60,10 +60,10 @@ namespace WixToolset.Data.Symbols
60 set => this.Set((int)WixBundleCustomDataSymbolFields.Type, (int)value); 60 set => this.Set((int)WixBundleCustomDataSymbolFields.Type, (int)value);
61 } 61 }
62 62
63 public string BundleExtensionRef 63 public string BootstrapperExtensionRef
64 { 64 {
65 get => (string)this.Fields[(int)WixBundleCustomDataSymbolFields.BundleExtensionRef]; 65 get => (string)this.Fields[(int)WixBundleCustomDataSymbolFields.BootstrapperExtensionRef];
66 set => this.Set((int)WixBundleCustomDataSymbolFields.BundleExtensionRef, value); 66 set => this.Set((int)WixBundleCustomDataSymbolFields.BootstrapperExtensionRef, value);
67 } 67 }
68 68
69 public string[] AttributeNamesSeparated => this.AttributeNames.Split(AttributeNamesSeparator); 69 public string[] AttributeNamesSeparated => this.AttributeNames.Split(AttributeNamesSeparator);
diff --git a/src/api/wix/WixToolset.Data/Symbols/WixBundleExtensionSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixBundleExtensionSymbol.cs
deleted file mode 100644
index 8e6bea58..00000000
--- a/src/api/wix/WixToolset.Data/Symbols/WixBundleExtensionSymbol.cs
+++ /dev/null
@@ -1,44 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Symbols;
6
7 public static partial class SymbolDefinitions
8 {
9 public static readonly IntermediateSymbolDefinition WixBundleExtension = new IntermediateSymbolDefinition(
10 SymbolDefinitionType.WixBundleExtension,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixBundleExtensionSymbolFields.PayloadRef), IntermediateFieldType.String),
14 },
15 typeof(WixBundleExtensionSymbol));
16 }
17}
18
19namespace WixToolset.Data.Symbols
20{
21 public enum WixBundleExtensionSymbolFields
22 {
23 PayloadRef,
24 }
25
26 public class WixBundleExtensionSymbol : IntermediateSymbol
27 {
28 public WixBundleExtensionSymbol() : base(SymbolDefinitions.WixBundleExtension, null, null)
29 {
30 }
31
32 public WixBundleExtensionSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixBundleExtension, sourceLineNumber, id)
33 {
34 }
35
36 public IntermediateField this[WixBundleExtensionSymbolFields index] => this.Fields[(int)index];
37
38 public string PayloadRef
39 {
40 get => (string)this.Fields[(int)WixBundleExtensionSymbolFields.PayloadRef];
41 set => this.Set((int)WixBundleExtensionSymbolFields.PayloadRef, value);
42 }
43 }
44}
diff --git a/src/api/wix/WixToolset.Data/Symbols/WixSearchSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixSearchSymbol.cs
index 2d6a927c..5327d035 100644
--- a/src/api/wix/WixToolset.Data/Symbols/WixSearchSymbol.cs
+++ b/src/api/wix/WixToolset.Data/Symbols/WixSearchSymbol.cs
@@ -12,7 +12,7 @@ namespace WixToolset.Data
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixSearchSymbolFields.Variable), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixSearchSymbolFields.Variable), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixSearchSymbolFields.Condition), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(WixSearchSymbolFields.Condition), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixSearchSymbolFields.BundleExtensionRef), IntermediateFieldType.String), 15 new IntermediateFieldDefinition(nameof(WixSearchSymbolFields.BootstrapperExtensionRef), IntermediateFieldType.String),
16 }, 16 },
17 typeof(WixSearchSymbol)); 17 typeof(WixSearchSymbol));
18 } 18 }
@@ -24,7 +24,7 @@ namespace WixToolset.Data.Symbols
24 { 24 {
25 Variable, 25 Variable,
26 Condition, 26 Condition,
27 BundleExtensionRef, 27 BootstrapperExtensionRef,
28 } 28 }
29 29
30 public class WixSearchSymbol : IntermediateSymbol 30 public class WixSearchSymbol : IntermediateSymbol
@@ -51,10 +51,10 @@ namespace WixToolset.Data.Symbols
51 set => this.Set((int)WixSearchSymbolFields.Condition, value); 51 set => this.Set((int)WixSearchSymbolFields.Condition, value);
52 } 52 }
53 53
54 public string BundleExtensionRef 54 public string BootstrapperExtensionRef
55 { 55 {
56 get => (string)this.Fields[(int)WixSearchSymbolFields.BundleExtensionRef]; 56 get => (string)this.Fields[(int)WixSearchSymbolFields.BootstrapperExtensionRef];
57 set => this.Set((int)WixSearchSymbolFields.BundleExtensionRef, value); 57 set => this.Set((int)WixSearchSymbolFields.BootstrapperExtensionRef, value);
58 } 58 }
59 } 59 }
60} \ No newline at end of file 60}
diff --git a/src/api/wix/WixToolset.Extensibility/Services/IBurnBackendHelper.cs b/src/api/wix/WixToolset.Extensibility/Services/IBurnBackendHelper.cs
index 1b6a2828..a404a778 100644
--- a/src/api/wix/WixToolset.Extensibility/Services/IBurnBackendHelper.cs
+++ b/src/api/wix/WixToolset.Extensibility/Services/IBurnBackendHelper.cs
@@ -28,14 +28,14 @@ namespace WixToolset.Extensibility.Services
28 void AddBootstrapperApplicationData(IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false); 28 void AddBootstrapperApplicationData(IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false);
29 29
30 /// <summary> 30 /// <summary>
31 /// Adds the given XML to the BundleExtensionData manifest for the given bundle extension. 31 /// Adds the given XML to the BootstrapperExtensionData manifest for the given bundle extension.
32 /// </summary> 32 /// </summary>
33 /// <param name="extensionId">The bundle extension's id.</param> 33 /// <param name="extensionId">The bundle extension's id.</param>
34 /// <param name="xml">A valid XML fragment.</param> 34 /// <param name="xml">A valid XML fragment.</param>
35 void AddBundleExtensionData(string extensionId, string xml); 35 void AddBootstrapperExtensionData(string extensionId, string xml);
36 36
37 /// <summary> 37 /// <summary>
38 /// Adds an XML element for the given symbol to the BundleExtensionData manifest for the given bundle extension. 38 /// Adds an XML element for the given symbol to the BootstrapperExtensionData manifest for the given bundle extension.
39 /// The symbol's name is used for the element's name. 39 /// The symbol's name is used for the element's name.
40 /// All of the symbol's fields are used for the element's attributes. 40 /// All of the symbol's fields are used for the element's attributes.
41 /// </summary> 41 /// </summary>
@@ -45,6 +45,6 @@ namespace WixToolset.Extensibility.Services
45 /// If true and the symbol has an Id, 45 /// If true and the symbol has an Id,
46 /// then an Id attribute is created with a value of the symbol's Id. 46 /// then an Id attribute is created with a value of the symbol's Id.
47 /// </param> 47 /// </param>
48 void AddBundleExtensionData(string extensionId, IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false); 48 void AddBootstrapperExtensionData(string extensionId, IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false);
49 } 49 }
50} 50}
diff --git a/src/api/wix/WixToolset.Extensibility/Services/IParseHelper.cs b/src/api/wix/WixToolset.Extensibility/Services/IParseHelper.cs
index e7856c7c..b3b1b4c1 100644
--- a/src/api/wix/WixToolset.Extensibility/Services/IParseHelper.cs
+++ b/src/api/wix/WixToolset.Extensibility/Services/IParseHelper.cs
@@ -201,8 +201,8 @@ namespace WixToolset.Extensibility.Services
201 /// <param name="variable">The Burn variable to store the result into.</param> 201 /// <param name="variable">The Burn variable to store the result into.</param>
202 /// <param name="condition">A condition to test before evaluating the search.</param> 202 /// <param name="condition">A condition to test before evaluating the search.</param>
203 /// <param name="after">The search that this one will execute after.</param> 203 /// <param name="after">The search that this one will execute after.</param>
204 /// <param name="bundleExtensionId">The id of the bundle extension that handles this search.</param> 204 /// <param name="bootstrapperExtensionId">The id of the bootstrapper extension that handles this search.</param>
205 void CreateWixSearchSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, string elementName, Identifier id, string variable, string condition, string after, string bundleExtensionId); 205 void CreateWixSearchSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, string elementName, Identifier id, string variable, string condition, string after, string bootstrapperExtensionId);
206 206
207 /// <summary> 207 /// <summary>
208 /// 208 ///
diff --git a/src/burn/engine/EngineForExtension.cpp b/src/burn/engine/EngineForExtension.cpp
index bb134a61..e19cb802 100644
--- a/src/burn/engine/EngineForExtension.cpp
+++ b/src/burn/engine/EngineForExtension.cpp
@@ -10,8 +10,8 @@ static HRESULT BEEngineEscapeString(
10 ) 10 )
11{ 11{
12 HRESULT hr = S_OK; 12 HRESULT hr = S_OK;
13 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS, pArgs); 13 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_ARGS, pArgs);
14 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS, pResults); 14 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_ESCAPESTRING_RESULTS, pResults);
15 15
16 hr = ExternalEngineEscapeString(pArgs->wzIn, pResults->wzOut, &pResults->cchOut); 16 hr = ExternalEngineEscapeString(pArgs->wzIn, pResults->wzOut, &pResults->cchOut);
17 17
@@ -26,8 +26,8 @@ static HRESULT BEEngineEvaluateCondition(
26 ) 26 )
27{ 27{
28 HRESULT hr = S_OK; 28 HRESULT hr = S_OK;
29 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS, pArgs); 29 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_ARGS, pArgs);
30 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS, pResults); 30 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS, pResults);
31 31
32 hr = ExternalEngineEvaluateCondition(pContext->pEngineState, pArgs->wzCondition, &pResults->f); 32 hr = ExternalEngineEvaluateCondition(pContext->pEngineState, pArgs->wzCondition, &pResults->f);
33 33
@@ -42,8 +42,8 @@ static HRESULT BEEngineFormatString(
42 ) 42 )
43{ 43{
44 HRESULT hr = S_OK; 44 HRESULT hr = S_OK;
45 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS, pArgs); 45 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_ARGS, pArgs);
46 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS, pResults); 46 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_FORMATSTRING_RESULTS, pResults);
47 47
48 hr = ExternalEngineFormatString(pContext->pEngineState, pArgs->wzIn, pResults->wzOut, &pResults->cchOut); 48 hr = ExternalEngineFormatString(pContext->pEngineState, pArgs->wzIn, pResults->wzOut, &pResults->cchOut);
49 49
@@ -58,8 +58,8 @@ static HRESULT BEEngineGetVariableNumeric(
58 ) 58 )
59{ 59{
60 HRESULT hr = S_OK; 60 HRESULT hr = S_OK;
61 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS, pArgs); 61 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS, pArgs);
62 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS, pResults); 62 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS, pResults);
63 63
64 hr = ExternalEngineGetVariableNumeric(pContext->pEngineState, pArgs->wzVariable, &pResults->llValue); 64 hr = ExternalEngineGetVariableNumeric(pContext->pEngineState, pArgs->wzVariable, &pResults->llValue);
65 65
@@ -74,8 +74,8 @@ static HRESULT BEEngineGetVariableString(
74 ) 74 )
75{ 75{
76 HRESULT hr = S_OK; 76 HRESULT hr = S_OK;
77 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS, pArgs); 77 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS, pArgs);
78 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS, pResults); 78 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS, pResults);
79 79
80 hr = ExternalEngineGetVariableString(pContext->pEngineState, pArgs->wzVariable, pResults->wzValue, &pResults->cchValue); 80 hr = ExternalEngineGetVariableString(pContext->pEngineState, pArgs->wzVariable, pResults->wzValue, &pResults->cchValue);
81 81
@@ -90,8 +90,8 @@ static HRESULT BEEngineGetVariableVersion(
90 ) 90 )
91{ 91{
92 HRESULT hr = S_OK; 92 HRESULT hr = S_OK;
93 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS, pArgs); 93 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS, pArgs);
94 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS, pResults); 94 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS, pResults);
95 95
96 hr = ExternalEngineGetVariableVersion(pContext->pEngineState, pArgs->wzVariable, pResults->wzValue, &pResults->cchValue); 96 hr = ExternalEngineGetVariableVersion(pContext->pEngineState, pArgs->wzVariable, pResults->wzValue, &pResults->cchValue);
97 97
@@ -107,24 +107,24 @@ static HRESULT BEEngineLog(
107{ 107{
108 HRESULT hr = S_OK; 108 HRESULT hr = S_OK;
109 REPORT_LEVEL rl = REPORT_NONE; 109 REPORT_LEVEL rl = REPORT_NONE;
110 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_LOG_ARGS, pArgs); 110 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_LOG_ARGS, pArgs);
111 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_LOG_RESULTS, pResults); 111 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_LOG_RESULTS, pResults);
112 112
113 switch (pArgs->level) 113 switch (pArgs->level)
114 { 114 {
115 case BUNDLE_EXTENSION_LOG_LEVEL_STANDARD: 115 case BOOTSTRAPPER_EXTENSION_LOG_LEVEL_STANDARD:
116 rl = REPORT_STANDARD; 116 rl = REPORT_STANDARD;
117 break; 117 break;
118 118
119 case BUNDLE_EXTENSION_LOG_LEVEL_VERBOSE: 119 case BOOTSTRAPPER_EXTENSION_LOG_LEVEL_VERBOSE:
120 rl = REPORT_VERBOSE; 120 rl = REPORT_VERBOSE;
121 break; 121 break;
122 122
123 case BUNDLE_EXTENSION_LOG_LEVEL_DEBUG: 123 case BOOTSTRAPPER_EXTENSION_LOG_LEVEL_DEBUG:
124 rl = REPORT_DEBUG; 124 rl = REPORT_DEBUG;
125 break; 125 break;
126 126
127 case BUNDLE_EXTENSION_LOG_LEVEL_ERROR: 127 case BOOTSTRAPPER_EXTENSION_LOG_LEVEL_ERROR:
128 rl = REPORT_ERROR; 128 rl = REPORT_ERROR;
129 break; 129 break;
130 130
@@ -146,8 +146,8 @@ static HRESULT BEEngineSetVariableNumeric(
146 ) 146 )
147{ 147{
148 HRESULT hr = S_OK; 148 HRESULT hr = S_OK;
149 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS, pArgs); 149 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS, pArgs);
150 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS, pResults); 150 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS, pResults);
151 151
152 hr = ExternalEngineSetVariableNumeric(pContext->pEngineState, pArgs->wzVariable, pArgs->llValue); 152 hr = ExternalEngineSetVariableNumeric(pContext->pEngineState, pArgs->wzVariable, pArgs->llValue);
153 153
@@ -162,8 +162,8 @@ static HRESULT BEEngineSetVariableString(
162 ) 162 )
163{ 163{
164 HRESULT hr = S_OK; 164 HRESULT hr = S_OK;
165 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS, pArgs); 165 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS, pArgs);
166 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS, pResults); 166 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS, pResults);
167 167
168 hr = ExternalEngineSetVariableString(pContext->pEngineState, pArgs->wzVariable, pArgs->wzValue, pArgs->fFormatted); 168 hr = ExternalEngineSetVariableString(pContext->pEngineState, pArgs->wzVariable, pArgs->wzValue, pArgs->fFormatted);
169 169
@@ -178,8 +178,8 @@ static HRESULT BEEngineSetVariableVersion(
178 ) 178 )
179{ 179{
180 HRESULT hr = S_OK; 180 HRESULT hr = S_OK;
181 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS, pArgs); 181 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS, pArgs);
182 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS, pResults); 182 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS, pResults);
183 183
184 hr = ExternalEngineSetVariableVersion(pContext->pEngineState, pArgs->wzVariable, pArgs->wzValue); 184 hr = ExternalEngineSetVariableVersion(pContext->pEngineState, pArgs->wzVariable, pArgs->wzValue);
185 185
@@ -194,8 +194,8 @@ static HRESULT BEEngineCompareVersions(
194 ) 194 )
195{ 195{
196 HRESULT hr = S_OK; 196 HRESULT hr = S_OK;
197 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS, pArgs); 197 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS, pArgs);
198 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS, pResults); 198 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS, pResults);
199 199
200 hr = ExternalEngineCompareVersions(pArgs->wzVersion1, pArgs->wzVersion2, &pResults->nResult); 200 hr = ExternalEngineCompareVersions(pArgs->wzVersion1, pArgs->wzVersion2, &pResults->nResult);
201 201
@@ -210,8 +210,8 @@ static HRESULT BEEngineGetRelatedBundleVariable(
210) 210)
211{ 211{
212 HRESULT hr = S_OK; 212 HRESULT hr = S_OK;
213 ValidateMessageArgs(hr, pvArgs, BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS, pArgs); 213 ValidateMessageArgs(hr, pvArgs, BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_ARGS, pArgs);
214 ValidateMessageResults(hr, pvResults, BUNDLE_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS, pResults); 214 ValidateMessageResults(hr, pvResults, BOOTSTRAPPER_EXTENSION_ENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS, pResults);
215 215
216 hr = ExternalEngineGetRelatedBundleVariable(pContext->pEngineState, pArgs->wzBundleId, pArgs->wzVariable, pResults->wzValue, &pResults->cchValue); 216 hr = ExternalEngineGetRelatedBundleVariable(pContext->pEngineState, pArgs->wzBundleId, pArgs->wzVariable, pResults->wzValue, &pResults->cchValue);
217 217
@@ -220,7 +220,7 @@ LExit:
220} 220}
221 221
222HRESULT WINAPI EngineForExtensionProc( 222HRESULT WINAPI EngineForExtensionProc(
223 __in BUNDLE_EXTENSION_ENGINE_MESSAGE message, 223 __in BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE message,
224 __in const LPVOID pvArgs, 224 __in const LPVOID pvArgs,
225 __inout LPVOID pvResults, 225 __inout LPVOID pvResults,
226 __in_opt LPVOID pvContext 226 __in_opt LPVOID pvContext
@@ -236,40 +236,40 @@ HRESULT WINAPI EngineForExtensionProc(
236 236
237 switch (message) 237 switch (message)
238 { 238 {
239 case BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING: 239 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING:
240 hr = BEEngineEscapeString(pContext, pvArgs, pvResults); 240 hr = BEEngineEscapeString(pContext, pvArgs, pvResults);
241 break; 241 break;
242 case BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION: 242 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION:
243 hr = BEEngineEvaluateCondition(pContext, pvArgs, pvResults); 243 hr = BEEngineEvaluateCondition(pContext, pvArgs, pvResults);
244 break; 244 break;
245 case BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING: 245 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_FORMATSTRING:
246 hr = BEEngineFormatString(pContext, pvArgs, pvResults); 246 hr = BEEngineFormatString(pContext, pvArgs, pvResults);
247 break; 247 break;
248 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC: 248 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC:
249 hr = BEEngineGetVariableNumeric(pContext, pvArgs, pvResults); 249 hr = BEEngineGetVariableNumeric(pContext, pvArgs, pvResults);
250 break; 250 break;
251 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING: 251 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING:
252 hr = BEEngineGetVariableString(pContext, pvArgs, pvResults); 252 hr = BEEngineGetVariableString(pContext, pvArgs, pvResults);
253 break; 253 break;
254 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION: 254 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION:
255 hr = BEEngineGetVariableVersion(pContext, pvArgs, pvResults); 255 hr = BEEngineGetVariableVersion(pContext, pvArgs, pvResults);
256 break; 256 break;
257 case BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG: 257 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_LOG:
258 hr = BEEngineLog(pContext, pvArgs, pvResults); 258 hr = BEEngineLog(pContext, pvArgs, pvResults);
259 break; 259 break;
260 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC: 260 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC:
261 hr = BEEngineSetVariableNumeric(pContext, pvArgs, pvResults); 261 hr = BEEngineSetVariableNumeric(pContext, pvArgs, pvResults);
262 break; 262 break;
263 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING: 263 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING:
264 hr = BEEngineSetVariableString(pContext, pvArgs, pvResults); 264 hr = BEEngineSetVariableString(pContext, pvArgs, pvResults);
265 break; 265 break;
266 case BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION: 266 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION:
267 hr = BEEngineSetVariableVersion(pContext, pvArgs, pvResults); 267 hr = BEEngineSetVariableVersion(pContext, pvArgs, pvResults);
268 break; 268 break;
269 case BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS: 269 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS:
270 hr = BEEngineCompareVersions(pContext, pvArgs, pvResults); 270 hr = BEEngineCompareVersions(pContext, pvArgs, pvResults);
271 break; 271 break;
272 case BUNDLE_EXTENSION_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE: 272 case BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE:
273 hr = BEEngineGetRelatedBundleVariable(pContext, pvArgs, pvResults); 273 hr = BEEngineGetRelatedBundleVariable(pContext, pvArgs, pvResults);
274 break; 274 break;
275 default: 275 default:
diff --git a/src/burn/engine/EngineForExtension.h b/src/burn/engine/EngineForExtension.h
index bad5f08a..b52d4f0a 100644
--- a/src/burn/engine/EngineForExtension.h
+++ b/src/burn/engine/EngineForExtension.h
@@ -16,7 +16,7 @@ typedef struct _BURN_EXTENSION_ENGINE_CONTEXT
16// function declarations 16// function declarations
17 17
18HRESULT WINAPI EngineForExtensionProc( 18HRESULT WINAPI EngineForExtensionProc(
19 __in BUNDLE_EXTENSION_ENGINE_MESSAGE message, 19 __in BOOTSTRAPPER_EXTENSION_ENGINE_MESSAGE message,
20 __in const LPVOID pvArgs, 20 __in const LPVOID pvArgs,
21 __inout LPVOID pvResults, 21 __inout LPVOID pvResults,
22 __in_opt LPVOID pvContext 22 __in_opt LPVOID pvContext
diff --git a/src/burn/engine/burnextension.cpp b/src/burn/engine/burnextension.cpp
index ee4b1542..536dbcc9 100644
--- a/src/burn/engine/burnextension.cpp
+++ b/src/burn/engine/burnextension.cpp
@@ -5,7 +5,7 @@
5 5
6static HRESULT SendRequiredBextMessage( 6static HRESULT SendRequiredBextMessage(
7 __in BURN_EXTENSION* pExtension, 7 __in BURN_EXTENSION* pExtension,
8 __in BUNDLE_EXTENSION_MESSAGE message, 8 __in BOOTSTRAPPER_EXTENSION_MESSAGE message,
9 __in const LPVOID pvArgs, 9 __in const LPVOID pvArgs,
10 __inout LPVOID pvResults 10 __inout LPVOID pvResults
11 ); 11 );
@@ -13,7 +13,7 @@ static HRESULT SendRequiredBextMessage(
13// function definitions 13// function definitions
14 14
15/******************************************************************* 15/*******************************************************************
16 BurnExtensionParseFromXml - 16 BurnExtensionParseFromXml -
17 17
18*******************************************************************/ 18*******************************************************************/
19EXTERN_C HRESULT BurnExtensionParseFromXml( 19EXTERN_C HRESULT BurnExtensionParseFromXml(
@@ -28,22 +28,22 @@ EXTERN_C HRESULT BurnExtensionParseFromXml(
28 DWORD cNodes = 0; 28 DWORD cNodes = 0;
29 LPWSTR scz = NULL; 29 LPWSTR scz = NULL;
30 30
31 // Select BundleExtension nodes. 31 // Select BootstrapperExtension nodes.
32 hr = XmlSelectNodes(pixnBundle, L"BundleExtension", &pixnNodes); 32 hr = XmlSelectNodes(pixnBundle, L"BootstrapperExtension", &pixnNodes);
33 ExitOnFailure(hr, "Failed to select BundleExtension nodes."); 33 ExitOnFailure(hr, "Failed to select BootstrapperExtension nodes.");
34 34
35 // Get BundleExtension node count. 35 // Get BootstrapperExtension node count.
36 hr = pixnNodes->get_length((long*)&cNodes); 36 hr = pixnNodes->get_length((long*)&cNodes);
37 ExitOnFailure(hr, "Failed to get BundleExtension node count."); 37 ExitOnFailure(hr, "Failed to get BootstrapperExtension node count.");
38 38
39 if (!cNodes) 39 if (!cNodes)
40 { 40 {
41 ExitFunction(); 41 ExitFunction();
42 } 42 }
43 43
44 // Allocate memory for BundleExtensions. 44 // Allocate memory for BootstrapperExtensions.
45 pBurnExtensions->rgExtensions = (BURN_EXTENSION*)MemAlloc(sizeof(BURN_EXTENSION) * cNodes, TRUE); 45 pBurnExtensions->rgExtensions = (BURN_EXTENSION*)MemAlloc(sizeof(BURN_EXTENSION) * cNodes, TRUE);
46 ExitOnNull(pBurnExtensions->rgExtensions, hr, E_OUTOFMEMORY, "Failed to allocate memory for BundleExtension structs."); 46 ExitOnNull(pBurnExtensions->rgExtensions, hr, E_OUTOFMEMORY, "Failed to allocate memory for BootstrapperExtension structs.");
47 47
48 pBurnExtensions->cExtensions = cNodes; 48 pBurnExtensions->cExtensions = cNodes;
49 49
@@ -64,7 +64,7 @@ EXTERN_C HRESULT BurnExtensionParseFromXml(
64 ExitOnFailure(hr, "Failed to get @EntryPayloadSourcePath."); 64 ExitOnFailure(hr, "Failed to get @EntryPayloadSourcePath.");
65 65
66 hr = PayloadFindEmbeddedBySourcePath(pBaPayloads->sdhPayloads, scz, &pExtension->pEntryPayload); 66 hr = PayloadFindEmbeddedBySourcePath(pBaPayloads->sdhPayloads, scz, &pExtension->pEntryPayload);
67 ExitOnFailure(hr, "Failed to find BundleExtension EntryPayload '%ls'.", pExtension->sczId); 67 ExitOnFailure(hr, "Failed to find BootstrapperExtension EntryPayload '%ls'.", pExtension->sczId);
68 68
69 // prepare next iteration 69 // prepare next iteration
70 ReleaseNullObject(pixnNode); 70 ReleaseNullObject(pixnNode);
@@ -81,7 +81,7 @@ LExit:
81} 81}
82 82
83/******************************************************************* 83/*******************************************************************
84 BurnExtensionUninitialize - 84 BurnExtensionUninitialize -
85 85
86*******************************************************************/ 86*******************************************************************/
87EXTERN_C void BurnExtensionUninitialize( 87EXTERN_C void BurnExtensionUninitialize(
@@ -104,7 +104,7 @@ EXTERN_C void BurnExtensionUninitialize(
104} 104}
105 105
106/******************************************************************* 106/*******************************************************************
107 BurnExtensionLoad - 107 BurnExtensionLoad -
108 108
109*******************************************************************/ 109*******************************************************************/
110EXTERN_C HRESULT BurnExtensionLoad( 110EXTERN_C HRESULT BurnExtensionLoad(
@@ -113,59 +113,59 @@ EXTERN_C HRESULT BurnExtensionLoad(
113 ) 113 )
114{ 114{
115 HRESULT hr = S_OK; 115 HRESULT hr = S_OK;
116 LPWSTR sczBundleExtensionDataPath = NULL; 116 LPWSTR sczBootstrapperExtensionDataPath = NULL;
117 BUNDLE_EXTENSION_CREATE_ARGS args = { }; 117 BOOTSTRAPPER_EXTENSION_CREATE_ARGS args = { };
118 BUNDLE_EXTENSION_CREATE_RESULTS results = { }; 118 BOOTSTRAPPER_EXTENSION_CREATE_RESULTS results = { };
119 119
120 if (!pBurnExtensions->rgExtensions || !pBurnExtensions->cExtensions) 120 if (!pBurnExtensions->rgExtensions || !pBurnExtensions->cExtensions)
121 { 121 {
122 ExitFunction(); 122 ExitFunction();
123 } 123 }
124 124
125 hr = PathConcat(pEngineContext->pEngineState->userExperience.sczTempDirectory, L"BundleExtensionData.xml", &sczBundleExtensionDataPath); 125 hr = PathConcat(pEngineContext->pEngineState->userExperience.sczTempDirectory, L"BootstrapperExtensionData.xml", &sczBootstrapperExtensionDataPath);
126 ExitOnFailure(hr, "Failed to get BundleExtensionDataPath."); 126 ExitOnFailure(hr, "Failed to get BootstrapperExtensionDataPath.");
127 127
128 for (DWORD i = 0; i < pBurnExtensions->cExtensions; ++i) 128 for (DWORD i = 0; i < pBurnExtensions->cExtensions; ++i)
129 { 129 {
130 BURN_EXTENSION* pExtension = &pBurnExtensions->rgExtensions[i]; 130 BURN_EXTENSION* pExtension = &pBurnExtensions->rgExtensions[i];
131 131
132 memset(&args, 0, sizeof(BUNDLE_EXTENSION_CREATE_ARGS)); 132 memset(&args, 0, sizeof(BOOTSTRAPPER_EXTENSION_CREATE_ARGS));
133 memset(&results, 0, sizeof(BUNDLE_EXTENSION_CREATE_RESULTS)); 133 memset(&results, 0, sizeof(BOOTSTRAPPER_EXTENSION_CREATE_RESULTS));
134 134
135 args.cbSize = sizeof(BUNDLE_EXTENSION_CREATE_ARGS); 135 args.cbSize = sizeof(BOOTSTRAPPER_EXTENSION_CREATE_ARGS);
136 args.pfnBundleExtensionEngineProc = EngineForExtensionProc; 136 args.pfnBootstrapperExtensionEngineProc = EngineForExtensionProc;
137 args.pvBundleExtensionEngineProcContext = pEngineContext; 137 args.pvBootstrapperExtensionEngineProcContext = pEngineContext;
138 args.qwEngineAPIVersion = MAKEQWORDVERSION(2021, 4, 27, 0); 138 args.qwEngineAPIVersion = MAKEQWORDVERSION(2021, 4, 27, 0);
139 args.wzBootstrapperWorkingFolder = pEngineContext->pEngineState->userExperience.sczTempDirectory; 139 args.wzBootstrapperWorkingFolder = pEngineContext->pEngineState->userExperience.sczTempDirectory;
140 args.wzBundleExtensionDataPath = sczBundleExtensionDataPath; 140 args.wzBootstrapperExtensionDataPath = sczBootstrapperExtensionDataPath;
141 args.wzExtensionId = pExtension->sczId; 141 args.wzExtensionId = pExtension->sczId;
142 142
143 results.cbSize = sizeof(BUNDLE_EXTENSION_CREATE_RESULTS); 143 results.cbSize = sizeof(BOOTSTRAPPER_EXTENSION_CREATE_RESULTS);
144 144
145 // Load BundleExtension DLL. 145 // Load BootstrapperExtension DLL.
146 pExtension->hBextModule = ::LoadLibraryExW(pExtension->pEntryPayload->sczLocalFilePath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); 146 pExtension->hBextModule = ::LoadLibraryExW(pExtension->pEntryPayload->sczLocalFilePath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
147 ExitOnNullWithLastError(pExtension->hBextModule, hr, "Failed to load BundleExtension DLL '%ls': '%ls'.", pExtension->sczId, pExtension->pEntryPayload->sczLocalFilePath); 147 ExitOnNullWithLastError(pExtension->hBextModule, hr, "Failed to load BootstrapperExtension DLL '%ls': '%ls'.", pExtension->sczId, pExtension->pEntryPayload->sczLocalFilePath);
148 148
149 // Get BundleExtensionCreate entry-point. 149 // Get BootstrapperExtensionCreate entry-point.
150 PFN_BUNDLE_EXTENSION_CREATE pfnCreate = (PFN_BUNDLE_EXTENSION_CREATE)::GetProcAddress(pExtension->hBextModule, "BundleExtensionCreate"); 150 PFN_BOOTSTRAPPER_EXTENSION_CREATE pfnCreate = (PFN_BOOTSTRAPPER_EXTENSION_CREATE)::GetProcAddress(pExtension->hBextModule, "BootstrapperExtensionCreate");
151 ExitOnNullWithLastError(pfnCreate, hr, "Failed to get BundleExtensionCreate entry-point '%ls'.", pExtension->sczId); 151 ExitOnNullWithLastError(pfnCreate, hr, "Failed to get BootstrapperExtensionCreate entry-point '%ls'.", pExtension->sczId);
152 152
153 // Create BundleExtension. 153 // Create BootstrapperExtension.
154 hr = pfnCreate(&args, &results); 154 hr = pfnCreate(&args, &results);
155 ExitOnFailure(hr, "Failed to create BundleExtension '%ls'.", pExtension->sczId); 155 ExitOnFailure(hr, "Failed to create BootstrapperExtension '%ls'.", pExtension->sczId);
156 156
157 pExtension->pfnBurnExtensionProc = results.pfnBundleExtensionProc; 157 pExtension->pfnBurnExtensionProc = results.pfnBootstrapperExtensionProc;
158 pExtension->pvBurnExtensionProcContext = results.pvBundleExtensionProcContext; 158 pExtension->pvBurnExtensionProcContext = results.pvBootstrapperExtensionProcContext;
159 } 159 }
160 160
161LExit: 161LExit:
162 ReleaseStr(sczBundleExtensionDataPath); 162 ReleaseStr(sczBootstrapperExtensionDataPath);
163 163
164 return hr; 164 return hr;
165} 165}
166 166
167/******************************************************************* 167/*******************************************************************
168 BurnExtensionUnload - 168 BurnExtensionUnload -
169 169
170*******************************************************************/ 170*******************************************************************/
171EXTERN_C void BurnExtensionUnload( 171EXTERN_C void BurnExtensionUnload(
@@ -182,18 +182,18 @@ EXTERN_C void BurnExtensionUnload(
182 182
183 if (pExtension->hBextModule) 183 if (pExtension->hBextModule)
184 { 184 {
185 // Get BundleExtensionDestroy entry-point and call it if it exists. 185 // Get BootstrapperExtensionDestroy entry-point and call it if it exists.
186 PFN_BUNDLE_EXTENSION_DESTROY pfnDestroy = (PFN_BUNDLE_EXTENSION_DESTROY)::GetProcAddress(pExtension->hBextModule, "BundleExtensionDestroy"); 186 PFN_BOOTSTRAPPER_EXTENSION_DESTROY pfnDestroy = (PFN_BOOTSTRAPPER_EXTENSION_DESTROY)::GetProcAddress(pExtension->hBextModule, "BootstrapperExtensionDestroy");
187 if (pfnDestroy) 187 if (pfnDestroy)
188 { 188 {
189 pfnDestroy(); 189 pfnDestroy();
190 } 190 }
191 191
192 // Free BundleExtension DLL. 192 // Free BootstrapperExtension DLL.
193 if (!::FreeLibrary(pExtension->hBextModule)) 193 if (!::FreeLibrary(pExtension->hBextModule))
194 { 194 {
195 hr = HRESULT_FROM_WIN32(::GetLastError()); 195 hr = HRESULT_FROM_WIN32(::GetLastError());
196 TraceError(hr, "Failed to unload BundleExtension DLL."); 196 TraceError(hr, "Failed to unload BootstrapperExtension DLL.");
197 } 197 }
198 pExtension->hBextModule = NULL; 198 pExtension->hBextModule = NULL;
199 } 199 }
@@ -234,8 +234,8 @@ EXTERN_C BEEAPI BurnExtensionPerformSearch(
234 ) 234 )
235{ 235{
236 HRESULT hr = S_OK; 236 HRESULT hr = S_OK;
237 BUNDLE_EXTENSION_SEARCH_ARGS args = { }; 237 BOOTSTRAPPER_EXTENSION_SEARCH_ARGS args = { };
238 BUNDLE_EXTENSION_SEARCH_RESULTS results = { }; 238 BOOTSTRAPPER_EXTENSION_SEARCH_RESULTS results = { };
239 239
240 args.cbSize = sizeof(args); 240 args.cbSize = sizeof(args);
241 args.wzId = wzSearchId; 241 args.wzId = wzSearchId;
@@ -243,8 +243,8 @@ EXTERN_C BEEAPI BurnExtensionPerformSearch(
243 243
244 results.cbSize = sizeof(results); 244 results.cbSize = sizeof(results);
245 245
246 hr = SendRequiredBextMessage(pExtension, BUNDLE_EXTENSION_MESSAGE_SEARCH, &args, &results); 246 hr = SendRequiredBextMessage(pExtension, BOOTSTRAPPER_EXTENSION_MESSAGE_SEARCH, &args, &results);
247 ExitOnFailure(hr, "BundleExtension '%ls' Search '%ls' failed.", pExtension->sczId, wzSearchId); 247 ExitOnFailure(hr, "BootstrapperExtension '%ls' Search '%ls' failed.", pExtension->sczId, wzSearchId);
248 248
249LExit: 249LExit:
250 return hr; 250 return hr;
@@ -252,7 +252,7 @@ LExit:
252 252
253static HRESULT SendRequiredBextMessage( 253static HRESULT SendRequiredBextMessage(
254 __in BURN_EXTENSION* pExtension, 254 __in BURN_EXTENSION* pExtension,
255 __in BUNDLE_EXTENSION_MESSAGE message, 255 __in BOOTSTRAPPER_EXTENSION_MESSAGE message,
256 __in const LPVOID pvArgs, 256 __in const LPVOID pvArgs,
257 __inout LPVOID pvResults 257 __inout LPVOID pvResults
258 ) 258 )
diff --git a/src/burn/engine/burnextension.h b/src/burn/engine/burnextension.h
index 3529ef38..d6926647 100644
--- a/src/burn/engine/burnextension.h
+++ b/src/burn/engine/burnextension.h
@@ -18,7 +18,7 @@ typedef struct _BURN_EXTENSION
18 BURN_PAYLOAD* pEntryPayload; 18 BURN_PAYLOAD* pEntryPayload;
19 19
20 HMODULE hBextModule; 20 HMODULE hBextModule;
21 PFN_BUNDLE_EXTENSION_PROC pfnBurnExtensionProc; 21 PFN_BOOTSTRAPPER_EXTENSION_PROC pfnBurnExtensionProc;
22 LPVOID pvBurnExtensionProcContext; 22 LPVOID pvBurnExtensionProcContext;
23} BURN_EXTENSION; 23} BURN_EXTENSION;
24 24
diff --git a/src/burn/engine/engine.cpp b/src/burn/engine/engine.cpp
index 9daa18a1..619ff0d1 100644
--- a/src/burn/engine/engine.cpp
+++ b/src/burn/engine/engine.cpp
@@ -535,7 +535,7 @@ static HRESULT RunNormal(
535 535
536 // Load the extensions. 536 // Load the extensions.
537 hr = BurnExtensionLoad(&pEngineState->extensions, &extensionEngineContext); 537 hr = BurnExtensionLoad(&pEngineState->extensions, &extensionEngineContext);
538 ExitOnFailure(hr, "Failed to load BundleExtensions."); 538 ExitOnFailure(hr, "Failed to load BootstrapperExtensions.");
539 539
540 // The secondary bootstrapper application only gets one chance to execute. That means 540 // The secondary bootstrapper application only gets one chance to execute. That means
541 // first time through we run the primary bootstrapper application and on reload we run 541 // first time through we run the primary bootstrapper application and on reload we run
diff --git a/src/burn/engine/engine.vcxproj b/src/burn/engine/engine.vcxproj
index 73985d51..62e03941 100644
--- a/src/burn/engine/engine.vcxproj
+++ b/src/burn/engine/engine.vcxproj
@@ -104,8 +104,8 @@
104 <ClInclude Include="approvedexe.h" /> 104 <ClInclude Include="approvedexe.h" />
105 <ClInclude Include="..\..\api\burn\inc\BootstrapperApplication.h" /> 105 <ClInclude Include="..\..\api\burn\inc\BootstrapperApplication.h" />
106 <ClInclude Include="..\..\api\burn\inc\BootstrapperEngine.h" /> 106 <ClInclude Include="..\..\api\burn\inc\BootstrapperEngine.h" />
107 <ClInclude Include="..\..\api\burn\inc\BundleExtension.h" /> 107 <ClInclude Include="..\..\api\burn\inc\BootstrapperExtension.h" />
108 <ClInclude Include="..\..\api\burn\inc\BundleExtensionEngine.h" /> 108 <ClInclude Include="..\..\api\burn\inc\BootstrapperExtensionEngine.h" />
109 <ClInclude Include="ba.h" /> 109 <ClInclude Include="ba.h" />
110 <ClInclude Include="bacallback.h" /> 110 <ClInclude Include="bacallback.h" />
111 <ClInclude Include="bundlepackageengine.h" /> 111 <ClInclude Include="bundlepackageengine.h" />
diff --git a/src/burn/engine/precomp.h b/src/burn/engine/precomp.h
index 3b9693ff..348c78ce 100644
--- a/src/burn/engine/precomp.h
+++ b/src/burn/engine/precomp.h
@@ -62,7 +62,7 @@
62#include <butil.h> 62#include <butil.h>
63 63
64#include "BootstrapperApplication.h" 64#include "BootstrapperApplication.h"
65#include "BundleExtension.h" 65#include "BootstrapperExtension.h"
66 66
67#include "platform.h" 67#include "platform.h"
68#include "variant.h" 68#include "variant.h"
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml
index f4cc2820..975a3805 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml
@@ -8,8 +8,8 @@
8 <Payload Id="pay00kQk8rVqabvZJ20B.w1mpx7GDo" FilePath="thm.xml" FileSize="7980" Hash="7A88582165EEE4CA1D23F1B7DD58F8023552E049" Packaging="embedded" SourcePath="u0" /> 8 <Payload Id="pay00kQk8rVqabvZJ20B.w1mpx7GDo" FilePath="thm.xml" FileSize="7980" Hash="7A88582165EEE4CA1D23F1B7DD58F8023552E049" Packaging="embedded" SourcePath="u0" />
9 <Payload Id="payI2_GHsNfx8LnXWC6YRRG.VuyhI4" FilePath="thm.wxl" FileSize="4194" Hash="906294A9515835C5C8F4C5E86A32E179041C90DD" Packaging="embedded" SourcePath="u1" /> 9 <Payload Id="payI2_GHsNfx8LnXWC6YRRG.VuyhI4" FilePath="thm.wxl" FileSize="4194" Hash="906294A9515835C5C8F4C5E86A32E179041C90DD" Packaging="embedded" SourcePath="u1" />
10 <Payload Id="payjqSD44latbvJnf4vAQuVMUST73A" FilePath="logo.png" FileSize="852" Hash="239F10674BF6022854C1F1BF7C91955BDE34D3E4" Packaging="embedded" SourcePath="u2" /> 10 <Payload Id="payjqSD44latbvJnf4vAQuVMUST73A" FilePath="logo.png" FileSize="852" Hash="239F10674BF6022854C1F1BF7C91955BDE34D3E4" Packaging="embedded" SourcePath="u2" />
11 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" FileSize="3698" Hash="AADECC6EF50E87D0642A5667CD612EF53E2CFB9A" Packaging="embedded" SourcePath="u4" /> 11 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" FileSize="3698" Hash="AADECC6EF50E87D0642A5667CD612EF53E2CFB9A" Packaging="embedded" SourcePath="u4" />
12 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u5" /> 12 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u5" />
13 </UX> 13 </UX>
14 <Container Id="WixAttachedContainer" FileSize="6959" Hash="4FC82B3432B5892D2A4EC593264A916DBDA9CE45" FilePath="BundleA.exe" AttachedIndex="1" Attached="yes" Primary="yes" /> 14 <Container Id="WixAttachedContainer" FileSize="6959" Hash="4FC82B3432B5892D2A4EC593264A916DBDA9CE45" FilePath="BundleA.exe" AttachedIndex="1" Attached="yes" Primary="yes" />
15 <Payload Id="PackageA" FilePath="PackageA.msi" FileSize="32768" Hash="89C61F8A105A81B08036401152A1FDE67CDC0158" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" /> 15 <Payload Id="PackageA" FilePath="PackageA.msi" FileSize="32768" Hash="89C61F8A105A81B08036401152A1FDE67CDC0158" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" />
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/BundlePackage_Multiple_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/BundlePackage_Multiple_manifest.xml
index b75899cc..a8696537 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/BundlePackage_Multiple_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/BundlePackage_Multiple_manifest.xml
@@ -38,8 +38,8 @@
38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" SourcePath="u29" /> 38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" SourcePath="u29" />
39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" SourcePath="u31" /> 39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" SourcePath="u31" />
40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" SourcePath="u32" /> 40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" SourcePath="u32" />
41 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" SourcePath="u33" /> 41 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" SourcePath="u33" />
42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" SourcePath="u34" /> 42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" SourcePath="u34" />
43 </UX> 43 </UX>
44 <Container Id="WixAttachedContainer" FileSize="15696370" Hash="0F9966B421400E481D394DB4C4D7F0F92548E5BEB79B98880C926E817E8C1F381EC8A17053E2E66AE7132A3C9ECE441629E6A1FB3452C5C9282280C40252F141" FilePath="MultipleBundlePackagesBundle.exe" AttachedIndex="1" Attached="yes" Primary="yes" /> 44 <Container Id="WixAttachedContainer" FileSize="15696370" Hash="0F9966B421400E481D394DB4C4D7F0F92548E5BEB79B98880C926E817E8C1F381EC8A17053E2E66AE7132A3C9ECE441629E6A1FB3452C5C9282280C40252F141" FilePath="MultipleBundlePackagesBundle.exe" AttachedIndex="1" Attached="yes" Primary="yes" />
45 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1439328" CertificateRootPublicKeyIdentifier="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateRootThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" /> 45 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1439328" CertificateRootPublicKeyIdentifier="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateRootThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" />
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/ExePackage_PerUserArpEntry_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/ExePackage_PerUserArpEntry_manifest.xml
index 680f6c5f..167bfbbb 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/ExePackage_PerUserArpEntry_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/ExePackage_PerUserArpEntry_manifest.xml
@@ -38,8 +38,8 @@
38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" SourcePath="u29" /> 38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" SourcePath="u29" />
39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" SourcePath="u31" /> 39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" SourcePath="u31" />
40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" SourcePath="u32" /> 40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" SourcePath="u32" />
41 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" SourcePath="u33" /> 41 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" SourcePath="u33" />
42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" SourcePath="u34" /> 42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" SourcePath="u34" />
43 </UX> 43 </UX>
44 <Container Id="WixAttachedContainer" FileSize="24029" Hash="E54459AA91F60561F8AFBBCB5AEA19DB0377DB53FC3B4944E46995C2D5F97FE23E7487148DC25C14E7888CF841664EA65540529DB5E191591A83B30075098506" FilePath="PerUserArpEntryExePackage.exe" AttachedIndex="1" Attached="yes" Primary="yes" /> 44 <Container Id="WixAttachedContainer" FileSize="24029" Hash="E54459AA91F60561F8AFBBCB5AEA19DB0377DB53FC3B4944E46995C2D5F97FE23E7487148DC25C14E7888CF841664EA65540529DB5E191591A83B30075098506" FilePath="PerUserArpEntryExePackage.exe" AttachedIndex="1" Attached="yes" Primary="yes" />
45 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1439328" CertificateRootPublicKeyIdentifier="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateRootThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" /> 45 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1439328" CertificateRootPublicKeyIdentifier="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateRootThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" />
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/Failure_BundleD_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/Failure_BundleD_manifest.xml
index bfe1dfee..4e15fddb 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/Failure_BundleD_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/Failure_BundleD_manifest.xml
@@ -39,8 +39,8 @@
39 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" SourcePath="u29" /> 39 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" SourcePath="u29" />
40 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" SourcePath="u31" /> 40 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" SourcePath="u31" />
41 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" SourcePath="u32" /> 41 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" SourcePath="u32" />
42 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" SourcePath="u33" /> 42 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" SourcePath="u33" />
43 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" SourcePath="u34" /> 43 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" SourcePath="u34" />
44 </UX> 44 </UX>
45 <Container Id="WixAttachedContainer" FileSize="24029" Hash="03F9C95A2ADA5563D3D937C0161F22A76E12F2F0AF2AA6BE567292D0AB122E2C42990E97CA9C1EE9A5F43A571B01C4ED7A3EA5759A6836AC8BFD959D7FFDCB18" FilePath="BundleD.exe" AttachedIndex="1" Attached="yes" Primary="yes" /> 45 <Container Id="WixAttachedContainer" FileSize="24029" Hash="03F9C95A2ADA5563D3D937C0161F22A76E12F2F0AF2AA6BE567292D0AB122E2C42990E97CA9C1EE9A5F43A571B01C4ED7A3EA5759A6836AC8BFD959D7FFDCB18" FilePath="BundleD.exe" AttachedIndex="1" Attached="yes" Primary="yes" />
46 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1439328" CertificateRootPublicKeyIdentifier="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateRootThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" /> 46 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1439328" CertificateRootPublicKeyIdentifier="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateRootThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" />
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml
index 73c6078d..c9294707 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml
@@ -8,8 +8,8 @@
8 <Payload Id="pay00kQk8rVqabvZJ20B.w1mpx7GDo" FilePath="thm.xml" FileSize="7980" Hash="7A88582165EEE4CA1D23F1B7DD58F8023552E049" Packaging="embedded" SourcePath="u0" /> 8 <Payload Id="pay00kQk8rVqabvZJ20B.w1mpx7GDo" FilePath="thm.xml" FileSize="7980" Hash="7A88582165EEE4CA1D23F1B7DD58F8023552E049" Packaging="embedded" SourcePath="u0" />
9 <Payload Id="payI2_GHsNfx8LnXWC6YRRG.VuyhI4" FilePath="thm.wxl" FileSize="4194" Hash="906294A9515835C5C8F4C5E86A32E179041C90DD" Packaging="embedded" SourcePath="u1" /> 9 <Payload Id="payI2_GHsNfx8LnXWC6YRRG.VuyhI4" FilePath="thm.wxl" FileSize="4194" Hash="906294A9515835C5C8F4C5E86A32E179041C90DD" Packaging="embedded" SourcePath="u1" />
10 <Payload Id="payjqSD44latbvJnf4vAQuVMUST73A" FilePath="logo.png" FileSize="852" Hash="239F10674BF6022854C1F1BF7C91955BDE34D3E4" Packaging="embedded" SourcePath="u2" /> 10 <Payload Id="payjqSD44latbvJnf4vAQuVMUST73A" FilePath="logo.png" FileSize="852" Hash="239F10674BF6022854C1F1BF7C91955BDE34D3E4" Packaging="embedded" SourcePath="u2" />
11 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" FileSize="6742" Hash="E124C9502891F1277A47D1AEC0F1755BA605E6E3" Packaging="embedded" SourcePath="u4" /> 11 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" FileSize="6742" Hash="E124C9502891F1277A47D1AEC0F1755BA605E6E3" Packaging="embedded" SourcePath="u4" />
12 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u5" /> 12 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u5" />
13 </UX> 13 </UX>
14 <Container Id="WixAttachedContainer" FileSize="16403" Hash="AABC770A92954AE4234A322A3621333B3FDDE225" FilePath="BundleAv1.exe" AttachedIndex="1" Attached="yes" Primary="yes" /> 14 <Container Id="WixAttachedContainer" FileSize="16403" Hash="AABC770A92954AE4234A322A3621333B3FDDE225" FilePath="BundleAv1.exe" AttachedIndex="1" Attached="yes" Primary="yes" />
15 <Payload Id="PackageA" FilePath="PackageA.msi" FileSize="32768" Hash="C763E00CD117F79643F58442B87F51721554686D" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" /> 15 <Payload Id="PackageA" FilePath="PackageA.msi" FileSize="32768" Hash="C763E00CD117F79643F58442B87F51721554686D" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" />
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/MsuPackageFixture_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/MsuPackageFixture_manifest.xml
index 675183b1..824cf489 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/MsuPackageFixture_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/MsuPackageFixture_manifest.xml
@@ -4,8 +4,8 @@
4 <RelatedBundle Id="{B94478B1-E1F3-4700-9CE8-6AA090854AEC}" Action="Upgrade" /> 4 <RelatedBundle Id="{B94478B1-E1F3-4700-9CE8-6AA090854AEC}" Action="Upgrade" />
5 <UX PrimaryPayloadId="payaQenPi7_8hq6T._EXtBW0NvR7gA"> 5 <UX PrimaryPayloadId="payaQenPi7_8hq6T._EXtBW0NvR7gA">
6 <Payload Id="payaQenPi7_8hq6T._EXtBW0NvR7gA" FilePath="fakeba.exe" SourcePath="u0" /> 6 <Payload Id="payaQenPi7_8hq6T._EXtBW0NvR7gA" FilePath="fakeba.exe" SourcePath="u0" />
7 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" SourcePath="u1" /> 7 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" SourcePath="u1" />
8 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" SourcePath="u2" /> 8 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" SourcePath="u2" />
9 </UX> 9 </UX>
10 <Container Id="WixAttachedContainer" FileSize="119" Hash="06D28293FD57CD231E125EF9C82418A488928A98832A6937A77A3283A17A5C37F8D619C51759319A57E8F8A948FA73E8C5814185A0114130F3213AB268073555" FilePath="test.exe" AttachedIndex="1" Attached="yes" Primary="yes" /> 10 <Container Id="WixAttachedContainer" FileSize="119" Hash="06D28293FD57CD231E125EF9C82418A488928A98832A6937A77A3283A17A5C37F8D619C51759319A57E8F8A948FA73E8C5814185A0114130F3213AB268073555" FilePath="test.exe" AttachedIndex="1" Attached="yes" Primary="yes" />
11 <Payload Id="test.msu" FilePath="test.msu" FileSize="28" Hash="B040F02D2F90E04E9AFBDC91C00CEB5DF97D48E205D96DC0A44E10AF8870794DAE62CA70224F12BE9112AA730BBE470CA81FB5617AAC690E832F3F84510E92BA" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" /> 11 <Payload Id="test.msu" FilePath="test.msu" FileSize="28" Hash="B040F02D2F90E04E9AFBDC91C00CEB5DF97D48E205D96DC0A44E10AF8870794DAE62CA70224F12BE9112AA730BBE470CA81FB5617AAC690E832F3F84510E92BA" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" />
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_manifest.xml
index c5ca03b6..d1fd96bb 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_manifest.xml
@@ -38,8 +38,8 @@
38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" FileSize="2369" Hash="39C07C31077AAFDC0DD208273AA41654CAD80FDD" Packaging="embedded" SourcePath="u29" /> 38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" FileSize="2369" Hash="39C07C31077AAFDC0DD208273AA41654CAD80FDD" Packaging="embedded" SourcePath="u29" />
39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" FileSize="245760" Hash="6499FA21D178131DDE13A4EF44ABEC32E91D65D4" Packaging="embedded" SourcePath="u31" /> 39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" FileSize="245760" Hash="6499FA21D178131DDE13A4EF44ABEC32E91D65D4" Packaging="embedded" SourcePath="u31" />
40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" FileSize="11264" Hash="9E6452891E401EB211DD41550A09FDF98EC0992F" Packaging="embedded" SourcePath="u32" /> 40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" FileSize="11264" Hash="9E6452891E401EB211DD41550A09FDF98EC0992F" Packaging="embedded" SourcePath="u32" />
41 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" FileSize="14292" Hash="CDF09A0723F4F33C13670BBAFCFFA7E660E15DFC" Packaging="embedded" SourcePath="u33" /> 41 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" FileSize="14292" Hash="CDF09A0723F4F33C13670BBAFCFFA7E660E15DFC" Packaging="embedded" SourcePath="u33" />
42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u34" /> 42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u34" />
43 </UX> 43 </UX>
44 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1479400" Hash="5A84A8E612E270E27D0061D58DB6B470153BE1F9" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" /> 44 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1479400" Hash="5A84A8E612E270E27D0061D58DB6B470153BE1F9" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" />
45 <Payload Id="PackageA" FilePath="PackageAv1.msi" FileSize="32768" Hash="2369B16B7219B3C834DFBC5D2AF8B2EF8803D43D" Packaging="external" SourcePath="PackageAv1.msi" /> 45 <Payload Id="PackageA" FilePath="PackageAv1.msi" FileSize="32768" Hash="2369B16B7219B3C834DFBC5D2AF8B2EF8803D43D" Packaging="external" SourcePath="PackageAv1.msi" />
diff --git a/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_modified_manifest.xml b/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_modified_manifest.xml
index 52091ebd..2f829586 100644
--- a/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_modified_manifest.xml
+++ b/src/burn/test/BurnUnitTest/TestData/PlanTest/Slipstream_BundleA_modified_manifest.xml
@@ -38,8 +38,8 @@
38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" FileSize="2369" Hash="39C07C31077AAFDC0DD208273AA41654CAD80FDD" Packaging="embedded" SourcePath="u29" /> 38 <Payload Id="payqeWUzIVaEqjuRXN0z8ECC3Y4tCc" FilePath="3082\mbapreq.wxl" FileSize="2369" Hash="39C07C31077AAFDC0DD208273AA41654CAD80FDD" Packaging="embedded" SourcePath="u29" />
39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" FileSize="245760" Hash="6499FA21D178131DDE13A4EF44ABEC32E91D65D4" Packaging="embedded" SourcePath="u31" /> 39 <Payload Id="paylfeHEjJSSTnNzY9QMZM2Ye3Ipy4" FilePath="mbapreq.dll" FileSize="245760" Hash="6499FA21D178131DDE13A4EF44ABEC32E91D65D4" Packaging="embedded" SourcePath="u31" />
40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" FileSize="11264" Hash="9E6452891E401EB211DD41550A09FDF98EC0992F" Packaging="embedded" SourcePath="u32" /> 40 <Payload Id="payDPxs6uy8nbky.R7zhir2RRAfc.c" FilePath="WixToolset.Mba.Host.dll" FileSize="11264" Hash="9E6452891E401EB211DD41550A09FDF98EC0992F" Packaging="embedded" SourcePath="u32" />
41 <Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" FileSize="14292" Hash="CDF09A0723F4F33C13670BBAFCFFA7E660E15DFC" Packaging="embedded" SourcePath="u33" /> 41 <Payload Id="uxmKgAFS4cS31ZH_Myfqo5J4kHixQ" FilePath="BootstrapperApplicationData.xml" FileSize="14292" Hash="CDF09A0723F4F33C13670BBAFCFFA7E660E15DFC" Packaging="embedded" SourcePath="u33" />
42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u34" /> 42 <Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BootstrapperExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u34" />
43 </UX> 43 </UX>
44 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1479400" Hash="5A84A8E612E270E27D0061D58DB6B470153BE1F9" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" /> 44 <Payload Id="NetFx48Web" FilePath="redist\ndp48-web.exe" FileSize="1479400" Hash="5A84A8E612E270E27D0061D58DB6B470153BE1F9" DownloadUrl="https://go.microsoft.com/fwlink/?LinkId=2085155" Packaging="external" SourcePath="redist\ndp48-web.exe" />
45 <Payload Id="PackageA" FilePath="PackageAv1.msi" FileSize="32768" Hash="2369B16B7219B3C834DFBC5D2AF8B2EF8803D43D" Packaging="external" SourcePath="PackageAv1.msi" /> 45 <Payload Id="PackageA" FilePath="PackageAv1.msi" FileSize="32768" Hash="2369B16B7219B3C834DFBC5D2AF8B2EF8803D43D" Packaging="external" SourcePath="PackageAv1.msi" />
diff --git a/src/burn/test/BurnUnitTest/precomp.h b/src/burn/test/BurnUnitTest/precomp.h
index 0f98480a..7a84dd41 100644
--- a/src/burn/test/BurnUnitTest/precomp.h
+++ b/src/burn/test/BurnUnitTest/precomp.h
@@ -38,7 +38,7 @@
38#include <butil.h> 38#include <butil.h>
39 39
40#include "BootstrapperApplication.h" 40#include "BootstrapperApplication.h"
41#include "BundleExtension.h" 41#include "BootstrapperExtension.h"
42 42
43#include "platform.h" 43#include "platform.h"
44#include "variant.h" 44#include "variant.h"
diff --git a/src/clean.cmd b/src/clean.cmd
index f2f10cd3..6164a8f9 100644
--- a/src/clean.cmd
+++ b/src/clean.cmd
@@ -22,6 +22,7 @@ if exist "%_NUGET_CACHE%\wixinternal.testsupport" rd /s/q "%_NUGET_CACHE%\wixint
22if exist "%_NUGET_CACHE%\wixinternal.core.testpackage" rd /s/q "%_NUGET_CACHE%\wixinternal.core.testpackage" 22if exist "%_NUGET_CACHE%\wixinternal.core.testpackage" rd /s/q "%_NUGET_CACHE%\wixinternal.core.testpackage"
23if exist "%_NUGET_CACHE%\wixtoolset.bal.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.bal.wixext" 23if exist "%_NUGET_CACHE%\wixtoolset.bal.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.bal.wixext"
24if exist "%_NUGET_CACHE%\wixtoolset.bootstrapperapplications.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.bootstrapperapplications.wixext" 24if exist "%_NUGET_CACHE%\wixtoolset.bootstrapperapplications.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.bootstrapperapplications.wixext"
25if exist "%_NUGET_CACHE%\wixtoolset.bootstrapperextensionapi" rd /s/q "%_NUGET_CACHE%\wixtoolset.bootstrapperextensionapi"
25if exist "%_NUGET_CACHE%\wixtoolset.bextutil" rd /s/q "%_NUGET_CACHE%\wixtoolset.bextutil" 26if exist "%_NUGET_CACHE%\wixtoolset.bextutil" rd /s/q "%_NUGET_CACHE%\wixtoolset.bextutil"
26if exist "%_NUGET_CACHE%\wixtoolset.burn" rd /s/q "%_NUGET_CACHE%\wixtoolset.burn" 27if exist "%_NUGET_CACHE%\wixtoolset.burn" rd /s/q "%_NUGET_CACHE%\wixtoolset.burn"
27if exist "%_NUGET_CACHE%\wixtoolset.complus.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.complus.wixext" 28if exist "%_NUGET_CACHE%\wixtoolset.complus.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.complus.wixext"
diff --git a/src/ext/NetFx/be/NetfxBundleExtension.cpp b/src/ext/NetFx/be/NetfxBootstrapperExtension.cpp
index 838a97c1..ab30e378 100644
--- a/src/ext/NetFx/be/NetfxBundleExtension.cpp
+++ b/src/ext/NetFx/be/NetfxBootstrapperExtension.cpp
@@ -1,11 +1,11 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. 1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 2
3#include "precomp.h" 3#include "precomp.h"
4#include "BextBaseBundleExtension.h" 4#include "BextBaseBootstrapperExtension.h"
5 5
6class CWixNetfxBundleExtension : public CBextBaseBundleExtension 6class CWixNetfxBootstrapperExtension : public CBextBaseBootstrapperExtension
7{ 7{
8public: // IBundleExtension 8public: // IBootstrapperExtension
9 virtual STDMETHODIMP Search( 9 virtual STDMETHODIMP Search(
10 __in LPCWSTR wzId, 10 __in LPCWSTR wzId,
11 __in LPCWSTR wzVariable 11 __in LPCWSTR wzVariable
@@ -18,18 +18,18 @@ public: // IBundleExtension
18 return hr; 18 return hr;
19 } 19 }
20 20
21public: //CBextBaseBundleExtension 21public: //CBextBaseBootstrapperExtension
22 virtual STDMETHODIMP Initialize( 22 virtual STDMETHODIMP Initialize(
23 __in const BUNDLE_EXTENSION_CREATE_ARGS* pCreateArgs 23 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pCreateArgs
24 ) 24 )
25 { 25 {
26 HRESULT hr = S_OK; 26 HRESULT hr = S_OK;
27 LPWSTR sczModulePath = NULL; 27 LPWSTR sczModulePath = NULL;
28 IXMLDOMDocument* pixdManifest = NULL; 28 IXMLDOMDocument* pixdManifest = NULL;
29 IXMLDOMNode* pixnBundleExtension = NULL; 29 IXMLDOMNode* pixnBootstrapperExtension = NULL;
30 30
31 hr = __super::Initialize(pCreateArgs); 31 hr = __super::Initialize(pCreateArgs);
32 BextExitOnFailure(hr, "CBextBaseBundleExtension initialization failed."); 32 BextExitOnFailure(hr, "CBextBaseBootstrapperExtension initialization failed.");
33 33
34 hr = PathForCurrentProcess(&sczModulePath, m_hInstance); 34 hr = PathForCurrentProcess(&sczModulePath, m_hInstance);
35 BextExitOnFailure(hr, "Failed to get bundle extension path."); 35 BextExitOnFailure(hr, "Failed to get bundle extension path.");
@@ -37,17 +37,17 @@ public: //CBextBaseBundleExtension
37 hr = PathGetDirectory(sczModulePath, &m_sczBaseDirectory); 37 hr = PathGetDirectory(sczModulePath, &m_sczBaseDirectory);
38 BextExitOnFailure(hr, "Failed to get bundle extension base directory."); 38 BextExitOnFailure(hr, "Failed to get bundle extension base directory.");
39 39
40 hr = XmlLoadDocumentFromFile(m_sczBundleExtensionDataPath, &pixdManifest); 40 hr = XmlLoadDocumentFromFile(m_sczBootstrapperExtensionDataPath, &pixdManifest);
41 BextExitOnFailure(hr, "Failed to load bundle extension manifest from path: %ls", m_sczBundleExtensionDataPath); 41 BextExitOnFailure(hr, "Failed to load bundle extension manifest from path: %ls", m_sczBootstrapperExtensionDataPath);
42 42
43 hr = BextGetBundleExtensionDataNode(pixdManifest, NETFX_BUNDLE_EXTENSION_ID, &pixnBundleExtension); 43 hr = BextGetBootstrapperExtensionDataNode(pixdManifest, NETFX_BOOTSTRAPPER_EXTENSION_ID, &pixnBootstrapperExtension);
44 BextExitOnFailure(hr, "Failed to get BundleExtension '%ls'", NETFX_BUNDLE_EXTENSION_ID); 44 BextExitOnFailure(hr, "Failed to get BootstrapperExtension '%ls'", NETFX_BOOTSTRAPPER_EXTENSION_ID);
45 45
46 hr = NetfxSearchParseFromXml(&m_searches, pixnBundleExtension); 46 hr = NetfxSearchParseFromXml(&m_searches, pixnBootstrapperExtension);
47 BextExitOnFailure(hr, "Failed to parse searches from bundle extension manifest."); 47 BextExitOnFailure(hr, "Failed to parse searches from bundle extension manifest.");
48 48
49 LExit: 49 LExit:
50 ReleaseObject(pixnBundleExtension); 50 ReleaseObject(pixnBootstrapperExtension);
51 ReleaseObject(pixdManifest); 51 ReleaseObject(pixdManifest);
52 ReleaseStr(sczModulePath); 52 ReleaseStr(sczModulePath);
53 53
@@ -55,17 +55,17 @@ public: //CBextBaseBundleExtension
55 } 55 }
56 56
57public: 57public:
58 CWixNetfxBundleExtension( 58 CWixNetfxBootstrapperExtension(
59 __in HINSTANCE hInstance, 59 __in HINSTANCE hInstance,
60 __in IBundleExtensionEngine* pEngine 60 __in IBootstrapperExtensionEngine* pEngine
61 ) : CBextBaseBundleExtension(pEngine) 61 ) : CBextBaseBootstrapperExtension(pEngine)
62 { 62 {
63 m_searches = { }; 63 m_searches = { };
64 m_hInstance = hInstance; 64 m_hInstance = hInstance;
65 m_sczBaseDirectory = NULL; 65 m_sczBaseDirectory = NULL;
66 } 66 }
67 67
68 ~CWixNetfxBundleExtension() 68 ~CWixNetfxBootstrapperExtension()
69 { 69 {
70 NetfxSearchUninitialize(&m_searches); 70 NetfxSearchUninitialize(&m_searches);
71 ReleaseStr(m_sczBaseDirectory); 71 ReleaseStr(m_sczBaseDirectory);
@@ -77,23 +77,23 @@ private:
77 LPWSTR m_sczBaseDirectory; 77 LPWSTR m_sczBaseDirectory;
78}; 78};
79 79
80HRESULT NetfxBundleExtensionCreate( 80HRESULT NetfxBootstrapperExtensionCreate(
81 __in HINSTANCE hInstance, 81 __in HINSTANCE hInstance,
82 __in IBundleExtensionEngine* pEngine, 82 __in IBootstrapperExtensionEngine* pEngine,
83 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs, 83 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
84 __out IBundleExtension** ppBundleExtension 84 __out IBootstrapperExtension** ppBootstrapperExtension
85 ) 85 )
86{ 86{
87 HRESULT hr = S_OK; 87 HRESULT hr = S_OK;
88 CWixNetfxBundleExtension* pExtension = NULL; 88 CWixNetfxBootstrapperExtension* pExtension = NULL;
89 89
90 pExtension = new CWixNetfxBundleExtension(hInstance, pEngine); 90 pExtension = new CWixNetfxBootstrapperExtension(hInstance, pEngine);
91 BextExitOnNull(pExtension, hr, E_OUTOFMEMORY, "Failed to create new CWixNetfxBundleExtension."); 91 BextExitOnNull(pExtension, hr, E_OUTOFMEMORY, "Failed to create new CWixNetfxBootstrapperExtension.");
92 92
93 hr = pExtension->Initialize(pArgs); 93 hr = pExtension->Initialize(pArgs);
94 BextExitOnFailure(hr, "CWixNetfxBundleExtension initialization failed."); 94 BextExitOnFailure(hr, "CWixNetfxBootstrapperExtension initialization failed.");
95 95
96 *ppBundleExtension = pExtension; 96 *ppBootstrapperExtension = pExtension;
97 pExtension = NULL; 97 pExtension = NULL;
98 98
99LExit: 99LExit:
diff --git a/src/ext/NetFx/be/NetfxBootstrapperExtension.h b/src/ext/NetFx/be/NetfxBootstrapperExtension.h
new file mode 100644
index 00000000..36563dae
--- /dev/null
+++ b/src/ext/NetFx/be/NetfxBootstrapperExtension.h
@@ -0,0 +1,17 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5// constants
6
7#define NETFX_BOOTSTRAPPER_EXTENSION_ID BOOTSTRAPPER_EXTENSION_DECORATION(L"NetfxBootstrapperExtension")
8
9
10// function declarations
11
12HRESULT NetfxBootstrapperExtensionCreate(
13 __in HINSTANCE hInstance,
14 __in IBootstrapperExtensionEngine* pEngine,
15 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
16 __out IBootstrapperExtension** ppBootstrapperExtension
17 );
diff --git a/src/ext/NetFx/be/NetfxBundleExtension.h b/src/ext/NetFx/be/NetfxBundleExtension.h
deleted file mode 100644
index 0746dbed..00000000
--- a/src/ext/NetFx/be/NetfxBundleExtension.h
+++ /dev/null
@@ -1,17 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5// constants
6
7#define NETFX_BUNDLE_EXTENSION_ID BUNDLE_EXTENSION_DECORATION(L"NetfxBundleExtension")
8
9
10// function declarations
11
12HRESULT NetfxBundleExtensionCreate(
13 __in HINSTANCE hInstance,
14 __in IBundleExtensionEngine* pEngine,
15 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
16 __out IBundleExtension** ppBundleExtension
17 );
diff --git a/src/ext/NetFx/be/detectnetcore.cpp b/src/ext/NetFx/be/detectnetcore.cpp
index 3ed26549..c20cc831 100644
--- a/src/ext/NetFx/be/detectnetcore.cpp
+++ b/src/ext/NetFx/be/detectnetcore.cpp
@@ -45,7 +45,7 @@ LExit:
45HRESULT NetfxPerformDetectNetCore( 45HRESULT NetfxPerformDetectNetCore(
46 __in LPCWSTR wzVariable, 46 __in LPCWSTR wzVariable,
47 __in NETFX_SEARCH* pSearch, 47 __in NETFX_SEARCH* pSearch,
48 __in IBundleExtensionEngine* pEngine, 48 __in IBootstrapperExtensionEngine* pEngine,
49 __in LPCWSTR wzBaseDirectory 49 __in LPCWSTR wzBaseDirectory
50 ) 50 )
51{ 51{
diff --git a/src/ext/NetFx/be/detectnetcore.h b/src/ext/NetFx/be/detectnetcore.h
index ef93b39b..cd664b57 100644
--- a/src/ext/NetFx/be/detectnetcore.h
+++ b/src/ext/NetFx/be/detectnetcore.h
@@ -4,6 +4,6 @@
4HRESULT NetfxPerformDetectNetCore( 4HRESULT NetfxPerformDetectNetCore(
5 __in LPCWSTR wzVariable, 5 __in LPCWSTR wzVariable,
6 __in NETFX_SEARCH* pSearch, 6 __in NETFX_SEARCH* pSearch,
7 __in IBundleExtensionEngine* pEngine, 7 __in IBootstrapperExtensionEngine* pEngine,
8 __in LPCWSTR wzBaseDirectory 8 __in LPCWSTR wzBaseDirectory
9 ); 9 );
diff --git a/src/ext/NetFx/be/detectnetcoresdk.cpp b/src/ext/NetFx/be/detectnetcoresdk.cpp
index 332d8712..03162eea 100644
--- a/src/ext/NetFx/be/detectnetcoresdk.cpp
+++ b/src/ext/NetFx/be/detectnetcoresdk.cpp
@@ -27,7 +27,7 @@ LExit:
27HRESULT NetfxPerformDetectNetCoreSdk( 27HRESULT NetfxPerformDetectNetCoreSdk(
28 __in LPCWSTR wzVariable, 28 __in LPCWSTR wzVariable,
29 __in NETFX_SEARCH* pSearch, 29 __in NETFX_SEARCH* pSearch,
30 __in IBundleExtensionEngine* pEngine, 30 __in IBootstrapperExtensionEngine* pEngine,
31 __in LPCWSTR wzBaseDirectory 31 __in LPCWSTR wzBaseDirectory
32 ) 32 )
33{ 33{
diff --git a/src/ext/NetFx/be/detectnetcoresdk.h b/src/ext/NetFx/be/detectnetcoresdk.h
index 025deaa2..0eef945a 100644
--- a/src/ext/NetFx/be/detectnetcoresdk.h
+++ b/src/ext/NetFx/be/detectnetcoresdk.h
@@ -4,6 +4,6 @@
4HRESULT NetfxPerformDetectNetCoreSdk( 4HRESULT NetfxPerformDetectNetCoreSdk(
5 __in LPCWSTR wzVariable, 5 __in LPCWSTR wzVariable,
6 __in NETFX_SEARCH* pSearch, 6 __in NETFX_SEARCH* pSearch,
7 __in IBundleExtensionEngine* pEngine, 7 __in IBootstrapperExtensionEngine* pEngine,
8 __in LPCWSTR wzBaseDirectory 8 __in LPCWSTR wzBaseDirectory
9 ); 9 );
diff --git a/src/ext/NetFx/be/detectnetcoresdkfeatureband.cpp b/src/ext/NetFx/be/detectnetcoresdkfeatureband.cpp
index d48c7a85..eca61fad 100644
--- a/src/ext/NetFx/be/detectnetcoresdkfeatureband.cpp
+++ b/src/ext/NetFx/be/detectnetcoresdkfeatureband.cpp
@@ -29,7 +29,7 @@ LExit:
29HRESULT NetfxPerformDetectNetCoreSdkFeatureBand( 29HRESULT NetfxPerformDetectNetCoreSdkFeatureBand(
30 __in LPCWSTR wzVariable, 30 __in LPCWSTR wzVariable,
31 __in NETFX_SEARCH* pSearch, 31 __in NETFX_SEARCH* pSearch,
32 __in IBundleExtensionEngine* pEngine, 32 __in IBootstrapperExtensionEngine* pEngine,
33 __in LPCWSTR wzBaseDirectory 33 __in LPCWSTR wzBaseDirectory
34 ) 34 )
35{ 35{
diff --git a/src/ext/NetFx/be/detectnetcoresdkfeatureband.h b/src/ext/NetFx/be/detectnetcoresdkfeatureband.h
index 1f92cd58..d194c6b7 100644
--- a/src/ext/NetFx/be/detectnetcoresdkfeatureband.h
+++ b/src/ext/NetFx/be/detectnetcoresdkfeatureband.h
@@ -4,6 +4,6 @@
4HRESULT NetfxPerformDetectNetCoreSdkFeatureBand( 4HRESULT NetfxPerformDetectNetCoreSdkFeatureBand(
5 __in LPCWSTR wzVariable, 5 __in LPCWSTR wzVariable,
6 __in NETFX_SEARCH* pSearch, 6 __in NETFX_SEARCH* pSearch,
7 __in IBundleExtensionEngine* pEngine, 7 __in IBootstrapperExtensionEngine* pEngine,
8 __in LPCWSTR wzBaseDirectory 8 __in LPCWSTR wzBaseDirectory
9 ); 9 );
diff --git a/src/ext/NetFx/be/netfxbe.cpp b/src/ext/NetFx/be/netfxbe.cpp
index 3a34cea3..72eda51a 100644
--- a/src/ext/NetFx/be/netfxbe.cpp
+++ b/src/ext/NetFx/be/netfxbe.cpp
@@ -1,10 +1,10 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. 1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 2
3#include "precomp.h" 3#include "precomp.h"
4#include "BextBaseBundleExtensionProc.h" 4#include "BextBaseBootstrapperExtensionProc.h"
5 5
6static HINSTANCE vhInstance = NULL; 6static HINSTANCE vhInstance = NULL;
7static IBundleExtension* vpBundleExtension = NULL; 7static IBootstrapperExtension* vpBootstrapperExtension = NULL;
8 8
9// function definitions 9// function definitions
10 10
@@ -28,13 +28,13 @@ extern "C" BOOL WINAPI DllMain(
28 return TRUE; 28 return TRUE;
29} 29}
30 30
31extern "C" HRESULT WINAPI BundleExtensionCreate( 31extern "C" HRESULT WINAPI BootstrapperExtensionCreate(
32 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs, 32 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
33 __inout BUNDLE_EXTENSION_CREATE_RESULTS* pResults 33 __inout BOOTSTRAPPER_EXTENSION_CREATE_RESULTS* pResults
34 ) 34 )
35{ 35{
36 HRESULT hr = S_OK; 36 HRESULT hr = S_OK;
37 IBundleExtensionEngine* pEngine = NULL; 37 IBootstrapperExtensionEngine* pEngine = NULL;
38 38
39 hr = XmlInitialize(); 39 hr = XmlInitialize();
40 ExitOnFailure(hr, "Failed to initialize XML."); 40 ExitOnFailure(hr, "Failed to initialize XML.");
@@ -42,11 +42,11 @@ extern "C" HRESULT WINAPI BundleExtensionCreate(
42 hr = BextInitializeFromCreateArgs(pArgs, &pEngine); 42 hr = BextInitializeFromCreateArgs(pArgs, &pEngine);
43 ExitOnFailure(hr, "Failed to initialize bext"); 43 ExitOnFailure(hr, "Failed to initialize bext");
44 44
45 hr = NetfxBundleExtensionCreate(vhInstance, pEngine, pArgs, &vpBundleExtension); 45 hr = NetfxBootstrapperExtensionCreate(vhInstance, pEngine, pArgs, &vpBootstrapperExtension);
46 BextExitOnFailure(hr, "Failed to create WixNetfxBundleExtension"); 46 BextExitOnFailure(hr, "Failed to create WixNetfxBootstrapperExtension");
47 47
48 pResults->pfnBundleExtensionProc = BextBaseBundleExtensionProc; 48 pResults->pfnBootstrapperExtensionProc = BextBaseBootstrapperExtensionProc;
49 pResults->pvBundleExtensionProcContext = vpBundleExtension; 49 pResults->pvBootstrapperExtensionProcContext = vpBootstrapperExtension;
50 50
51LExit: 51LExit:
52 ReleaseObject(pEngine); 52 ReleaseObject(pEngine);
@@ -54,9 +54,9 @@ LExit:
54 return hr; 54 return hr;
55} 55}
56 56
57extern "C" void WINAPI BundleExtensionDestroy() 57extern "C" void WINAPI BootstrapperExtensionDestroy()
58{ 58{
59 BextUninitialize(); 59 BextUninitialize();
60 ReleaseNullObject(vpBundleExtension); 60 ReleaseNullObject(vpBootstrapperExtension);
61 XmlUninitialize(); 61 XmlUninitialize();
62} 62}
diff --git a/src/ext/NetFx/be/netfxbe.def b/src/ext/NetFx/be/netfxbe.def
index c6605241..2eeaf32c 100644
--- a/src/ext/NetFx/be/netfxbe.def
+++ b/src/ext/NetFx/be/netfxbe.def
@@ -4,5 +4,5 @@
4LIBRARY "netfxbe" 4LIBRARY "netfxbe"
5 5
6EXPORTS 6EXPORTS
7 BundleExtensionCreate 7 BootstrapperExtensionCreate
8 BundleExtensionDestroy 8 BootstrapperExtensionDestroy
diff --git a/src/ext/NetFx/be/netfxbe.vcxproj b/src/ext/NetFx/be/netfxbe.vcxproj
index 94026960..d157b64a 100644
--- a/src/ext/NetFx/be/netfxbe.vcxproj
+++ b/src/ext/NetFx/be/netfxbe.vcxproj
@@ -35,7 +35,7 @@
35 <TargetName>netfxbe</TargetName> 35 <TargetName>netfxbe</TargetName>
36 <CharacterSet>Unicode</CharacterSet> 36 <CharacterSet>Unicode</CharacterSet>
37 <ProjectModuleDefinitionFile>netfxbe.def</ProjectModuleDefinitionFile> 37 <ProjectModuleDefinitionFile>netfxbe.def</ProjectModuleDefinitionFile>
38 <Description>WiX Toolset Netfx BundleExtension</Description> 38 <Description>WiX Toolset Netfx BootstrapperExtension</Description>
39 </PropertyGroup> 39 </PropertyGroup>
40 40
41 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 41 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -50,7 +50,7 @@
50 <ClCompile Include="detectnetcoresdk.cpp" /> 50 <ClCompile Include="detectnetcoresdk.cpp" />
51 <ClCompile Include="detectnetcoresdkfeatureband.cpp" /> 51 <ClCompile Include="detectnetcoresdkfeatureband.cpp" />
52 <ClCompile Include="netfxbe.cpp" /> 52 <ClCompile Include="netfxbe.cpp" />
53 <ClCompile Include="NetfxBundleExtension.cpp" /> 53 <ClCompile Include="NetfxBootstrapperExtension.cpp" />
54 <ClCompile Include="netfxsearch.cpp" /> 54 <ClCompile Include="netfxsearch.cpp" />
55 <ClCompile Include="precomp.cpp"> 55 <ClCompile Include="precomp.cpp">
56 <PrecompiledHeader>Create</PrecompiledHeader> 56 <PrecompiledHeader>Create</PrecompiledHeader>
@@ -62,7 +62,7 @@
62 <ClInclude Include="detectnetcore.h" /> 62 <ClInclude Include="detectnetcore.h" />
63 <ClInclude Include="detectnetcoresdk.h" /> 63 <ClInclude Include="detectnetcoresdk.h" />
64 <ClInclude Include="detectnetcoresdkfeatureband.h" /> 64 <ClInclude Include="detectnetcoresdkfeatureband.h" />
65 <ClInclude Include="NetfxBundleExtension.h" /> 65 <ClInclude Include="NetfxBootstrapperExtension.h" />
66 <ClInclude Include="netfxsearch.h" /> 66 <ClInclude Include="netfxsearch.h" />
67 <ClInclude Include="precomp.h" /> 67 <ClInclude Include="precomp.h" />
68 <ClInclude Include="runnetcoresearch.h" /> 68 <ClInclude Include="runnetcoresearch.h" />
@@ -73,7 +73,7 @@
73 </ItemGroup> 73 </ItemGroup>
74 74
75 <ItemGroup> 75 <ItemGroup>
76 <PackageReference Include="WixToolset.BextUtil" /> 76 <PackageReference Include="WixToolset.BootstrapperExtensionApi" />
77 77
78 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> 78 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
79 </ItemGroup> 79 </ItemGroup>
diff --git a/src/ext/NetFx/be/netfxsearch.cpp b/src/ext/NetFx/be/netfxsearch.cpp
index ffbf6ee0..38c34e3c 100644
--- a/src/ext/NetFx/be/netfxsearch.cpp
+++ b/src/ext/NetFx/be/netfxsearch.cpp
@@ -5,7 +5,7 @@
5 5
6STDMETHODIMP NetfxSearchParseFromXml( 6STDMETHODIMP NetfxSearchParseFromXml(
7 __in NETFX_SEARCHES* pSearches, 7 __in NETFX_SEARCHES* pSearches,
8 __in IXMLDOMNode* pixnBundleExtension 8 __in IXMLDOMNode* pixnBootstrapperExtension
9 ) 9 )
10{ 10{
11 HRESULT hr = S_OK; 11 HRESULT hr = S_OK;
@@ -15,7 +15,7 @@ STDMETHODIMP NetfxSearchParseFromXml(
15 BSTR bstrNodeName = NULL; 15 BSTR bstrNodeName = NULL;
16 16
17 // Select Netfx search nodes. 17 // Select Netfx search nodes.
18 hr = XmlSelectNodes(pixnBundleExtension, L"NetFxNetCoreSearch|NetFxNetCoreSdkSearch|NetFxNetCoreSdkFeatureBandSearch", &pixnNodes); 18 hr = XmlSelectNodes(pixnBootstrapperExtension, L"NetFxNetCoreSearch|NetFxNetCoreSdkSearch|NetFxNetCoreSdkFeatureBandSearch", &pixnNodes);
19 BextExitOnFailure(hr, "Failed to select Netfx search nodes."); 19 BextExitOnFailure(hr, "Failed to select Netfx search nodes.");
20 20
21 // Get Netfx search node count. 21 // Get Netfx search node count.
@@ -135,7 +135,7 @@ STDMETHODIMP NetfxSearchExecute(
135 __in NETFX_SEARCHES* pSearches, 135 __in NETFX_SEARCHES* pSearches,
136 __in LPCWSTR wzSearchId, 136 __in LPCWSTR wzSearchId,
137 __in LPCWSTR wzVariable, 137 __in LPCWSTR wzVariable,
138 __in IBundleExtensionEngine* pEngine, 138 __in IBootstrapperExtensionEngine* pEngine,
139 __in LPCWSTR wzBaseDirectory 139 __in LPCWSTR wzBaseDirectory
140 ) 140 )
141{ 141{
diff --git a/src/ext/NetFx/be/netfxsearch.h b/src/ext/NetFx/be/netfxsearch.h
index 5793dd55..f532a5a5 100644
--- a/src/ext/NetFx/be/netfxsearch.h
+++ b/src/ext/NetFx/be/netfxsearch.h
@@ -68,7 +68,7 @@ typedef struct _NETFX_SEARCHES
68 68
69STDMETHODIMP NetfxSearchParseFromXml( 69STDMETHODIMP NetfxSearchParseFromXml(
70 __in NETFX_SEARCHES* pSearches, 70 __in NETFX_SEARCHES* pSearches,
71 __in IXMLDOMNode* pixnBundleExtension 71 __in IXMLDOMNode* pixnBootstrapperExtension
72 ); 72 );
73 73
74void NetfxSearchUninitialize( 74void NetfxSearchUninitialize(
@@ -79,7 +79,7 @@ STDMETHODIMP NetfxSearchExecute(
79 __in NETFX_SEARCHES* pSearches, 79 __in NETFX_SEARCHES* pSearches,
80 __in LPCWSTR wzSearchId, 80 __in LPCWSTR wzSearchId,
81 __in LPCWSTR wzVariable, 81 __in LPCWSTR wzVariable,
82 __in IBundleExtensionEngine* pEngine, 82 __in IBootstrapperExtensionEngine* pEngine,
83 __in LPCWSTR wzBaseDirectory 83 __in LPCWSTR wzBaseDirectory
84 ); 84 );
85 85
diff --git a/src/ext/NetFx/be/precomp.h b/src/ext/NetFx/be/precomp.h
index a0ae1038..a97b3c5e 100644
--- a/src/ext/NetFx/be/precomp.h
+++ b/src/ext/NetFx/be/precomp.h
@@ -20,12 +20,12 @@
20#include <xmlutil.h> 20#include <xmlutil.h>
21 21
22#include <bextutil.h> 22#include <bextutil.h>
23#include <BextBundleExtensionEngine.h> 23#include <BextBootstrapperExtensionEngine.h>
24 24
25#include "..\..\beDecor.h" 25#include "..\..\beDecor.h"
26#include "netfxsearch.h" 26#include "netfxsearch.h"
27#include "detectnetcore.h" 27#include "detectnetcore.h"
28#include "detectnetcoresdk.h" 28#include "detectnetcoresdk.h"
29#include "detectnetcoresdkfeatureband.h" 29#include "detectnetcoresdkfeatureband.h"
30#include "NetfxBundleExtension.h" 30#include "NetfxBootstrapperExtension.h"
31#include "runnetcoresearch.h" 31#include "runnetcoresearch.h"
diff --git a/src/ext/NetFx/wixext/NetFxCompiler.cs b/src/ext/NetFx/wixext/NetFxCompiler.cs
index bfadbe07..70e83cc9 100644
--- a/src/ext/NetFx/wixext/NetFxCompiler.cs
+++ b/src/ext/NetFx/wixext/NetFxCompiler.cs
@@ -225,15 +225,15 @@ namespace WixToolset.Netfx
225 225
226 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); 226 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
227 227
228 var bundleExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4NetfxBundleExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64); 228 var bootstrapperExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4NetfxBootstrapperExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64);
229 if (bundleExtensionId == null) 229 if (bootstrapperExtensionId == null)
230 { 230 {
231 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName)); 231 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName));
232 } 232 }
233 233
234 if (!this.Messaging.EncounteredError) 234 if (!this.Messaging.EncounteredError)
235 { 235 {
236 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bundleExtensionId); 236 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bootstrapperExtensionId);
237 237
238 section.AddSymbol(new NetFxNetCoreSearchSymbol(sourceLineNumbers, id) 238 section.AddSymbol(new NetFxNetCoreSearchSymbol(sourceLineNumbers, id)
239 { 239 {
@@ -354,15 +354,15 @@ namespace WixToolset.Netfx
354 354
355 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); 355 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
356 356
357 var bundleExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4NetfxBundleExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64); 357 var bootstrapperExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4NetfxBootstrapperExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64);
358 if (bundleExtensionId == null) 358 if (bootstrapperExtensionId == null)
359 { 359 {
360 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName)); 360 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName));
361 } 361 }
362 362
363 if (!this.Messaging.EncounteredError) 363 if (!this.Messaging.EncounteredError)
364 { 364 {
365 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bundleExtensionId); 365 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bootstrapperExtensionId);
366 366
367 section.AddSymbol(new NetFxNetCoreSdkSearchSymbol(sourceLineNumbers, id) 367 section.AddSymbol(new NetFxNetCoreSdkSearchSymbol(sourceLineNumbers, id)
368 { 368 {
@@ -503,15 +503,15 @@ namespace WixToolset.Netfx
503 503
504 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); 504 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
505 505
506 var bundleExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4NetfxBundleExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64); 506 var bootstrapperExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4NetfxBootstrapperExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64);
507 if (bundleExtensionId == null) 507 if (bootstrapperExtensionId == null)
508 { 508 {
509 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName)); 509 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName));
510 } 510 }
511 511
512 if (!this.Messaging.EncounteredError) 512 if (!this.Messaging.EncounteredError)
513 { 513 {
514 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bundleExtensionId); 514 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bootstrapperExtensionId);
515 515
516 section.AddSymbol(new NetFxNetCoreSdkFeatureBandSearchSymbol(sourceLineNumbers, id) 516 section.AddSymbol(new NetFxNetCoreSdkFeatureBandSearchSymbol(sourceLineNumbers, id)
517 { 517 {
diff --git a/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs b/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs
index 6371a951..cc25a3eb 100644
--- a/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs
+++ b/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs
@@ -53,9 +53,9 @@ namespace WixToolset.Netfx
53 53
54 static NetfxSymbolDefinitions() 54 static NetfxSymbolDefinitions()
55 { 55 {
56 NetFxNetCoreSearch.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag); 56 NetFxNetCoreSearch.AddTag(BurnConstants.BootstrapperExtensionSearchSymbolDefinitionTag);
57 NetFxNetCoreSdkSearch.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag); 57 NetFxNetCoreSdkSearch.AddTag(BurnConstants.BootstrapperExtensionSearchSymbolDefinitionTag);
58 NetFxNetCoreSdkFeatureBandSearch.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag); 58 NetFxNetCoreSdkFeatureBandSearch.AddTag(BurnConstants.BootstrapperExtensionSearchSymbolDefinitionTag);
59 } 59 }
60 } 60 }
61} 61}
diff --git a/src/ext/NetFx/wixlib/NetfxBundleExtension_Platform.wxi b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_Platform.wxi
index bc332efc..98fbd523 100644
--- a/src/ext/NetFx/wixlib/NetfxBundleExtension_Platform.wxi
+++ b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_Platform.wxi
@@ -5,11 +5,11 @@
5 <?include ..\..\caDecor.wxi ?> 5 <?include ..\..\caDecor.wxi ?>
6 6
7 <Fragment> 7 <Fragment>
8 <BundleExtension Id="$(var.Prefix)NetfxBundleExtension$(var.Suffix)" SourceFile="!(bindpath.netfxbe.$(var.platform))netfxbe.dll" Name="$(var.Prefix)NetfxBundleExtension$(var.Suffix)\netfxbe.dll"> 8 <BootstrapperExtension Id="$(var.Prefix)NetfxBootstrapperExtension$(var.Suffix)" SourceFile="!(bindpath.netfxbe.$(var.platform))netfxbe.dll" Name="$(var.Prefix)NetfxBootstrapperExtension$(var.Suffix)\netfxbe.dll">
9 <?foreach PLATFORM in x86;x64;arm64?> 9 <?foreach PLATFORM in x86;x64;arm64?>
10 <Payload SourceFile="!(bindpath.netcoresearch.$(var.PLATFORM))netcoresearch.exe" Name="$(var.Prefix)NetfxBundleExtension$(var.Suffix)\$(var.PLATFORM)\netcoresearch.exe" /> 10 <Payload SourceFile="!(bindpath.netcoresearch.$(var.PLATFORM))netcoresearch.exe" Name="$(var.Prefix)NetfxBootstrapperExtension$(var.Suffix)\$(var.PLATFORM)\netcoresearch.exe" />
11 <Payload SourceFile="!(bindpath.netcoresearch.$(var.PLATFORM))hostfxr.dll" Name="$(var.Prefix)NetfxBundleExtension$(var.Suffix)\$(var.PLATFORM)\hostfxr.dll" /> 11 <Payload SourceFile="!(bindpath.netcoresearch.$(var.PLATFORM))hostfxr.dll" Name="$(var.Prefix)NetfxBootstrapperExtension$(var.Suffix)\$(var.PLATFORM)\hostfxr.dll" />
12 <?endforeach?> 12 <?endforeach?>
13 </BundleExtension> 13 </BootstrapperExtension>
14 </Fragment> 14 </Fragment>
15</Include> 15</Include>
diff --git a/src/ext/NetFx/wixlib/NetfxBundleExtension_arm64.wxs b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_arm64.wxs
index 13757dd8..00b607a1 100644
--- a/src/ext/NetFx/wixlib/NetfxBundleExtension_arm64.wxs
+++ b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_arm64.wxs
@@ -3,5 +3,5 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=arm64 ?> 5 <?define platform=arm64 ?>
6 <?include NetfxBundleExtension_Platform.wxi ?> 6 <?include NetfxBootstrapperExtension_Platform.wxi ?>
7</Wix> 7</Wix>
diff --git a/src/ext/Util/wixlib/UtilBundleExtension_x64.wxs b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_x64.wxs
index 96c85a5b..a7412e60 100644
--- a/src/ext/Util/wixlib/UtilBundleExtension_x64.wxs
+++ b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_x64.wxs
@@ -3,5 +3,5 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=x64 ?> 5 <?define platform=x64 ?>
6 <?include UtilBundleExtension_Platform.wxi ?> 6 <?include NetfxBootstrapperExtension_Platform.wxi ?>
7</Wix> 7</Wix>
diff --git a/src/ext/NetFx/wixlib/NetfxBundleExtension_x86.wxs b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_x86.wxs
index 76a8358f..406f6139 100644
--- a/src/ext/NetFx/wixlib/NetfxBundleExtension_x86.wxs
+++ b/src/ext/NetFx/wixlib/NetfxBootstrapperExtension_x86.wxs
@@ -3,5 +3,5 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=x86 ?> 5 <?define platform=x86 ?>
6 <?include NetfxBundleExtension_Platform.wxi ?> 6 <?include NetfxBootstrapperExtension_Platform.wxi ?>
7</Wix> 7</Wix>
diff --git a/src/ext/Util/be/UtilBootstrapperExtension.cpp b/src/ext/Util/be/UtilBootstrapperExtension.cpp
new file mode 100644
index 00000000..4d4d89c7
--- /dev/null
+++ b/src/ext/Util/be/UtilBootstrapperExtension.cpp
@@ -0,0 +1,87 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3#include "precomp.h"
4#include "BextBaseBootstrapperExtension.h"
5
6class CWixUtilBootstrapperExtension : public CBextBaseBootstrapperExtension
7{
8public: // IBootstrapperExtension
9 virtual STDMETHODIMP Search(
10 __in LPCWSTR wzId,
11 __in LPCWSTR wzVariable
12 )
13 {
14 HRESULT hr = S_OK;
15
16 hr = UtilSearchExecute(&m_searches, wzId, wzVariable, m_pEngine);
17
18 return hr;
19 }
20
21public: //CBextBaseBootstrapperExtension
22 virtual STDMETHODIMP Initialize(
23 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pCreateArgs
24 )
25 {
26 HRESULT hr = S_OK;
27 IXMLDOMDocument* pixdManifest = NULL;
28 IXMLDOMNode* pixnBootstrapperExtension = NULL;
29
30 hr = __super::Initialize(pCreateArgs);
31 BextExitOnFailure(hr, "CBextBaseBootstrapperExtension initialization failed.");
32
33 hr = XmlLoadDocumentFromFile(m_sczBootstrapperExtensionDataPath, &pixdManifest);
34 BextExitOnFailure(hr, "Failed to load bundle extension manifest from path: %ls", m_sczBootstrapperExtensionDataPath);
35
36 hr = BextGetBootstrapperExtensionDataNode(pixdManifest, UTIL_BOOTSTRAPPER_EXTENSION_ID, &pixnBootstrapperExtension);
37 BextExitOnFailure(hr, "Failed to get BootstrapperExtension '%ls'", UTIL_BOOTSTRAPPER_EXTENSION_ID);
38
39 hr = UtilSearchParseFromXml(&m_searches, pixnBootstrapperExtension);
40 BextExitOnFailure(hr, "Failed to parse searches from bundle extension manifest.");
41
42 LExit:
43 ReleaseObject(pixnBootstrapperExtension);
44 ReleaseObject(pixdManifest);
45
46 return hr;
47 }
48
49public:
50 CWixUtilBootstrapperExtension(
51 __in IBootstrapperExtensionEngine* pEngine
52 ) : CBextBaseBootstrapperExtension(pEngine)
53 {
54 m_searches = { };
55 }
56
57 ~CWixUtilBootstrapperExtension()
58 {
59 UtilSearchUninitialize(&m_searches);
60 }
61
62private:
63 UTIL_SEARCHES m_searches;
64};
65
66HRESULT UtilBootstrapperExtensionCreate(
67 __in IBootstrapperExtensionEngine* pEngine,
68 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
69 __out IBootstrapperExtension** ppBootstrapperExtension
70 )
71{
72 HRESULT hr = S_OK;
73 CWixUtilBootstrapperExtension* pExtension = NULL;
74
75 pExtension = new CWixUtilBootstrapperExtension(pEngine);
76 BextExitOnNull(pExtension, hr, E_OUTOFMEMORY, "Failed to create new CWixUtilBootstrapperExtension.");
77
78 hr = pExtension->Initialize(pArgs);
79 BextExitOnFailure(hr, "CWixUtilBootstrapperExtension initialization failed.");
80
81 *ppBootstrapperExtension = pExtension;
82 pExtension = NULL;
83
84LExit:
85 ReleaseObject(pExtension);
86 return hr;
87}
diff --git a/src/ext/Util/be/UtilBootstrapperExtension.h b/src/ext/Util/be/UtilBootstrapperExtension.h
new file mode 100644
index 00000000..32cabb89
--- /dev/null
+++ b/src/ext/Util/be/UtilBootstrapperExtension.h
@@ -0,0 +1,16 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5// constants
6
7#define UTIL_BOOTSTRAPPER_EXTENSION_ID BOOTSTRAPPER_EXTENSION_DECORATION(L"UtilBootstrapperExtension")
8
9
10// function declarations
11
12HRESULT UtilBootstrapperExtensionCreate(
13 __in IBootstrapperExtensionEngine* pEngine,
14 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
15 __out IBootstrapperExtension** ppBootstrapperExtension
16 );
diff --git a/src/ext/Util/be/UtilBundleExtension.cpp b/src/ext/Util/be/UtilBundleExtension.cpp
deleted file mode 100644
index 23f5d94f..00000000
--- a/src/ext/Util/be/UtilBundleExtension.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3#include "precomp.h"
4#include "BextBaseBundleExtension.h"
5
6class CWixUtilBundleExtension : public CBextBaseBundleExtension
7{
8public: // IBundleExtension
9 virtual STDMETHODIMP Search(
10 __in LPCWSTR wzId,
11 __in LPCWSTR wzVariable
12 )
13 {
14 HRESULT hr = S_OK;
15
16 hr = UtilSearchExecute(&m_searches, wzId, wzVariable, m_pEngine);
17
18 return hr;
19 }
20
21public: //CBextBaseBundleExtension
22 virtual STDMETHODIMP Initialize(
23 __in const BUNDLE_EXTENSION_CREATE_ARGS* pCreateArgs
24 )
25 {
26 HRESULT hr = S_OK;
27 IXMLDOMDocument* pixdManifest = NULL;
28 IXMLDOMNode* pixnBundleExtension = NULL;
29
30 hr = __super::Initialize(pCreateArgs);
31 BextExitOnFailure(hr, "CBextBaseBundleExtension initialization failed.");
32
33 hr = XmlLoadDocumentFromFile(m_sczBundleExtensionDataPath, &pixdManifest);
34 BextExitOnFailure(hr, "Failed to load bundle extension manifest from path: %ls", m_sczBundleExtensionDataPath);
35
36 hr = BextGetBundleExtensionDataNode(pixdManifest, UTIL_BUNDLE_EXTENSION_ID, &pixnBundleExtension);
37 BextExitOnFailure(hr, "Failed to get BundleExtension '%ls'", UTIL_BUNDLE_EXTENSION_ID);
38
39 hr = UtilSearchParseFromXml(&m_searches, pixnBundleExtension);
40 BextExitOnFailure(hr, "Failed to parse searches from bundle extension manifest.");
41
42 LExit:
43 ReleaseObject(pixnBundleExtension);
44 ReleaseObject(pixdManifest);
45
46 return hr;
47 }
48
49public:
50 CWixUtilBundleExtension(
51 __in IBundleExtensionEngine* pEngine
52 ) : CBextBaseBundleExtension(pEngine)
53 {
54 m_searches = { };
55 }
56
57 ~CWixUtilBundleExtension()
58 {
59 UtilSearchUninitialize(&m_searches);
60 }
61
62private:
63 UTIL_SEARCHES m_searches;
64};
65
66HRESULT UtilBundleExtensionCreate(
67 __in IBundleExtensionEngine* pEngine,
68 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
69 __out IBundleExtension** ppBundleExtension
70 )
71{
72 HRESULT hr = S_OK;
73 CWixUtilBundleExtension* pExtension = NULL;
74
75 pExtension = new CWixUtilBundleExtension(pEngine);
76 BextExitOnNull(pExtension, hr, E_OUTOFMEMORY, "Failed to create new CWixUtilBundleExtension.");
77
78 hr = pExtension->Initialize(pArgs);
79 BextExitOnFailure(hr, "CWixUtilBundleExtension initialization failed.");
80
81 *ppBundleExtension = pExtension;
82 pExtension = NULL;
83
84LExit:
85 ReleaseObject(pExtension);
86 return hr;
87}
diff --git a/src/ext/Util/be/UtilBundleExtension.h b/src/ext/Util/be/UtilBundleExtension.h
deleted file mode 100644
index c55d6b85..00000000
--- a/src/ext/Util/be/UtilBundleExtension.h
+++ /dev/null
@@ -1,16 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5// constants
6
7#define UTIL_BUNDLE_EXTENSION_ID BUNDLE_EXTENSION_DECORATION(L"UtilBundleExtension")
8
9
10// function declarations
11
12HRESULT UtilBundleExtensionCreate(
13 __in IBundleExtensionEngine* pEngine,
14 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
15 __out IBundleExtension** ppBundleExtension
16 );
diff --git a/src/ext/Util/be/detectsha2support.cpp b/src/ext/Util/be/detectsha2support.cpp
index 4abfc63c..c7175a47 100644
--- a/src/ext/Util/be/detectsha2support.cpp
+++ b/src/ext/Util/be/detectsha2support.cpp
@@ -41,7 +41,7 @@ LExit:
41HRESULT UtilPerformDetectSHA2CodeSigning( 41HRESULT UtilPerformDetectSHA2CodeSigning(
42 __in LPCWSTR wzVariable, 42 __in LPCWSTR wzVariable,
43 __in UTIL_SEARCH* /*pSearch*/, 43 __in UTIL_SEARCH* /*pSearch*/,
44 __in IBundleExtensionEngine* pEngine 44 __in IBootstrapperExtensionEngine* pEngine
45 ) 45 )
46{ 46{
47 HRESULT hr = S_OK; 47 HRESULT hr = S_OK;
diff --git a/src/ext/Util/be/detectsha2support.h b/src/ext/Util/be/detectsha2support.h
index c38a3d59..b387a3ea 100644
--- a/src/ext/Util/be/detectsha2support.h
+++ b/src/ext/Util/be/detectsha2support.h
@@ -4,5 +4,5 @@
4HRESULT UtilPerformDetectSHA2CodeSigning( 4HRESULT UtilPerformDetectSHA2CodeSigning(
5 __in LPCWSTR wzVariable, 5 __in LPCWSTR wzVariable,
6 __in UTIL_SEARCH* pSearch, 6 __in UTIL_SEARCH* pSearch,
7 __in IBundleExtensionEngine* pEngine 7 __in IBootstrapperExtensionEngine* pEngine
8 ); \ No newline at end of file 8 );
diff --git a/src/ext/Util/be/precomp.h b/src/ext/Util/be/precomp.h
index d04bf305..0cf0c761 100644
--- a/src/ext/Util/be/precomp.h
+++ b/src/ext/Util/be/precomp.h
@@ -24,9 +24,9 @@
24#include <xmlutil.h> 24#include <xmlutil.h>
25 25
26#include <bextutil.h> 26#include <bextutil.h>
27#include <BextBundleExtensionEngine.h> 27#include <BextBootstrapperExtensionEngine.h>
28 28
29#include "..\..\beDecor.h" 29#include "..\..\beDecor.h"
30#include "utilsearch.h" 30#include "utilsearch.h"
31#include "detectsha2support.h" 31#include "detectsha2support.h"
32#include "UtilBundleExtension.h" 32#include "UtilBootstrapperExtension.h"
diff --git a/src/ext/Util/be/utilbe.cpp b/src/ext/Util/be/utilbe.cpp
index d9816dc7..b4e6fda3 100644
--- a/src/ext/Util/be/utilbe.cpp
+++ b/src/ext/Util/be/utilbe.cpp
@@ -1,19 +1,19 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. 1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 2
3#include "precomp.h" 3#include "precomp.h"
4#include "BextBaseBundleExtensionProc.h" 4#include "BextBaseBootstrapperExtensionProc.h"
5 5
6static IBundleExtension* vpBundleExtension = NULL; 6static IBootstrapperExtension* vpBootstrapperExtension = NULL;
7 7
8// function definitions 8// function definitions
9 9
10extern "C" HRESULT WINAPI BundleExtensionCreate( 10extern "C" HRESULT WINAPI BootstrapperExtensionCreate(
11 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs, 11 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
12 __inout BUNDLE_EXTENSION_CREATE_RESULTS* pResults 12 __inout BOOTSTRAPPER_EXTENSION_CREATE_RESULTS* pResults
13 ) 13 )
14{ 14{
15 HRESULT hr = S_OK; 15 HRESULT hr = S_OK;
16 IBundleExtensionEngine* pEngine = NULL; 16 IBootstrapperExtensionEngine* pEngine = NULL;
17 17
18 hr = XmlInitialize(); 18 hr = XmlInitialize();
19 ExitOnFailure(hr, "Failed to initialize XML."); 19 ExitOnFailure(hr, "Failed to initialize XML.");
@@ -21,11 +21,11 @@ extern "C" HRESULT WINAPI BundleExtensionCreate(
21 hr = BextInitializeFromCreateArgs(pArgs, &pEngine); 21 hr = BextInitializeFromCreateArgs(pArgs, &pEngine);
22 ExitOnFailure(hr, "Failed to initialize bext"); 22 ExitOnFailure(hr, "Failed to initialize bext");
23 23
24 hr = UtilBundleExtensionCreate(pEngine, pArgs, &vpBundleExtension); 24 hr = UtilBootstrapperExtensionCreate(pEngine, pArgs, &vpBootstrapperExtension);
25 BextExitOnFailure(hr, "Failed to create WixUtilBundleExtension"); 25 BextExitOnFailure(hr, "Failed to create WixUtilBootstrapperExtension");
26 26
27 pResults->pfnBundleExtensionProc = BextBaseBundleExtensionProc; 27 pResults->pfnBootstrapperExtensionProc = BextBaseBootstrapperExtensionProc;
28 pResults->pvBundleExtensionProcContext = vpBundleExtension; 28 pResults->pvBootstrapperExtensionProcContext = vpBootstrapperExtension;
29 29
30LExit: 30LExit:
31 ReleaseObject(pEngine); 31 ReleaseObject(pEngine);
@@ -33,9 +33,9 @@ LExit:
33 return hr; 33 return hr;
34} 34}
35 35
36extern "C" void WINAPI BundleExtensionDestroy() 36extern "C" void WINAPI BootstrapperExtensionDestroy()
37{ 37{
38 BextUninitialize(); 38 BextUninitialize();
39 ReleaseNullObject(vpBundleExtension); 39 ReleaseNullObject(vpBootstrapperExtension);
40 XmlUninitialize(); 40 XmlUninitialize();
41} \ No newline at end of file 41}
diff --git a/src/ext/Util/be/utilbe.def b/src/ext/Util/be/utilbe.def
index 711b1a5c..b4e7e893 100644
--- a/src/ext/Util/be/utilbe.def
+++ b/src/ext/Util/be/utilbe.def
@@ -4,5 +4,5 @@
4LIBRARY "utilbe" 4LIBRARY "utilbe"
5 5
6EXPORTS 6EXPORTS
7 BundleExtensionCreate 7 BootstrapperExtensionCreate
8 BundleExtensionDestroy 8 BootstrapperExtensionDestroy
diff --git a/src/ext/Util/be/utilbe.vcxproj b/src/ext/Util/be/utilbe.vcxproj
index d2697bbd..df06cb46 100644
--- a/src/ext/Util/be/utilbe.vcxproj
+++ b/src/ext/Util/be/utilbe.vcxproj
@@ -35,7 +35,7 @@
35 <TargetName>utilbe</TargetName> 35 <TargetName>utilbe</TargetName>
36 <CharacterSet>Unicode</CharacterSet> 36 <CharacterSet>Unicode</CharacterSet>
37 <ProjectModuleDefinitionFile>utilbe.def</ProjectModuleDefinitionFile> 37 <ProjectModuleDefinitionFile>utilbe.def</ProjectModuleDefinitionFile>
38 <Description>WiX Toolset Util BundleExtension</Description> 38 <Description>WiX Toolset Util BootstrapperExtension</Description>
39 </PropertyGroup> 39 </PropertyGroup>
40 40
41 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 41 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -51,14 +51,14 @@
51 <PrecompiledHeader>Create</PrecompiledHeader> 51 <PrecompiledHeader>Create</PrecompiledHeader>
52 </ClCompile> 52 </ClCompile>
53 <ClCompile Include="utilbe.cpp" /> 53 <ClCompile Include="utilbe.cpp" />
54 <ClCompile Include="UtilBundleExtension.cpp" /> 54 <ClCompile Include="UtilBootstrapperExtension.cpp" />
55 <ClCompile Include="utilsearch.cpp" /> 55 <ClCompile Include="utilsearch.cpp" />
56 </ItemGroup> 56 </ItemGroup>
57 57
58 <ItemGroup> 58 <ItemGroup>
59 <ClInclude Include="detectsha2support.h" /> 59 <ClInclude Include="detectsha2support.h" />
60 <ClInclude Include="precomp.h" /> 60 <ClInclude Include="precomp.h" />
61 <ClInclude Include="UtilBundleExtension.h" /> 61 <ClInclude Include="UtilBootstrapperExtension.h" />
62 <ClInclude Include="utilsearch.h" /> 62 <ClInclude Include="utilsearch.h" />
63 </ItemGroup> 63 </ItemGroup>
64 64
@@ -67,7 +67,7 @@
67 </ItemGroup> 67 </ItemGroup>
68 68
69 <ItemGroup> 69 <ItemGroup>
70 <PackageReference Include="WixToolset.BextUtil" /> 70 <PackageReference Include="WixToolset.BootstrapperExtensionApi" />
71 71
72 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> 72 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
73 </ItemGroup> 73 </ItemGroup>
diff --git a/src/ext/Util/be/utilsearch.cpp b/src/ext/Util/be/utilsearch.cpp
index 20a514d8..59c497e3 100644
--- a/src/ext/Util/be/utilsearch.cpp
+++ b/src/ext/Util/be/utilsearch.cpp
@@ -5,7 +5,7 @@
5 5
6STDMETHODIMP UtilSearchParseFromXml( 6STDMETHODIMP UtilSearchParseFromXml(
7 __in UTIL_SEARCHES* pSearches, 7 __in UTIL_SEARCHES* pSearches,
8 __in IXMLDOMNode* pixnBundleExtension 8 __in IXMLDOMNode* pixnBootstrapperExtension
9 ) 9 )
10{ 10{
11 HRESULT hr = S_OK; 11 HRESULT hr = S_OK;
@@ -16,7 +16,7 @@ STDMETHODIMP UtilSearchParseFromXml(
16 LPWSTR scz = NULL; 16 LPWSTR scz = NULL;
17 17
18 // Select Util search nodes. 18 // Select Util search nodes.
19 hr = XmlSelectNodes(pixnBundleExtension, L"WixWindowsFeatureSearch", &pixnNodes); 19 hr = XmlSelectNodes(pixnBootstrapperExtension, L"WixWindowsFeatureSearch", &pixnNodes);
20 BextExitOnFailure(hr, "Failed to select Util search nodes."); 20 BextExitOnFailure(hr, "Failed to select Util search nodes.");
21 21
22 // Get Util search node count. 22 // Get Util search node count.
@@ -103,7 +103,7 @@ STDMETHODIMP UtilSearchExecute(
103 __in UTIL_SEARCHES* pSearches, 103 __in UTIL_SEARCHES* pSearches,
104 __in LPCWSTR wzSearchId, 104 __in LPCWSTR wzSearchId,
105 __in LPCWSTR wzVariable, 105 __in LPCWSTR wzVariable,
106 __in IBundleExtensionEngine* pEngine 106 __in IBootstrapperExtensionEngine* pEngine
107 ) 107 )
108{ 108{
109 HRESULT hr = S_OK; 109 HRESULT hr = S_OK;
diff --git a/src/ext/Util/be/utilsearch.h b/src/ext/Util/be/utilsearch.h
index deeab1f7..d19e240f 100644
--- a/src/ext/Util/be/utilsearch.h
+++ b/src/ext/Util/be/utilsearch.h
@@ -44,7 +44,7 @@ typedef struct _UTIL_SEARCHES
44 44
45STDMETHODIMP UtilSearchParseFromXml( 45STDMETHODIMP UtilSearchParseFromXml(
46 __in UTIL_SEARCHES* pSearches, 46 __in UTIL_SEARCHES* pSearches,
47 __in IXMLDOMNode* pixnBundleExtension 47 __in IXMLDOMNode* pixnBootstrapperExtension
48 ); 48 );
49 49
50void UtilSearchUninitialize( 50void UtilSearchUninitialize(
@@ -55,7 +55,7 @@ STDMETHODIMP UtilSearchExecute(
55 __in UTIL_SEARCHES* pSearches, 55 __in UTIL_SEARCHES* pSearches,
56 __in LPCWSTR wzSearchId, 56 __in LPCWSTR wzSearchId,
57 __in LPCWSTR wzVariable, 57 __in LPCWSTR wzVariable,
58 __in IBundleExtensionEngine* pEngine 58 __in IBootstrapperExtensionEngine* pEngine
59 ); 59 );
60 60
61STDMETHODIMP UtilSearchFindById( 61STDMETHODIMP UtilSearchFindById(
diff --git a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs
index 06e70dcf..0a93f3a4 100644
--- a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs
+++ b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs
@@ -372,11 +372,11 @@ namespace WixToolsetTest.Util
372 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); 372 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
373 extractResult.AssertSuccess(); 373 extractResult.AssertSuccess();
374 374
375 var bundleExtensionDatas = extractResult.SelectBundleExtensionDataNodes("/be:BundleExtensionData/be:BundleExtension[@Id='Wix4UtilBundleExtension_X86']"); 375 var bootstrapperExtensionDatas = extractResult.SelectBootstrapperExtensionDataNodes("/be:BootstrapperExtensionData/be:BootstrapperExtension[@Id='Wix4UtilBootstrapperExtension_X86']");
376 Assert.Equal(1, bundleExtensionDatas.Count); 376 Assert.Equal(1, bootstrapperExtensionDatas.Count);
377 Assert.Equal("<BundleExtension Id='Wix4UtilBundleExtension_X86'>" + 377 Assert.Equal("<BootstrapperExtension Id='Wix4UtilBootstrapperExtension_X86'>" +
378 "<WixWindowsFeatureSearch Id='DetectSHA2SupportId' Type='sha2CodeSigning' />" + 378 "<WixWindowsFeatureSearch Id='DetectSHA2SupportId' Type='sha2CodeSigning' />" +
379 "</BundleExtension>", bundleExtensionDatas[0].GetTestXml()); 379 "</BootstrapperExtension>", bootstrapperExtensionDatas[0].GetTestXml());
380 380
381 var utilSearches = extractResult.SelectManifestNodes("/burn:BurnManifest/*[self::burn:ExtensionSearch or self::burn:DirectorySearch or self::burn:FileSearch or self::burn:MsiProductSearch or self::burn:RegistrySearch]") 381 var utilSearches = extractResult.SelectManifestNodes("/burn:BurnManifest/*[self::burn:ExtensionSearch or self::burn:DirectorySearch or self::burn:FileSearch or self::burn:MsiProductSearch or self::burn:RegistrySearch]")
382 .Cast<XmlElement>() 382 .Cast<XmlElement>()
@@ -384,7 +384,7 @@ namespace WixToolsetTest.Util
384 .ToArray(); 384 .ToArray();
385 WixAssert.CompareLineByLine(new[] 385 WixAssert.CompareLineByLine(new[]
386 { 386 {
387 @"<ExtensionSearch Id='DetectSHA2SupportId' Variable='IsSHA2Supported' ExtensionId='Wix4UtilBundleExtension_X86' />", 387 @"<ExtensionSearch Id='DetectSHA2SupportId' Variable='IsSHA2Supported' ExtensionId='Wix4UtilBootstrapperExtension_X86' />",
388 @"<DirectorySearch Id='DirectorySearchId' Variable='DirectorySearchVariable' Path='%windir%\System32' Type='exists' DisableFileRedirection='yes' />", 388 @"<DirectorySearch Id='DirectorySearchId' Variable='DirectorySearchVariable' Path='%windir%\System32' Type='exists' DisableFileRedirection='yes' />",
389 @"<FileSearch Id='FileSearchId' Variable='FileSearchVariable' Path='%windir%\System32\mscoree.dll' Type='exists' />", 389 @"<FileSearch Id='FileSearchId' Variable='FileSearchVariable' Path='%windir%\System32\mscoree.dll' Type='exists' />",
390 @"<MsiProductSearch Id='ProductSearchId' Variable='ProductSearchVariable' Condition='1 &amp; 2 &lt; 3' UpgradeCode='{738D02BF-E231-4370-8209-E9FD4E1BE2A1}' Type='version' />", 390 @"<MsiProductSearch Id='ProductSearchId' Variable='ProductSearchVariable' Condition='1 &amp; 2 &lt; 3' UpgradeCode='{738D02BF-E231-4370-8209-E9FD4E1BE2A1}' Type='version' />",
diff --git a/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs b/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs
index 3b357a96..8152868f 100644
--- a/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs
+++ b/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs
@@ -94,7 +94,7 @@ namespace WixToolset.Util
94 94
95 case UtilSymbolDefinitionType.WixRemoveRegistryKeyEx: 95 case UtilSymbolDefinitionType.WixRemoveRegistryKeyEx:
96 return UtilSymbolDefinitions.WixRemoveRegistryKeyEx; 96 return UtilSymbolDefinitions.WixRemoveRegistryKeyEx;
97 97
98 case UtilSymbolDefinitionType.WixRestartResource: 98 case UtilSymbolDefinitionType.WixRestartResource:
99 return UtilSymbolDefinitions.WixRestartResource; 99 return UtilSymbolDefinitions.WixRestartResource;
100 100
@@ -117,7 +117,7 @@ namespace WixToolset.Util
117 117
118 static UtilSymbolDefinitions() 118 static UtilSymbolDefinitions()
119 { 119 {
120 WixWindowsFeatureSearch.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag); 120 WixWindowsFeatureSearch.AddTag(BurnConstants.BootstrapperExtensionSearchSymbolDefinitionTag);
121 } 121 }
122 } 122 }
123} 123}
diff --git a/src/ext/Util/wixext/UtilCompiler.cs b/src/ext/Util/wixext/UtilCompiler.cs
index 6221c052..3bcd2c0b 100644
--- a/src/ext/Util/wixext/UtilCompiler.cs
+++ b/src/ext/Util/wixext/UtilCompiler.cs
@@ -611,15 +611,15 @@ namespace WixToolset.Util
611 611
612 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); 612 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
613 613
614 var bundleExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4UtilBundleExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64); 614 var bootstrapperExtensionId = this.ParseHelper.CreateIdentifierValueFromPlatform("Wix4UtilBootstrapperExtension", this.Context.Platform, BurnPlatforms.X86 | BurnPlatforms.X64 | BurnPlatforms.ARM64);
615 if (bundleExtensionId == null) 615 if (bootstrapperExtensionId == null)
616 { 616 {
617 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName)); 617 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName));
618 } 618 }
619 619
620 if (!this.Messaging.EncounteredError) 620 if (!this.Messaging.EncounteredError)
621 { 621 {
622 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bundleExtensionId); 622 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, bootstrapperExtensionId);
623 623
624 section.AddSymbol(new WixWindowsFeatureSearchSymbol(sourceLineNumbers, id) 624 section.AddSymbol(new WixWindowsFeatureSearchSymbol(sourceLineNumbers, id)
625 { 625 {
diff --git a/src/ext/Util/wixlib/UtilBundleExtension_Platform.wxi b/src/ext/Util/wixlib/UtilBootstrapperExtension_Platform.wxi
index 5c964d7d..cbaf3f56 100644
--- a/src/ext/Util/wixlib/UtilBundleExtension_Platform.wxi
+++ b/src/ext/Util/wixlib/UtilBootstrapperExtension_Platform.wxi
@@ -5,6 +5,6 @@
5 <?include ..\..\caDecor.wxi ?> 5 <?include ..\..\caDecor.wxi ?>
6 6
7 <Fragment> 7 <Fragment>
8 <BundleExtension Id="$(var.Prefix)UtilBundleExtension$(var.Suffix)" SourceFile="!(bindpath.utilbe.$(var.platform))utilbe.dll" Name="$(var.Prefix)UtilBundleExtension$(var.Suffix)\utilbe.dll" /> 8 <BootstrapperExtension Id="$(var.Prefix)UtilBootstrapperExtension$(var.Suffix)" SourceFile="!(bindpath.utilbe.$(var.platform))utilbe.dll" Name="$(var.Prefix)UtilBootstrapperExtension$(var.Suffix)\utilbe.dll" />
9 </Fragment> 9 </Fragment>
10</Include> 10</Include>
diff --git a/src/ext/Util/wixlib/UtilBundleExtension_arm64.wxs b/src/ext/Util/wixlib/UtilBootstrapperExtension_arm64.wxs
index b17be031..093de00d 100644
--- a/src/ext/Util/wixlib/UtilBundleExtension_arm64.wxs
+++ b/src/ext/Util/wixlib/UtilBootstrapperExtension_arm64.wxs
@@ -3,5 +3,5 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=arm64 ?> 5 <?define platform=arm64 ?>
6 <?include UtilBundleExtension_Platform.wxi ?> 6 <?include UtilBootstrapperExtension_Platform.wxi ?>
7</Wix> 7</Wix>
diff --git a/src/ext/NetFx/wixlib/NetfxBundleExtension_x64.wxs b/src/ext/Util/wixlib/UtilBootstrapperExtension_x64.wxs
index f6c27a8e..e778fc42 100644
--- a/src/ext/NetFx/wixlib/NetfxBundleExtension_x64.wxs
+++ b/src/ext/Util/wixlib/UtilBootstrapperExtension_x64.wxs
@@ -3,5 +3,5 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=x64 ?> 5 <?define platform=x64 ?>
6 <?include NetfxBundleExtension_Platform.wxi ?> 6 <?include UtilBootstrapperExtension_Platform.wxi ?>
7</Wix> 7</Wix>
diff --git a/src/ext/Util/wixlib/UtilBundleExtension_x86.wxs b/src/ext/Util/wixlib/UtilBootstrapperExtension_x86.wxs
index 3b458687..101cf089 100644
--- a/src/ext/Util/wixlib/UtilBundleExtension_x86.wxs
+++ b/src/ext/Util/wixlib/UtilBootstrapperExtension_x86.wxs
@@ -3,5 +3,5 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=x86 ?> 5 <?define platform=x86 ?>
6 <?include UtilBundleExtension_Platform.wxi ?> 6 <?include UtilBootstrapperExtension_Platform.wxi ?>
7</Wix> 7</Wix>
diff --git a/src/ext/beDecor.h b/src/ext/beDecor.h
index 2c6a8818..ecd90599 100644
--- a/src/ext/beDecor.h
+++ b/src/ext/beDecor.h
@@ -3,11 +3,11 @@
3 3
4 4
5#if defined(_M_ARM64) 5#if defined(_M_ARM64)
6#define BUNDLE_EXTENSION_DECORATION(f) L"Wix4" f L"_A64" 6#define BOOTSTRAPPER_EXTENSION_DECORATION(f) L"Wix4" f L"_A64"
7#elif defined(_M_AMD64) 7#elif defined(_M_AMD64)
8#define BUNDLE_EXTENSION_DECORATION(f) L"Wix4" f L"_X64" 8#define BOOTSTRAPPER_EXTENSION_DECORATION(f) L"Wix4" f L"_X64"
9#elif defined(_M_ARM) 9#elif defined(_M_ARM)
10#define BUNDLE_EXTENSION_DECORATION(f) L"Wix4" f L"_ARM" 10#define BOOTSTRAPPER_EXTENSION_DECORATION(f) L"Wix4" f L"_ARM"
11#else 11#else
12#define BUNDLE_EXTENSION_DECORATION(f) L"Wix4" f L"_X86" 12#define BOOTSTRAPPER_EXTENSION_DECORATION(f) L"Wix4" f L"_X86"
13#endif 13#endif
diff --git a/src/internal/SetBuildNumber/Directory.Packages.props.pp b/src/internal/SetBuildNumber/Directory.Packages.props.pp
index 17a3b257..bb0f96d8 100644
--- a/src/internal/SetBuildNumber/Directory.Packages.props.pp
+++ b/src/internal/SetBuildNumber/Directory.Packages.props.pp
@@ -13,8 +13,8 @@
13 <PackageVersion Include="WixToolset.DUtil" Version="{packageversion}" /> 13 <PackageVersion Include="WixToolset.DUtil" Version="{packageversion}" />
14 <PackageVersion Include="WixToolset.WcaUtil" Version="{packageversion}" /> 14 <PackageVersion Include="WixToolset.WcaUtil" Version="{packageversion}" />
15 15
16 <PackageVersion Include="WixToolset.BextUtil" Version="{packageversion}" />
17 <PackageVersion Include="WixToolset.BootstrapperApplicationApi" Version="{packageversion}" /> 16 <PackageVersion Include="WixToolset.BootstrapperApplicationApi" Version="{packageversion}" />
17 <PackageVersion Include="WixToolset.BootstrapperExtensionApi" Version="{packageversion}" />
18 <PackageVersion Include="WixToolset.WixStandardBootstrapperApplicationFunctionApi" Version="{packageversion}" /> 18 <PackageVersion Include="WixToolset.WixStandardBootstrapperApplicationFunctionApi" Version="{packageversion}" />
19 19
20 <PackageVersion Include="WixToolset.Data" Version="{packageversion}" /> 20 <PackageVersion Include="WixToolset.Data" Version="{packageversion}" />
@@ -57,17 +57,6 @@
57 <PackageVersion Include="Microsoft.Win32.Registry" Version="4.7.0" /> 57 <PackageVersion Include="Microsoft.Win32.Registry" Version="4.7.0" />
58 </ItemGroup> 58 </ItemGroup>
59 59
60 <!--
61 Refer to this documentation when updating the versions of these packages:
62 https://github.com/dotnet/roslyn/blob/main/docs/wiki/NuGet-packages.md
63 -->
64 <ItemGroup>
65 <PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3" />
66 <PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="3.11.0" />
67 <PackageVersion Include="Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing.XUnit" Version="1.1.1" />
68 <PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="3.11.0" />
69 </ItemGroup>
70
71 <ItemGroup> 60 <ItemGroup>
72 <PackageVersion Include="NuGet.Credentials" Version="6.3.3" /> 61 <PackageVersion Include="NuGet.Credentials" Version="6.3.3" />
73 <PackageVersion Include="NuGet.Protocol" Version="6.3.3" /> 62 <PackageVersion Include="NuGet.Protocol" Version="6.3.3" />
diff --git a/src/wix/WixInternal.Core.TestPackage/BundleExtractor.cs b/src/wix/WixInternal.Core.TestPackage/BundleExtractor.cs
index dc4005a5..74d13132 100644
--- a/src/wix/WixInternal.Core.TestPackage/BundleExtractor.cs
+++ b/src/wix/WixInternal.Core.TestPackage/BundleExtractor.cs
@@ -16,7 +16,7 @@ namespace WixInternal.Core.TestPackage
16 { 16 {
17 private const string BurnNamespace = "http://wixtoolset.org/schemas/v4/2008/Burn"; 17 private const string BurnNamespace = "http://wixtoolset.org/schemas/v4/2008/Burn";
18 private const string BADataFileName = "BootstrapperApplicationData.xml"; 18 private const string BADataFileName = "BootstrapperApplicationData.xml";
19 private const string BundleExtensionDataFileName = "BundleExtensionData.xml"; 19 private const string BootstrapperExtensionDataFileName = "BootstrapperExtensionData.xml";
20 20
21 /// <summary> 21 /// <summary>
22 /// Extracts the BA container. 22 /// Extracts the BA container.
@@ -71,8 +71,8 @@ namespace WixInternal.Core.TestPackage
71 result.BADataDocument = LoadBAData(baFolderPath); 71 result.BADataDocument = LoadBAData(baFolderPath);
72 result.BADataNamespaceManager = GetBADataNamespaceManager(result.BADataDocument, "ba"); 72 result.BADataNamespaceManager = GetBADataNamespaceManager(result.BADataDocument, "ba");
73 73
74 result.BundleExtensionDataDocument = LoadBundleExtensionData(baFolderPath); 74 result.BootstrapperExtensionDataDocument = LoadBootstrapperExtensionData(baFolderPath);
75 result.BundleExtensionDataNamespaceManager = GetBundleExtensionDataNamespaceManager(result.BundleExtensionDataDocument, "be"); 75 result.BootstrapperExtensionDataNamespaceManager = GetBootstrapperExtensionDataNamespaceManager(result.BootstrapperExtensionDataDocument, "be");
76 } 76 }
77 77
78 return result; 78 return result;
@@ -92,15 +92,15 @@ namespace WixInternal.Core.TestPackage
92 } 92 }
93 93
94 /// <summary> 94 /// <summary>
95 /// Gets an <see cref="XmlNamespaceManager"/> for BundleExtensionData.xml with the given prefix assigned to the root namespace. 95 /// Gets an <see cref="XmlNamespaceManager"/> for BootstrapperExtensionData.xml with the given prefix assigned to the root namespace.
96 /// </summary> 96 /// </summary>
97 /// <param name="document"></param> 97 /// <param name="document"></param>
98 /// <param name="prefix"></param> 98 /// <param name="prefix"></param>
99 /// <returns></returns> 99 /// <returns></returns>
100 public static XmlNamespaceManager GetBundleExtensionDataNamespaceManager(XmlDocument document, string prefix) 100 public static XmlNamespaceManager GetBootstrapperExtensionDataNamespaceManager(XmlDocument document, string prefix)
101 { 101 {
102 var namespaceManager = new XmlNamespaceManager(document.NameTable); 102 var namespaceManager = new XmlNamespaceManager(document.NameTable);
103 namespaceManager.AddNamespace(prefix, BurnConstants.BundleExtensionDataNamespace); 103 namespaceManager.AddNamespace(prefix, BurnConstants.BootstrapperExtensionDataNamespace);
104 return namespaceManager; 104 return namespaceManager;
105 } 105 }
106 106
@@ -134,10 +134,10 @@ namespace WixInternal.Core.TestPackage
134 /// </summary> 134 /// </summary>
135 /// <param name="baFolderPath"></param> 135 /// <param name="baFolderPath"></param>
136 /// <returns></returns> 136 /// <returns></returns>
137 public static XmlDocument LoadBundleExtensionData(string baFolderPath) 137 public static XmlDocument LoadBootstrapperExtensionData(string baFolderPath)
138 { 138 {
139 var document = new XmlDocument(); 139 var document = new XmlDocument();
140 document.Load(Path.Combine(baFolderPath, BundleExtensionDataFileName)); 140 document.Load(Path.Combine(baFolderPath, BootstrapperExtensionDataFileName));
141 return document; 141 return document;
142 } 142 }
143 143
diff --git a/src/wix/WixInternal.Core.TestPackage/ExtractBAContainerResult.cs b/src/wix/WixInternal.Core.TestPackage/ExtractBAContainerResult.cs
index ab45d68e..1d4ba47f 100644
--- a/src/wix/WixInternal.Core.TestPackage/ExtractBAContainerResult.cs
+++ b/src/wix/WixInternal.Core.TestPackage/ExtractBAContainerResult.cs
@@ -13,14 +13,14 @@ namespace WixInternal.Core.TestPackage
13 public class ExtractBAContainerResult 13 public class ExtractBAContainerResult
14 { 14 {
15 /// <summary> 15 /// <summary>
16 /// <see cref="XmlDocument"/> for BundleExtensionData.xml. 16 /// <see cref="XmlDocument"/> for BootstrapperExtensionData.xml.
17 /// </summary> 17 /// </summary>
18 public XmlDocument BundleExtensionDataDocument { get; set; } 18 public XmlDocument BootstrapperExtensionDataDocument { get; set; }
19 19
20 /// <summary> 20 /// <summary>
21 /// <see cref="XmlNamespaceManager"/> for BundleExtensionData.xml. 21 /// <see cref="XmlNamespaceManager"/> for BootstrapperExtensionData.xml.
22 /// </summary> 22 /// </summary>
23 public XmlNamespaceManager BundleExtensionDataNamespaceManager { get; set; } 23 public XmlNamespaceManager BootstrapperExtensionDataNamespaceManager { get; set; }
24 24
25 /// <summary> 25 /// <summary>
26 /// <see cref="XmlDocument"/> for BootstrapperApplicationData.xml. 26 /// <see cref="XmlDocument"/> for BootstrapperApplicationData.xml.
@@ -53,7 +53,7 @@ namespace WixInternal.Core.TestPackage
53 public bool? AttachedContainersSuccess { get; set; } 53 public bool? AttachedContainersSuccess { get; set; }
54 54
55 /// <summary> 55 /// <summary>
56 /// 56 ///
57 /// </summary> 57 /// </summary>
58 /// <returns></returns> 58 /// <returns></returns>
59 public ExtractBAContainerResult AssertSuccess() 59 public ExtractBAContainerResult AssertSuccess()
@@ -77,12 +77,12 @@ namespace WixInternal.Core.TestPackage
77 } 77 }
78 78
79 /// <summary> 79 /// <summary>
80 /// Returns the relative path of the BundleExtension entry point dll in the given folder. 80 /// Returns the relative path of the BootstrapperExtension entry point dll in the given folder.
81 /// </summary> 81 /// </summary>
82 /// <param name="extractedBAContainerFolderPath"></param> 82 /// <param name="extractedBAContainerFolderPath"></param>
83 /// <param name="extensionId"></param> 83 /// <param name="extensionId"></param>
84 /// <returns></returns> 84 /// <returns></returns>
85 public string GetBundleExtensionFilePath(string extractedBAContainerFolderPath, string extensionId) 85 public string GetBootstrapperExtensionFilePath(string extractedBAContainerFolderPath, string extensionId)
86 { 86 {
87 var uxPayloads = this.SelectManifestNodes($"/burn:BurnManifest/burn:UX/burn:Payload[@Id='{extensionId}']"); 87 var uxPayloads = this.SelectManifestNodes($"/burn:BurnManifest/burn:UX/burn:Payload[@Id='{extensionId}']");
88 var bextPayload = uxPayloads[0]; 88 var bextPayload = uxPayloads[0];
@@ -91,7 +91,7 @@ namespace WixInternal.Core.TestPackage
91 } 91 }
92 92
93 /// <summary> 93 /// <summary>
94 /// 94 ///
95 /// </summary> 95 /// </summary>
96 /// <param name="xpath">elements must have the 'ba' prefix</param> 96 /// <param name="xpath">elements must have the 'ba' prefix</param>
97 /// <returns></returns> 97 /// <returns></returns>
@@ -101,7 +101,7 @@ namespace WixInternal.Core.TestPackage
101 } 101 }
102 102
103 /// <summary> 103 /// <summary>
104 /// 104 ///
105 /// </summary> 105 /// </summary>
106 /// <param name="xpath">elements must have the 'ba' prefix</param> 106 /// <param name="xpath">elements must have the 'ba' prefix</param>
107 /// <param name="ignoredAttributesByElementName">Attributes for which the value should be set to '*'.</param> 107 /// <param name="ignoredAttributesByElementName">Attributes for which the value should be set to '*'.</param>
@@ -112,28 +112,28 @@ namespace WixInternal.Core.TestPackage
112 } 112 }
113 113
114 /// <summary> 114 /// <summary>
115 /// 115 ///
116 /// </summary> 116 /// </summary>
117 /// <param name="xpath">elements must have the 'be' prefix</param> 117 /// <param name="xpath">elements must have the 'be' prefix</param>
118 /// <returns></returns> 118 /// <returns></returns>
119 public XmlNodeList SelectBundleExtensionDataNodes(string xpath) 119 public XmlNodeList SelectBootstrapperExtensionDataNodes(string xpath)
120 { 120 {
121 return this.BundleExtensionDataDocument.SelectNodes(xpath, this.BundleExtensionDataNamespaceManager); 121 return this.BootstrapperExtensionDataDocument.SelectNodes(xpath, this.BootstrapperExtensionDataNamespaceManager);
122 } 122 }
123 123
124 /// <summary> 124 /// <summary>
125 /// 125 ///
126 /// </summary> 126 /// </summary>
127 /// <param name="xpath">elements must have the 'be' prefix</param> 127 /// <param name="xpath">elements must have the 'be' prefix</param>
128 /// <param name="ignoredAttributesByElementName">Attributes for which the value should be set to '*'.</param> 128 /// <param name="ignoredAttributesByElementName">Attributes for which the value should be set to '*'.</param>
129 /// <returns></returns> 129 /// <returns></returns>
130 public string[] GetBundleExtensionTestXmlLines(string xpath, Dictionary<string, List<string>> ignoredAttributesByElementName = null) 130 public string[] GetBootstrapperExtensionTestXmlLines(string xpath, Dictionary<string, List<string>> ignoredAttributesByElementName = null)
131 { 131 {
132 return this.SelectBundleExtensionDataNodes(xpath).GetTestXmlLines(ignoredAttributesByElementName); 132 return this.SelectBootstrapperExtensionDataNodes(xpath).GetTestXmlLines(ignoredAttributesByElementName);
133 } 133 }
134 134
135 /// <summary> 135 /// <summary>
136 /// 136 ///
137 /// </summary> 137 /// </summary>
138 /// <param name="xpath">elements must have the 'burn' prefix</param> 138 /// <param name="xpath">elements must have the 'burn' prefix</param>
139 /// <returns></returns> 139 /// <returns></returns>
@@ -143,7 +143,7 @@ namespace WixInternal.Core.TestPackage
143 } 143 }
144 144
145 /// <summary> 145 /// <summary>
146 /// 146 ///
147 /// </summary> 147 /// </summary>
148 /// <param name="xpath">elements must have the 'burn' prefix</param> 148 /// <param name="xpath">elements must have the 'burn' prefix</param>
149 /// <param name="ignoredAttributesByElementName">Attributes for which the value should be set to '*'.</param> 149 /// <param name="ignoredAttributesByElementName">Attributes for which the value should be set to '*'.</param>
diff --git a/src/wix/WixToolset.Core.Burn/Bind/BaseSearchFacade.cs b/src/wix/WixToolset.Core.Burn/Bind/BaseSearchFacade.cs
index 0da78797..3974aef1 100644
--- a/src/wix/WixToolset.Core.Burn/Bind/BaseSearchFacade.cs
+++ b/src/wix/WixToolset.Core.Burn/Bind/BaseSearchFacade.cs
@@ -18,9 +18,9 @@ namespace WixToolset.Core.Burn
18 { 18 {
19 writer.WriteAttributeString("Condition", this.SearchSymbol.Condition); 19 writer.WriteAttributeString("Condition", this.SearchSymbol.Condition);
20 } 20 }
21 if (!String.IsNullOrEmpty(this.SearchSymbol.BundleExtensionRef)) 21 if (!String.IsNullOrEmpty(this.SearchSymbol.BootstrapperExtensionRef))
22 { 22 {
23 writer.WriteAttributeString("ExtensionId", this.SearchSymbol.BundleExtensionRef); 23 writer.WriteAttributeString("ExtensionId", this.SearchSymbol.BootstrapperExtensionRef);
24 } 24 }
25 } 25 }
26 } 26 }
diff --git a/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
index c608e505..3dbbffa7 100644
--- a/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
+++ b/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
@@ -427,10 +427,10 @@ namespace WixToolset.Core.Burn
427 // Generate the bundle extension manifest... 427 // Generate the bundle extension manifest...
428 string bextManifestPath; 428 string bextManifestPath;
429 { 429 {
430 var command = new CreateBundleExtensionManifestCommand(section, bundleSymbol, uxPayloadIndex, this.IntermediateFolder, this.InternalBurnBackendHelper); 430 var command = new CreateBootstrapperExtensionManifestCommand(section, bundleSymbol, uxPayloadIndex, this.IntermediateFolder, this.InternalBurnBackendHelper);
431 command.Execute(); 431 command.Execute();
432 432
433 var bextManifestPayload = command.BundleExtensionManifestPayloadRow; 433 var bextManifestPayload = command.BootstrapperExtensionManifestPayloadRow;
434 bextManifestPath = command.OutputPath; 434 bextManifestPath = command.OutputPath;
435 payloadSymbols.Add(bextManifestPayload.Id.Id, bextManifestPayload); 435 payloadSymbols.Add(bextManifestPayload.Id.Id, bextManifestPayload);
436 ++uxPayloadIndex; 436 ++uxPayloadIndex;
@@ -550,7 +550,7 @@ namespace WixToolset.Core.Burn
550 550
551 wixout.ImportDataStream(BurnConstants.BurnManifestWixOutputStreamName, manifestPath); 551 wixout.ImportDataStream(BurnConstants.BurnManifestWixOutputStreamName, manifestPath);
552 wixout.ImportDataStream(BurnConstants.BootstrapperApplicationDataWixOutputStreamName, baDataPath); 552 wixout.ImportDataStream(BurnConstants.BootstrapperApplicationDataWixOutputStreamName, baDataPath);
553 wixout.ImportDataStream(BurnConstants.BundleExtensionDataWixOutputStreamName, bextDataPath); 553 wixout.ImportDataStream(BurnConstants.BootstrapperExtensionDataWixOutputStreamName, bextDataPath);
554 554
555 wixout.Reopen(); 555 wixout.Reopen();
556 556
diff --git a/src/wix/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs b/src/wix/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs
index 11b998b6..c947524b 100644
--- a/src/wix/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs
+++ b/src/wix/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs
@@ -48,7 +48,7 @@ namespace WixToolset.Core.Burn.Bind
48 var extensionSearchSymbols = kvp.Value; 48 var extensionSearchSymbols = kvp.Value;
49 foreach (var extensionSearchSymbol in extensionSearchSymbols) 49 foreach (var extensionSearchSymbol in extensionSearchSymbols)
50 { 50 {
51 this.BackendHelper.AddBundleExtensionData(extensionId, extensionSearchSymbol, symbolIdIsIdAttribute: true); 51 this.BackendHelper.AddBootstrapperExtensionData(extensionId, extensionSearchSymbol, symbolIdIsIdAttribute: true);
52 symbols.Remove(extensionSearchSymbol); 52 symbols.Remove(extensionSearchSymbol);
53 } 53 }
54 } 54 }
@@ -70,7 +70,7 @@ namespace WixToolset.Core.Burn.Bind
70 case SymbolDefinitionType.WixBundleBundlePackagePayload: 70 case SymbolDefinitionType.WixBundleBundlePackagePayload:
71 case SymbolDefinitionType.WixBundleExePackage: 71 case SymbolDefinitionType.WixBundleExePackage:
72 case SymbolDefinitionType.WixBundleExePackagePayload: 72 case SymbolDefinitionType.WixBundleExePackagePayload:
73 case SymbolDefinitionType.WixBundleExtension: 73 case SymbolDefinitionType.WixBootstrapperExtension:
74 case SymbolDefinitionType.WixBundleHarvestedBundlePackage: 74 case SymbolDefinitionType.WixBundleHarvestedBundlePackage:
75 case SymbolDefinitionType.WixBundleHarvestedDependencyProvider: 75 case SymbolDefinitionType.WixBundleHarvestedDependencyProvider:
76 case SymbolDefinitionType.WixBundleHarvestedMsiPackage: 76 case SymbolDefinitionType.WixBundleHarvestedMsiPackage:
@@ -153,7 +153,7 @@ namespace WixToolset.Core.Burn.Bind
153 switch (wixBundleCustomDataSymbol.Type) 153 switch (wixBundleCustomDataSymbol.Type)
154 { 154 {
155 case WixBundleCustomDataType.BootstrapperApplication: 155 case WixBundleCustomDataType.BootstrapperApplication:
156 case WixBundleCustomDataType.BundleExtension: 156 case WixBundleCustomDataType.BootstrapperExtension:
157 break; 157 break;
158 default: 158 default:
159 return false; 159 return false;
@@ -195,8 +195,8 @@ namespace WixToolset.Core.Burn.Bind
195 case WixBundleCustomDataType.BootstrapperApplication: 195 case WixBundleCustomDataType.BootstrapperApplication:
196 writer.WriteStartElement(elementName, BurnConstants.BootstrapperApplicationDataNamespace); 196 writer.WriteStartElement(elementName, BurnConstants.BootstrapperApplicationDataNamespace);
197 break; 197 break;
198 case WixBundleCustomDataType.BundleExtension: 198 case WixBundleCustomDataType.BootstrapperExtension:
199 writer.WriteStartElement(elementName, BurnConstants.BundleExtensionDataNamespace); 199 writer.WriteStartElement(elementName, BurnConstants.BootstrapperExtensionDataNamespace);
200 break; 200 break;
201 default: 201 default:
202 throw new NotImplementedException(); 202 throw new NotImplementedException();
@@ -219,8 +219,8 @@ namespace WixToolset.Core.Burn.Bind
219 case WixBundleCustomDataType.BootstrapperApplication: 219 case WixBundleCustomDataType.BootstrapperApplication:
220 this.BackendHelper.AddBootstrapperApplicationData(sb.ToString()); 220 this.BackendHelper.AddBootstrapperApplicationData(sb.ToString());
221 break; 221 break;
222 case WixBundleCustomDataType.BundleExtension: 222 case WixBundleCustomDataType.BootstrapperExtension:
223 this.BackendHelper.AddBundleExtensionData(customDataSymbol.BundleExtensionRef, sb.ToString()); 223 this.BackendHelper.AddBootstrapperExtensionData(customDataSymbol.BootstrapperExtensionRef, sb.ToString());
224 break; 224 break;
225 default: 225 default:
226 throw new NotImplementedException(); 226 throw new NotImplementedException();
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/BurnCommon.cs b/src/wix/WixToolset.Core.Burn/Bundles/BurnCommon.cs
index 95673ab0..863a14aa 100644
--- a/src/wix/WixToolset.Core.Burn/Bundles/BurnCommon.cs
+++ b/src/wix/WixToolset.Core.Burn/Bundles/BurnCommon.cs
@@ -12,7 +12,7 @@ namespace WixToolset.Core.Burn.Bundles
12 /// <summary> 12 /// <summary>
13 /// Common functionality for Burn PE Writer &amp; Reader for the WiX toolset. 13 /// Common functionality for Burn PE Writer &amp; Reader for the WiX toolset.
14 /// </summary> 14 /// </summary>
15 /// <remarks>This class encapsulates common functionality related to 15 /// <remarks>This class encapsulates common functionality related to
16 /// bundled/chained setup packages.</remarks> 16 /// bundled/chained setup packages.</remarks>
17 /// <example> 17 /// <example>
18 /// </example> 18 /// </example>
@@ -25,7 +25,7 @@ namespace WixToolset.Core.Burn.Bundles
25 25
26 public const string BADataFileName = "BootstrapperApplicationData.xml"; 26 public const string BADataFileName = "BootstrapperApplicationData.xml";
27 27
28 public const string BundleExtensionDataFileName = "BundleExtensionData.xml"; 28 public const string BootstrapperExtensionDataFileName = "BootstrapperExtensionData.xml";
29 29
30 // See WinNT.h for details about the PE format, including the 30 // See WinNT.h for details about the PE format, including the
31 // structure and offsets for IMAGE_DOS_HEADER, IMAGE_NT_HEADERS32, 31 // structure and offsets for IMAGE_DOS_HEADER, IMAGE_NT_HEADERS32,
@@ -320,7 +320,7 @@ namespace WixToolset.Core.Burn.Bundles
320 320
321 this.wixburnRawDataSize = BurnCommon.ReadUInt32(bytes, IMAGE_SECTION_HEADER_OFFSET_SIZEOFRAWDATA); 321 this.wixburnRawDataSize = BurnCommon.ReadUInt32(bytes, IMAGE_SECTION_HEADER_OFFSET_SIZEOFRAWDATA);
322 322
323 // we need 52 bytes for the manifest header, which is always going to fit in 323 // we need 52 bytes for the manifest header, which is always going to fit in
324 // the smallest alignment (512 bytes), but just to be paranoid... 324 // the smallest alignment (512 bytes), but just to be paranoid...
325 if (BURN_SECTION_MIN_SIZE > this.wixburnRawDataSize) 325 if (BURN_SECTION_MIN_SIZE > this.wixburnRawDataSize)
326 { 326 {
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/CreateBundleExtensionManifestCommand.cs b/src/wix/WixToolset.Core.Burn/Bundles/CreateBootstrapperExtensionManifestCommand.cs
index ab6dcea1..045fe5d6 100644
--- a/src/wix/WixToolset.Core.Burn/Bundles/CreateBundleExtensionManifestCommand.cs
+++ b/src/wix/WixToolset.Core.Burn/Bundles/CreateBootstrapperExtensionManifestCommand.cs
@@ -11,9 +11,9 @@ namespace WixToolset.Core.Burn.Bundles
11 using WixToolset.Data.Burn; 11 using WixToolset.Data.Burn;
12 using WixToolset.Data.Symbols; 12 using WixToolset.Data.Symbols;
13 13
14 internal class CreateBundleExtensionManifestCommand 14 internal class CreateBootstrapperExtensionManifestCommand
15 { 15 {
16 public CreateBundleExtensionManifestCommand(IntermediateSection section, WixBundleSymbol bundleSymbol, int lastUXPayloadIndex, string intermediateFolder, IInternalBurnBackendHelper internalBurnBackendHelper) 16 public CreateBootstrapperExtensionManifestCommand(IntermediateSection section, WixBundleSymbol bundleSymbol, int lastUXPayloadIndex, string intermediateFolder, IInternalBurnBackendHelper internalBurnBackendHelper)
17 { 17 {
18 this.Section = section; 18 this.Section = section;
19 this.BundleSymbol = bundleSymbol; 19 this.BundleSymbol = bundleSymbol;
@@ -32,18 +32,18 @@ namespace WixToolset.Core.Burn.Bundles
32 32
33 private string IntermediateFolder { get; } 33 private string IntermediateFolder { get; }
34 34
35 public WixBundlePayloadSymbol BundleExtensionManifestPayloadRow { get; private set; } 35 public WixBundlePayloadSymbol BootstrapperExtensionManifestPayloadRow { get; private set; }
36 36
37 public string OutputPath { get; private set; } 37 public string OutputPath { get; private set; }
38 38
39 public void Execute() 39 public void Execute()
40 { 40 {
41 this.OutputPath = this.CreateBundleExtensionManifest(); 41 this.OutputPath = this.CreateBootstrapperExtensionManifest();
42 42
43 this.BundleExtensionManifestPayloadRow = this.CreateBundleExtensionManifestPayloadRow(this.OutputPath); 43 this.BootstrapperExtensionManifestPayloadRow = this.CreateBootstrapperExtensionManifestPayloadRow(this.OutputPath);
44 } 44 }
45 45
46 private string CreateBundleExtensionManifest() 46 private string CreateBootstrapperExtensionManifest()
47 { 47 {
48 var path = Path.Combine(this.IntermediateFolder, "wix-bextdata.xml"); 48 var path = Path.Combine(this.IntermediateFolder, "wix-bextdata.xml");
49 49
@@ -53,9 +53,9 @@ namespace WixToolset.Core.Burn.Bundles
53 { 53 {
54 writer.Formatting = Formatting.Indented; 54 writer.Formatting = Formatting.Indented;
55 writer.WriteStartDocument(); 55 writer.WriteStartDocument();
56 writer.WriteStartElement("BundleExtensionData", BurnConstants.BundleExtensionDataNamespace); 56 writer.WriteStartElement("BootstrapperExtensionData", BurnConstants.BootstrapperExtensionDataNamespace);
57 57
58 this.InternalBurnBackendHelper.WriteBundleExtensionData(writer); 58 this.InternalBurnBackendHelper.WriteBootstrapperExtensionData(writer);
59 59
60 writer.WriteEndElement(); 60 writer.WriteEndElement();
61 writer.WriteEndDocument(); 61 writer.WriteEndDocument();
@@ -64,9 +64,9 @@ namespace WixToolset.Core.Burn.Bundles
64 return path; 64 return path;
65 } 65 }
66 66
67 private WixBundlePayloadSymbol CreateBundleExtensionManifestPayloadRow(string bextManifestPath) 67 private WixBundlePayloadSymbol CreateBootstrapperExtensionManifestPayloadRow(string bextManifestPath)
68 { 68 {
69 var generatedId = this.InternalBurnBackendHelper.GenerateIdentifier("ux", BurnCommon.BundleExtensionDataFileName); 69 var generatedId = this.InternalBurnBackendHelper.GenerateIdentifier("ux", BurnCommon.BootstrapperExtensionDataFileName);
70 70
71 this.Section.AddSymbol(new WixGroupSymbol(this.BundleSymbol.SourceLineNumbers) 71 this.Section.AddSymbol(new WixGroupSymbol(this.BundleSymbol.SourceLineNumbers)
72 { 72 {
@@ -78,7 +78,7 @@ namespace WixToolset.Core.Burn.Bundles
78 78
79 var symbol = this.Section.AddSymbol(new WixBundlePayloadSymbol(this.BundleSymbol.SourceLineNumbers, new Identifier(AccessModifier.Section, generatedId)) 79 var symbol = this.Section.AddSymbol(new WixBundlePayloadSymbol(this.BundleSymbol.SourceLineNumbers, new Identifier(AccessModifier.Section, generatedId))
80 { 80 {
81 Name = BurnCommon.BundleExtensionDataFileName, 81 Name = BurnCommon.BootstrapperExtensionDataFileName,
82 SourceFile = new IntermediateFieldPathValue { Path = bextManifestPath }, 82 SourceFile = new IntermediateFieldPathValue { Path = bextManifestPath },
83 Compressed = true, 83 Compressed = true,
84 UnresolvedSourceFile = bextManifestPath, 84 UnresolvedSourceFile = bextManifestPath,
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs b/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs
index bb057293..193bfcc8 100644
--- a/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs
+++ b/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs
@@ -702,16 +702,16 @@ namespace WixToolset.Core.Burn.Bundles
702 writer.WriteEndElement(); 702 writer.WriteEndElement();
703 } 703 }
704 704
705 // Write the BundleExtension elements. 705 // Write the BootstrapperExtension elements.
706 var bundleExtensions = this.Section.Symbols.OfType<WixBundleExtensionSymbol>(); 706 var bootstrapperExtensions = this.Section.Symbols.OfType<WixBootstrapperExtensionSymbol>();
707 var uxPayloadsById = this.UXContainerPayloads.ToDictionary(p => p.Id.Id); 707 var uxPayloadsById = this.UXContainerPayloads.ToDictionary(p => p.Id.Id);
708 708
709 foreach (var bundleExtension in bundleExtensions) 709 foreach (var bootstrapperExtension in bootstrapperExtensions)
710 { 710 {
711 var entryPayload = uxPayloadsById[bundleExtension.PayloadRef]; 711 var entryPayload = uxPayloadsById[bootstrapperExtension.PayloadRef];
712 712
713 writer.WriteStartElement("BundleExtension"); 713 writer.WriteStartElement("BootstrapperExtension");
714 writer.WriteAttributeString("Id", bundleExtension.Id.Id); 714 writer.WriteAttributeString("Id", bootstrapperExtension.Id.Id);
715 writer.WriteAttributeString("EntryPayloadSourcePath", entryPayload.EmbeddedId); 715 writer.WriteAttributeString("EntryPayloadSourcePath", entryPayload.EmbeddedId);
716 716
717 writer.WriteEndElement(); 717 writer.WriteEndElement();
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/OrderSearchesCommand.cs b/src/wix/WixToolset.Core.Burn/Bundles/OrderSearchesCommand.cs
index 01d5657b..60f375e5 100644
--- a/src/wix/WixToolset.Core.Burn/Bundles/OrderSearchesCommand.cs
+++ b/src/wix/WixToolset.Core.Burn/Bundles/OrderSearchesCommand.cs
@@ -329,7 +329,7 @@ namespace WixToolset.Core.Burn.Bundles
329 .OfType<WixSetVariableSymbol>() 329 .OfType<WixSetVariableSymbol>()
330 .ToDictionary(t => t.Id.Id); 330 .ToDictionary(t => t.Id.Id);
331 var extensionSearchesById = this.Section.Symbols 331 var extensionSearchesById = this.Section.Symbols
332 .Where(t => t.Definition.HasTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag)) 332 .Where(t => t.Definition.HasTag(BurnConstants.BootstrapperExtensionSearchSymbolDefinitionTag))
333 .ToDictionary(t => t.Id.Id); 333 .ToDictionary(t => t.Id.Id);
334 334
335 foreach (var searchId in sortedIds) 335 foreach (var searchId in sortedIds)
@@ -348,10 +348,10 @@ namespace WixToolset.Core.Burn.Bundles
348 { 348 {
349 orderedSearchFacades.Add(new ExtensionSearchFacade(searchSymbol)); 349 orderedSearchFacades.Add(new ExtensionSearchFacade(searchSymbol));
350 350
351 if (!extensionSearchSymbolsByExtensionId.TryGetValue(searchSymbol.BundleExtensionRef, out var extensionSearchSymbols)) 351 if (!extensionSearchSymbolsByExtensionId.TryGetValue(searchSymbol.BootstrapperExtensionRef, out var extensionSearchSymbols))
352 { 352 {
353 extensionSearchSymbols = new List<IntermediateSymbol>(); 353 extensionSearchSymbols = new List<IntermediateSymbol>();
354 extensionSearchSymbolsByExtensionId[searchSymbol.BundleExtensionRef] = extensionSearchSymbols; 354 extensionSearchSymbolsByExtensionId[searchSymbol.BootstrapperExtensionRef] = extensionSearchSymbols;
355 } 355 }
356 extensionSearchSymbols.Add(extensionSearchSymbol); 356 extensionSearchSymbols.Add(extensionSearchSymbol);
357 } 357 }
diff --git a/src/wix/WixToolset.Core.Burn/ExtensibilityServices/BurnBackendHelper.cs b/src/wix/WixToolset.Core.Burn/ExtensibilityServices/BurnBackendHelper.cs
index f2b3587d..93de0d2c 100644
--- a/src/wix/WixToolset.Core.Burn/ExtensibilityServices/BurnBackendHelper.cs
+++ b/src/wix/WixToolset.Core.Burn/ExtensibilityServices/BurnBackendHelper.cs
@@ -25,7 +25,7 @@ namespace WixToolset.Core.Burn.ExtensibilityServices
25 25
26 private ManifestData BootstrapperApplicationManifestData { get; } = new ManifestData(); 26 private ManifestData BootstrapperApplicationManifestData { get; } = new ManifestData();
27 27
28 private Dictionary<string, ManifestData> BundleExtensionDataById { get; } = new Dictionary<string, ManifestData>(); 28 private Dictionary<string, ManifestData> BootstrapperExtensionDataById { get; } = new Dictionary<string, ManifestData>();
29 29
30 public BurnBackendHelper(IServiceProvider serviceProvider) 30 public BurnBackendHelper(IServiceProvider serviceProvider)
31 { 31 {
@@ -149,16 +149,16 @@ namespace WixToolset.Core.Burn.ExtensibilityServices
149 this.BootstrapperApplicationManifestData.AddSymbol(symbol, symbolIdIsIdAttribute, BurnConstants.BootstrapperApplicationDataNamespace); 149 this.BootstrapperApplicationManifestData.AddSymbol(symbol, symbolIdIsIdAttribute, BurnConstants.BootstrapperApplicationDataNamespace);
150 } 150 }
151 151
152 public void AddBundleExtensionData(string extensionId, string xml) 152 public void AddBootstrapperExtensionData(string extensionId, string xml)
153 { 153 {
154 var manifestData = this.GetBundleExtensionManifestData(extensionId); 154 var manifestData = this.GetBootstrapperExtensionManifestData(extensionId);
155 manifestData.AddXml(xml); 155 manifestData.AddXml(xml);
156 } 156 }
157 157
158 public void AddBundleExtensionData(string extensionId, IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false) 158 public void AddBootstrapperExtensionData(string extensionId, IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false)
159 { 159 {
160 var manifestData = this.GetBundleExtensionManifestData(extensionId); 160 var manifestData = this.GetBootstrapperExtensionManifestData(extensionId);
161 manifestData.AddSymbol(symbol, symbolIdIsIdAttribute, BurnConstants.BundleExtensionDataNamespace); 161 manifestData.AddSymbol(symbol, symbolIdIsIdAttribute, BurnConstants.BootstrapperExtensionDataNamespace);
162 } 162 }
163 163
164 #endregion 164 #endregion
@@ -204,9 +204,9 @@ namespace WixToolset.Core.Burn.ExtensibilityServices
204 this.BootstrapperApplicationManifestData.Write(writer); 204 this.BootstrapperApplicationManifestData.Write(writer);
205 } 205 }
206 206
207 public void WriteBundleExtensionData(XmlWriter writer) 207 public void WriteBootstrapperExtensionData(XmlWriter writer)
208 { 208 {
209 foreach (var kvp in this.BundleExtensionDataById) 209 foreach (var kvp in this.BootstrapperExtensionDataById)
210 { 210 {
211 this.WriteExtension(writer, kvp.Key, kvp.Value); 211 this.WriteExtension(writer, kvp.Key, kvp.Value);
212 } 212 }
@@ -214,17 +214,17 @@ namespace WixToolset.Core.Burn.ExtensibilityServices
214 214
215 #endregion 215 #endregion
216 216
217 private ManifestData GetBundleExtensionManifestData(string extensionId) 217 private ManifestData GetBootstrapperExtensionManifestData(string extensionId)
218 { 218 {
219 if (!this.backendHelper.IsValidIdentifier(extensionId)) 219 if (!this.backendHelper.IsValidIdentifier(extensionId))
220 { 220 {
221 throw new ArgumentException($"'{extensionId}' is not a valid extensionId"); 221 throw new ArgumentException($"'{extensionId}' is not a valid extensionId");
222 } 222 }
223 223
224 if (!this.BundleExtensionDataById.TryGetValue(extensionId, out var manifestData)) 224 if (!this.BootstrapperExtensionDataById.TryGetValue(extensionId, out var manifestData))
225 { 225 {
226 manifestData = new ManifestData(); 226 manifestData = new ManifestData();
227 this.BundleExtensionDataById.Add(extensionId, manifestData); 227 this.BootstrapperExtensionDataById.Add(extensionId, manifestData);
228 } 228 }
229 229
230 return manifestData; 230 return manifestData;
@@ -232,7 +232,7 @@ namespace WixToolset.Core.Burn.ExtensibilityServices
232 232
233 private void WriteExtension(XmlWriter writer, string extensionId, ManifestData manifestData) 233 private void WriteExtension(XmlWriter writer, string extensionId, ManifestData manifestData)
234 { 234 {
235 writer.WriteStartElement("BundleExtension"); 235 writer.WriteStartElement("BootstrapperExtension");
236 236
237 writer.WriteAttributeString("Id", extensionId); 237 writer.WriteAttributeString("Id", extensionId);
238 238
diff --git a/src/wix/WixToolset.Core.Burn/IInternalBurnBackendHelper.cs b/src/wix/WixToolset.Core.Burn/IInternalBurnBackendHelper.cs
index 59c4f20f..44517564 100644
--- a/src/wix/WixToolset.Core.Burn/IInternalBurnBackendHelper.cs
+++ b/src/wix/WixToolset.Core.Burn/IInternalBurnBackendHelper.cs
@@ -9,6 +9,6 @@ namespace WixToolset.Core.Burn
9 { 9 {
10 void WriteBootstrapperApplicationData(XmlWriter writer); 10 void WriteBootstrapperApplicationData(XmlWriter writer);
11 11
12 void WriteBundleExtensionData(XmlWriter writer); 12 void WriteBootstrapperExtensionData(XmlWriter writer);
13 } 13 }
14} 14}
diff --git a/src/wix/WixToolset.Core/Compiler.cs b/src/wix/WixToolset.Core/Compiler.cs
index 65c4be50..d13f1a68 100644
--- a/src/wix/WixToolset.Core/Compiler.cs
+++ b/src/wix/WixToolset.Core/Compiler.cs
@@ -6083,11 +6083,11 @@ namespace WixToolset.Core
6083 case "BundleCustomDataRef": 6083 case "BundleCustomDataRef":
6084 this.ParseBundleCustomDataRefElement(child); 6084 this.ParseBundleCustomDataRefElement(child);
6085 break; 6085 break;
6086 case "BundleExtension": 6086 case "BootstrapperExtension":
6087 this.ParseBundleExtensionElement(child); 6087 this.ParseBootstrapperExtensionElement(child);
6088 break; 6088 break;
6089 case "BundleExtensionRef": 6089 case "BootstrapperExtensionRef":
6090 this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleExtension); 6090 this.ParseSimpleRefElement(child, SymbolDefinitions.WixBootstrapperExtension);
6091 break; 6091 break;
6092 case "ComplianceCheck": 6092 case "ComplianceCheck":
6093 this.ParseComplianceCheckElement(child); 6093 this.ParseComplianceCheckElement(child);
diff --git a/src/wix/WixToolset.Core/Compiler_Bundle.cs b/src/wix/WixToolset.Core/Compiler_Bundle.cs
index baf59cfc..fcf31014 100644
--- a/src/wix/WixToolset.Core/Compiler_Bundle.cs
+++ b/src/wix/WixToolset.Core/Compiler_Bundle.cs
@@ -312,11 +312,13 @@ namespace WixToolset.Core
312 case "BundleCustomDataRef": 312 case "BundleCustomDataRef":
313 this.ParseBundleCustomDataRefElement(child); 313 this.ParseBundleCustomDataRefElement(child);
314 break; 314 break;
315 case "BundleExtension": 315 case "BundleExtension": // kept for backward compatibility
316 this.ParseBundleExtensionElement(child); 316 case "BootstrapperExtension":
317 this.ParseBootstrapperExtensionElement(child);
317 break; 318 break;
318 case "BundleExtensionRef": 319 case "BundleExtensionRef": // kept for backward compatibility
319 this.ParseSimpleRefElement(child, SymbolDefinitions.WixBundleExtension); 320 case "BootstrapperExtensionRef":
321 this.ParseSimpleRefElement(child, SymbolDefinitions.WixBootstrapperExtension);
320 break; 322 break;
321 case "OptionalUpdateRegistration": 323 case "OptionalUpdateRegistration":
322 this.ParseOptionalUpdateRegistrationElement(child, manufacturer, parentName, name); 324 this.ParseOptionalUpdateRegistrationElement(child, manufacturer, parentName, name);
@@ -916,18 +918,19 @@ namespace WixToolset.Core
916 case "bootstrapperApplication": 918 case "bootstrapperApplication":
917 customDataType = WixBundleCustomDataType.BootstrapperApplication; 919 customDataType = WixBundleCustomDataType.BootstrapperApplication;
918 break; 920 break;
919 case "bundleExtension": 921 case "bundleExtension": // kept for backward compatibility
920 customDataType = WixBundleCustomDataType.BundleExtension; 922 case "bootstrapperExtension":
923 customDataType = WixBundleCustomDataType.BootstrapperExtension;
921 break; 924 break;
922 default: 925 default:
923 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Type", typeValue, "bootstrapperApplication", "bundleExtension")); 926 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Type", typeValue, "bootstrapperApplication", "bootstrapperExtension"));
924 customDataType = WixBundleCustomDataType.Unknown; // set a value to prevent expected attribute error below. 927 customDataType = WixBundleCustomDataType.Unknown; // set a value to prevent expected attribute error below.
925 break; 928 break;
926 } 929 }
927 break; 930 break;
928 case "ExtensionId": 931 case "ExtensionId":
929 extensionId = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 932 extensionId = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
930 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBundleExtension, extensionId); 933 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.WixBootstrapperExtension, extensionId);
931 break; 934 break;
932 default: 935 default:
933 this.Core.UnexpectedAttribute(node, attrib); 936 this.Core.UnexpectedAttribute(node, attrib);
@@ -948,7 +951,7 @@ namespace WixToolset.Core
948 var hasExtensionId = null != extensionId; 951 var hasExtensionId = null != extensionId;
949 if (!customDataType.HasValue) 952 if (!customDataType.HasValue)
950 { 953 {
951 customDataType = hasExtensionId ? WixBundleCustomDataType.BundleExtension : WixBundleCustomDataType.BootstrapperApplication; 954 customDataType = hasExtensionId ? WixBundleCustomDataType.BootstrapperExtension : WixBundleCustomDataType.BootstrapperApplication;
952 } 955 }
953 956
954 if (!customDataType.HasValue) 957 if (!customDataType.HasValue)
@@ -962,9 +965,9 @@ namespace WixToolset.Core
962 this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ExtensonId", "Type", "bootstrapperApplication")); 965 this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "ExtensonId", "Type", "bootstrapperApplication"));
963 } 966 }
964 } 967 }
965 else if (customDataType.Value == WixBundleCustomDataType.BundleExtension) 968 else if (customDataType.Value == WixBundleCustomDataType.BootstrapperExtension)
966 { 969 {
967 this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ExtensionId", "Type", "bundleExtension")); 970 this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ExtensionId", "Type", "bootstrapperExtension"));
968 } 971 }
969 972
970 foreach (var child in node.Elements()) 973 foreach (var child in node.Elements())
@@ -1007,7 +1010,7 @@ namespace WixToolset.Core
1007 { 1010 {
1008 AttributeNames = attributeNames, 1011 AttributeNames = attributeNames,
1009 Type = customDataType.Value, 1012 Type = customDataType.Value,
1010 BundleExtensionRef = extensionId, 1013 BootstrapperExtensionRef = extensionId,
1011 }); 1014 });
1012 } 1015 }
1013 } 1016 }
@@ -1185,10 +1188,10 @@ namespace WixToolset.Core
1185 } 1188 }
1186 1189
1187 /// <summary> 1190 /// <summary>
1188 /// Parse the BundleExtension element. 1191 /// Parse the BootstrapperExtension element.
1189 /// </summary> 1192 /// </summary>
1190 /// <param name="node">Element to parse</param> 1193 /// <param name="node">Element to parse</param>
1191 private void ParseBundleExtensionElement(XElement node) 1194 private void ParseBootstrapperExtensionElement(XElement node)
1192 { 1195 {
1193 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); 1196 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
1194 var compilerPayload = new CompilerPayload(this.Core, sourceLineNumbers, node); 1197 var compilerPayload = new CompilerPayload(this.Core, sourceLineNumbers, node);
@@ -1261,10 +1264,10 @@ namespace WixToolset.Core
1261 } 1264 }
1262 } 1265 }
1263 1266
1264 // Add the BundleExtension. 1267 // Add the BootstrapperExtension.
1265 if (!this.Core.EncounteredError) 1268 if (!this.Core.EncounteredError)
1266 { 1269 {
1267 this.Core.AddSymbol(new WixBundleExtensionSymbol(sourceLineNumbers, compilerPayload.Id) 1270 this.Core.AddSymbol(new WixBootstrapperExtensionSymbol(sourceLineNumbers, compilerPayload.Id)
1268 { 1271 {
1269 PayloadRef = compilerPayload.Id.Id, 1272 PayloadRef = compilerPayload.Id.Id,
1270 }); 1273 });
diff --git a/src/wix/WixToolset.Core/ExtensibilityServices/ParseHelper.cs b/src/wix/WixToolset.Core/ExtensibilityServices/ParseHelper.cs
index 5ccaffdc..52a7cf12 100644
--- a/src/wix/WixToolset.Core/ExtensibilityServices/ParseHelper.cs
+++ b/src/wix/WixToolset.Core/ExtensibilityServices/ParseHelper.cs
@@ -242,7 +242,7 @@ namespace WixToolset.Core.ExtensibilityServices
242 }); 242 });
243 } 243 }
244 244
245 public void CreateWixSearchSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, string elementName, Identifier id, string variable, string condition, string after, string bundleExtensionId) 245 public void CreateWixSearchSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, string elementName, Identifier id, string variable, string condition, string after, string bootstrapperExtensionId)
246 { 246 {
247 if (variable == null) 247 if (variable == null)
248 { 248 {
@@ -257,7 +257,7 @@ namespace WixToolset.Core.ExtensibilityServices
257 { 257 {
258 Variable = variable, 258 Variable = variable,
259 Condition = condition, 259 Condition = condition,
260 BundleExtensionRef = bundleExtensionId, 260 BootstrapperExtensionRef = bootstrapperExtensionId,
261 }); 261 });
262 262
263 if (after != null) 263 if (after != null)
@@ -267,9 +267,9 @@ namespace WixToolset.Core.ExtensibilityServices
267 this.CreateWixSearchRelationSymbol(section, sourceLineNumbers, id, after, 2); 267 this.CreateWixSearchRelationSymbol(section, sourceLineNumbers, id, after, 2);
268 } 268 }
269 269
270 if (!String.IsNullOrEmpty(bundleExtensionId)) 270 if (!String.IsNullOrEmpty(bootstrapperExtensionId))
271 { 271 {
272 this.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundleExtension, bundleExtensionId); 272 this.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBootstrapperExtension, bootstrapperExtensionId);
273 } 273 }
274 } 274 }
275 275
diff --git a/src/wix/test/Example.Extension/Data/example.wxs b/src/wix/test/Example.Extension/Data/example.wxs
index dc0a68ec..762b98e3 100644
--- a/src/wix/test/Example.Extension/Data/example.wxs
+++ b/src/wix/test/Example.Extension/Data/example.wxs
@@ -17,6 +17,6 @@
17 </Fragment> 17 </Fragment>
18 18
19 <Fragment> 19 <Fragment>
20 <BundleExtension Id="ExampleBundleExtension" SourceFile="example.txt" /> 20 <BootstrapperExtension Id="ExampleBootstrapperExtension" SourceFile="example.txt" />
21 </Fragment> 21 </Fragment>
22</Wix> 22</Wix>
diff --git a/src/wix/test/Example.Extension/ExampleCompilerExtension.cs b/src/wix/test/Example.Extension/ExampleCompilerExtension.cs
index bdce8754..f34cf963 100644
--- a/src/wix/test/Example.Extension/ExampleCompilerExtension.cs
+++ b/src/wix/test/Example.Extension/ExampleCompilerExtension.cs
@@ -11,7 +11,7 @@ namespace Example.Extension
11 11
12 internal class ExampleCompilerExtension : BaseCompilerExtension 12 internal class ExampleCompilerExtension : BaseCompilerExtension
13 { 13 {
14 private const string BundleExtensionId = "ExampleBundleExtension"; 14 private const string BootstrapperExtensionId = "ExampleBootstrapperExtension";
15 15
16 public override XNamespace Namespace => ExampleConstants.Namespace; 16 public override XNamespace Namespace => ExampleConstants.Namespace;
17 17
@@ -228,7 +228,7 @@ namespace Example.Extension
228 228
229 if (!this.Messaging.EncounteredError) 229 if (!this.Messaging.EncounteredError)
230 { 230 {
231 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, BundleExtensionId); 231 this.ParseHelper.CreateWixSearchSymbol(section, sourceLineNumbers, element.Name.LocalName, id, variable, condition, after, BootstrapperExtensionId);
232 } 232 }
233 233
234 if (!this.Messaging.EncounteredError) 234 if (!this.Messaging.EncounteredError)
diff --git a/src/wix/test/Example.Extension/ExampleSymbolDefinitions.cs b/src/wix/test/Example.Extension/ExampleSymbolDefinitions.cs
index 83b675c9..19704bc4 100644
--- a/src/wix/test/Example.Extension/ExampleSymbolDefinitions.cs
+++ b/src/wix/test/Example.Extension/ExampleSymbolDefinitions.cs
@@ -33,7 +33,7 @@ namespace Example.Extension
33 33
34 static ExampleSymbolDefinitions() 34 static ExampleSymbolDefinitions()
35 { 35 {
36 ExampleSearch.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag); 36 ExampleSearch.AddTag(BurnConstants.BootstrapperExtensionSearchSymbolDefinitionTag);
37 } 37 }
38 38
39 public static bool TryGetSymbolType(string name, out ExampleSymbolDefinitionType type) 39 public static bool TryGetSymbolType(string name, out ExampleSymbolDefinitionType type)
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs
index 935d20b5..3280c608 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs
@@ -131,8 +131,8 @@ namespace WixToolsetTest.CoreIntegration
131 var extractedBaManifestData = File.ReadAllText(Path.Combine(baFolderPath, "BootstrapperApplicationData.xml"), Encoding.UTF8); 131 var extractedBaManifestData = File.ReadAllText(Path.Combine(baFolderPath, "BootstrapperApplicationData.xml"), Encoding.UTF8);
132 WixAssert.StringEqual(extractedBaManifestData, baManifestData); 132 WixAssert.StringEqual(extractedBaManifestData, baManifestData);
133 133
134 var bextManifestData = wixOutput.GetData(BurnConstants.BundleExtensionDataWixOutputStreamName); 134 var bextManifestData = wixOutput.GetData(BurnConstants.BootstrapperExtensionDataWixOutputStreamName);
135 var extractedBextManifestData = File.ReadAllText(Path.Combine(baFolderPath, "BundleExtensionData.xml"), Encoding.UTF8); 135 var extractedBextManifestData = File.ReadAllText(Path.Combine(baFolderPath, "BootstrapperExtensionData.xml"), Encoding.UTF8);
136 WixAssert.StringEqual(extractedBextManifestData, bextManifestData); 136 WixAssert.StringEqual(extractedBextManifestData, bextManifestData);
137 137
138 foreach (XmlAttribute attribute in extractResult.ManifestDocument.DocumentElement.Attributes) 138 foreach (XmlAttribute attribute in extractResult.ManifestDocument.DocumentElement.Attributes)
@@ -631,8 +631,8 @@ namespace WixToolsetTest.CoreIntegration
631 WixAssert.CompareLineByLine(new string[] 631 WixAssert.CompareLineByLine(new string[]
632 { 632 {
633 "Error 8002: The Payload 'DuplicatePayloadNames.wxs' has a duplicate Name 'fakeba.dll' in the BA container. When extracting the container at runtime, the file will get overwritten.", 633 "Error 8002: The Payload 'DuplicatePayloadNames.wxs' has a duplicate Name 'fakeba.dll' in the BA container. When extracting the container at runtime, the file will get overwritten.",
634 "Error 8002: The Payload 'uxmKgAFS4cS31ZH_Myfqo5J4kHixQ' has a duplicate Name 'BootstrapperExtensionData.xml' in the BA container. When extracting the container at runtime, the file will get overwritten.",
634 "Error 8002: The Payload 'uxTxMXPVMXwQrPTMIGa5WGt93w0Ns' has a duplicate Name 'BootstrapperApplicationData.xml' in the BA container. When extracting the container at runtime, the file will get overwritten.", 635 "Error 8002: The Payload 'uxTxMXPVMXwQrPTMIGa5WGt93w0Ns' has a duplicate Name 'BootstrapperApplicationData.xml' in the BA container. When extracting the container at runtime, the file will get overwritten.",
635 "Error 8002: The Payload 'uxYRbgitOs0K878jn5L_z7LdJ21KI' has a duplicate Name 'BundleExtensionData.xml' in the BA container. When extracting the container at runtime, the file will get overwritten.",
636 "Error 8003: The location of the payload related to the previous error.", 636 "Error 8003: The location of the payload related to the previous error.",
637 "Error 8003: The location of the payload related to the previous error.", 637 "Error 8003: The location of the payload related to the previous error.",
638 "Error 8003: The location of the payload related to the previous error.", 638 "Error 8003: The location of the payload related to the previous error.",
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs
index 3c97ceb1..f06d1e53 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs
@@ -192,7 +192,7 @@ namespace WixToolsetTest.CoreIntegration
192 } 192 }
193 193
194 [Fact] 194 [Fact]
195 public void PopulatesBEManifestWithBundleExtensionBundleCustomData() 195 public void PopulatesBEManifestWithBootstrapperExtensionBundleCustomData()
196 { 196 {
197 var folder = TestData.Get(@"TestData"); 197 var folder = TestData.Get(@"TestData");
198 198
@@ -222,7 +222,7 @@ namespace WixToolsetTest.CoreIntegration
222 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); 222 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
223 extractResult.AssertSuccess(); 223 extractResult.AssertSuccess();
224 224
225 var customElements = extractResult.GetBundleExtensionTestXmlLines("/be:BundleExtensionData/be:BundleExtension[@Id='CustomTableExtension']/be:BundleCustomTableBE"); 225 var customElements = extractResult.GetBootstrapperExtensionTestXmlLines("/be:BootstrapperExtensionData/be:BootstrapperExtension[@Id='CustomTableExtension']/be:BundleCustomTableBE");
226 WixAssert.CompareLineByLine(new[] 226 WixAssert.CompareLineByLine(new[]
227 { 227 {
228 "<BundleCustomTableBE Id='one' Column2='two' />", 228 "<BundleCustomTableBE Id='one' Column2='two' />",
@@ -233,7 +233,7 @@ namespace WixToolsetTest.CoreIntegration
233 } 233 }
234 234
235 [Fact] 235 [Fact]
236 public void PopulatesManifestWithBundleExtension() 236 public void PopulatesManifestWithBootstrapperExtension()
237 { 237 {
238 var folder = TestData.Get(@"TestData"); 238 var folder = TestData.Get(@"TestData");
239 239
@@ -248,8 +248,8 @@ namespace WixToolsetTest.CoreIntegration
248 var result = WixRunner.Execute(new[] 248 var result = WixRunner.Execute(new[]
249 { 249 {
250 "build", 250 "build",
251 Path.Combine(folder, "BundleExtension", "BundleExtension.wxs"), 251 Path.Combine(folder, "BootstrapperExtension", "BootstrapperExtension.wxs"),
252 Path.Combine(folder, "BundleExtension", "SimpleBundleExtension.wxs"), 252 Path.Combine(folder, "BootstrapperExtension", "SimpleBootstrapperExtension.wxs"),
253 Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"), 253 Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"),
254 Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), 254 Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"),
255 "-bindpath", Path.Combine(folder, "SimpleBundle", "data"), 255 "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
@@ -264,22 +264,22 @@ namespace WixToolsetTest.CoreIntegration
264 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); 264 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
265 extractResult.AssertSuccess(); 265 extractResult.AssertSuccess();
266 266
267 var bundleExtensions = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:BundleExtension"); 267 var bootstrapperExtensions = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:BootstrapperExtension");
268 WixAssert.CompareLineByLine(new[] 268 WixAssert.CompareLineByLine(new[]
269 { 269 {
270 "<BundleExtension Id='ExampleBext' EntryPayloadSourcePath='u1' />", 270 "<BootstrapperExtension Id='ExampleBext' EntryPayloadSourcePath='u1' />",
271 }, bundleExtensions); 271 }, bootstrapperExtensions);
272 272
273 var bundleExtensionPayloads = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:UX/burn:Payload[@Id='ExampleBext']"); 273 var bootstrapperExtensionPayloads = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:UX/burn:Payload[@Id='ExampleBext']");
274 WixAssert.CompareLineByLine(new[] 274 WixAssert.CompareLineByLine(new[]
275 { 275 {
276 "<Payload Id='ExampleBext' FilePath='fakebext.dll' SourcePath='u1' />", 276 "<Payload Id='ExampleBext' FilePath='fakebext.dll' SourcePath='u1' />",
277 }, bundleExtensionPayloads); 277 }, bootstrapperExtensionPayloads);
278 } 278 }
279 } 279 }
280 280
281 [Fact] 281 [Fact]
282 public void PopulatesManifestWithBundleExtensionSearches() 282 public void PopulatesManifestWithBootstrapperExtensionSearches()
283 { 283 {
284 var folder = TestData.Get(@"TestData"); 284 var folder = TestData.Get(@"TestData");
285 285
@@ -294,8 +294,8 @@ namespace WixToolsetTest.CoreIntegration
294 var result = WixRunner.Execute(new[] 294 var result = WixRunner.Execute(new[]
295 { 295 {
296 "build", 296 "build",
297 Path.Combine(folder, "BundleExtension", "BundleExtensionSearches.wxs"), 297 Path.Combine(folder, "BootstrapperExtension", "BootstrapperExtensionSearches.wxs"),
298 Path.Combine(folder, "BundleExtension", "BundleWithSearches.wxs"), 298 Path.Combine(folder, "BootstrapperExtension", "BundleWithSearches.wxs"),
299 Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"), 299 Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"),
300 Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), 300 Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"),
301 "-ext", ExtensionPaths.ExampleExtensionPath, 301 "-ext", ExtensionPaths.ExampleExtensionPath,
@@ -311,29 +311,29 @@ namespace WixToolsetTest.CoreIntegration
311 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); 311 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
312 extractResult.AssertSuccess(); 312 extractResult.AssertSuccess();
313 313
314 var bundleExtensions = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:BundleExtension"); 314 var bootstrapperExtensions = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:BootstrapperExtension");
315 WixAssert.CompareLineByLine(new[] 315 WixAssert.CompareLineByLine(new[]
316 { 316 {
317 "<BundleExtension Id='ExampleBundleExtension' EntryPayloadSourcePath='u1' />", 317 "<BootstrapperExtension Id='ExampleBootstrapperExtension' EntryPayloadSourcePath='u1' />",
318 }, bundleExtensions); 318 }, bootstrapperExtensions);
319 319
320 var extensionSearches = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:ExtensionSearch"); 320 var extensionSearches = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:ExtensionSearch");
321 WixAssert.CompareLineByLine(new[] 321 WixAssert.CompareLineByLine(new[]
322 { 322 {
323 "<ExtensionSearch Id='ExampleSearchBar' Variable='SearchBar' Condition='WixBundleInstalled' ExtensionId='ExampleBundleExtension' />", 323 "<ExtensionSearch Id='ExampleSearchBar' Variable='SearchBar' Condition='WixBundleInstalled' ExtensionId='ExampleBootstrapperExtension' />",
324 "<ExtensionSearch Id='ExampleSearchFoo' Variable='SearchFoo' ExtensionId='ExampleBundleExtension' />", 324 "<ExtensionSearch Id='ExampleSearchFoo' Variable='SearchFoo' ExtensionId='ExampleBootstrapperExtension' />",
325 }, extensionSearches); 325 }, extensionSearches);
326 326
327 var bundleExtensionDatas = extractResult.GetBundleExtensionTestXmlLines("/be:BundleExtensionData/be:BundleExtension[@Id='ExampleBundleExtension']"); 327 var bootstrapperExtensionDatas = extractResult.GetBootstrapperExtensionTestXmlLines("/be:BootstrapperExtensionData/be:BootstrapperExtension[@Id='ExampleBootstrapperExtension']");
328 WixAssert.CompareLineByLine(new[] 328 WixAssert.CompareLineByLine(new[]
329 { 329 {
330 "<BundleExtension Id='ExampleBundleExtension'>" + 330 "<BootstrapperExtension Id='ExampleBootstrapperExtension'>" +
331 "<ExampleSearch Id='ExampleSearchBar' SearchFor='Bar' />" + 331 "<ExampleSearch Id='ExampleSearchBar' SearchFor='Bar' />" +
332 "<ExampleSearch Id='ExampleSearchFoo' SearchFor='Foo' />" + 332 "<ExampleSearch Id='ExampleSearchFoo' SearchFor='Foo' />" +
333 "</BundleExtension>" 333 "</BootstrapperExtension>"
334 }, bundleExtensionDatas); 334 }, bootstrapperExtensionDatas);
335 335
336 var exampleSearches = extractResult.GetBundleExtensionTestXmlLines("/be:BundleExtensionData/be:BundleExtension[@Id='ExampleBundleExtension']/be:ExampleSearch"); 336 var exampleSearches = extractResult.GetBootstrapperExtensionTestXmlLines("/be:BootstrapperExtensionData/be:BootstrapperExtension[@Id='ExampleBootstrapperExtension']/be:ExampleSearch");
337 WixAssert.CompareLineByLine(new[] 337 WixAssert.CompareLineByLine(new[]
338 { 338 {
339 "<ExampleSearch Id='ExampleSearchBar' SearchFor='Bar' />", 339 "<ExampleSearch Id='ExampleSearchBar' SearchFor='Bar' />",
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadInput/DuplicatePayloadNames.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadInput/DuplicatePayloadNames.wxs
index 57a85669..eead3c36 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadInput/DuplicatePayloadNames.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadInput/DuplicatePayloadNames.wxs
@@ -5,7 +5,7 @@
5 <PayloadGroup Id="override ExtraBoostrapperApplicationPayloads"> 5 <PayloadGroup Id="override ExtraBoostrapperApplicationPayloads">
6 <Payload Id="DuplicatePayloadNames.wxs" SourceFile="$(sys.SOURCEFILEPATH)" Name="fakeba.dll" /> 6 <Payload Id="DuplicatePayloadNames.wxs" SourceFile="$(sys.SOURCEFILEPATH)" Name="fakeba.dll" />
7 <Payload Id="UnscheduledPackage.wxs" SourceFile="$(sys.SOURCEFILEDIR)UnscheduledPackage.wxs" Name="BootstrapperApplicationData.xml" /> 7 <Payload Id="UnscheduledPackage.wxs" SourceFile="$(sys.SOURCEFILEDIR)UnscheduledPackage.wxs" Name="BootstrapperApplicationData.xml" />
8 <Payload Id="UnscheduledRollbackBoundary.wxs" SourceFile="$(sys.SOURCEFILEDIR)UnscheduledRollbackBoundary.wxs" Name="BundleExtensionData.xml" /> 8 <Payload Id="UnscheduledRollbackBoundary.wxs" SourceFile="$(sys.SOURCEFILEDIR)UnscheduledRollbackBoundary.wxs" Name="BootstrapperExtensionData.xml" />
9 </PayloadGroup> 9 </PayloadGroup>
10 </Fragment> 10 </Fragment>
11 11
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleExtension.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BootstrapperExtension.wxs
index eefae822..8a422ad0 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleExtension.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BootstrapperExtension.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Fragment> 3 <Fragment>
4 <BundleExtension Id="ExampleBext" SourceFile="fakeba.dll" Name="fakebext.dll" /> 4 <BootstrapperExtension Id="ExampleBext" SourceFile="fakeba.dll" Name="fakebext.dll" />
5 </Fragment> 5 </Fragment>
6</Wix> 6</Wix>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleExtensionSearches.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BootstrapperExtensionSearches.wxs
index fd8d3698..fd8d3698 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleExtensionSearches.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BootstrapperExtensionSearches.wxs
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleWithSearches.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BundleWithSearches.wxs
index d543c800..d543c800 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/BundleWithSearches.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/BundleWithSearches.wxs
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/SimpleBundleExtension.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/SimpleBootstrapperExtension.wxs
index 7303a05a..3af8c62c 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleExtension/SimpleBundleExtension.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BootstrapperExtension/SimpleBootstrapperExtension.wxs
@@ -5,6 +5,6 @@
5 <PackageGroupRef Id="MinimalPackageGroup" /> 5 <PackageGroupRef Id="MinimalPackageGroup" />
6 </PackageGroup> 6 </PackageGroup>
7 7
8 <BundleExtensionRef Id="ExampleBext" /> 8 <BootstrapperExtensionRef Id="ExampleBext" />
9 </Fragment> 9 </Fragment>
10</Wix> 10</Wix>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleCustomTable/BundleCustomTable.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleCustomTable/BundleCustomTable.wxs
index e52302d4..4e6dfe62 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleCustomTable/BundleCustomTable.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleCustomTable/BundleCustomTable.wxs
@@ -48,6 +48,6 @@
48 </BundleElement> 48 </BundleElement>
49 </BundleCustomDataRef> 49 </BundleCustomDataRef>
50 50
51 <BundleExtension Id="CustomTableExtension" SourceFile="fakeba.dll" Name="fakebext.dll" /> 51 <BootstrapperExtension Id="CustomTableExtension" SourceFile="fakeba.dll" Name="fakebext.dll" />
52 </Fragment> 52 </Fragment>
53</Wix> 53</Wix>