aboutsummaryrefslogtreecommitdiff
path: root/src/ext
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 /src/ext
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.
Diffstat (limited to 'src/ext')
-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
41 files changed, 243 insertions, 243 deletions
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