aboutsummaryrefslogtreecommitdiff
path: root/src/test/burn/TestData/PrereqBaTests
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2024-01-11 18:26:20 -0800
committerRob Mensching <rob@firegiant.com>2024-03-06 18:03:38 -0800
commit0d3d54992104288e9ee0c834d0b96e8502fd2d42 (patch)
tree9efa49c4983cd2ba1becab64bd1f2faccac88acf /src/test/burn/TestData/PrereqBaTests
parent2824298d9dd817a47527c920363556b54ead5d5d (diff)
downloadwix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.gz
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.bz2
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.zip
Move the BootstrapperApplication out of proc
Diffstat (limited to 'src/test/burn/TestData/PrereqBaTests')
-rw-r--r--src/test/burn/TestData/PrereqBaTests/BundleA/BundleA.wxs7
-rw-r--r--src/test/burn/TestData/PrereqBaTests/BundleB/BundleB.wxs13
-rw-r--r--src/test/burn/TestData/PrereqBaTests/BundleB/bad.config9
-rw-r--r--src/test/burn/TestData/PrereqBaTests/BundleC/BundleC.wxs8
-rw-r--r--src/test/burn/TestData/PrereqBaTests/BundleD/BundleD.wxs12
-rw-r--r--src/test/burn/TestData/PrereqBaTests/BundleE/BundleE.wxs5
-rw-r--r--src/test/burn/TestData/PrereqBaTests/PrereqBaf/PrereqBaf.cpp37
7 files changed, 50 insertions, 41 deletions
diff --git a/src/test/burn/TestData/PrereqBaTests/BundleA/BundleA.wxs b/src/test/burn/TestData/PrereqBaTests/BundleA/BundleA.wxs
index 6073e09f..f56a7f8a 100644
--- a/src/test/burn/TestData/PrereqBaTests/BundleA/BundleA.wxs
+++ b/src/test/burn/TestData/PrereqBaTests/BundleA/BundleA.wxs
@@ -3,15 +3,16 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
5 <Fragment> 5 <Fragment>
6 <BootstrapperApplication Id="BrokenDnc"> 6 <BootstrapperApplication Id="BrokenDnc" SourceFile="!(bindpath.dncx86)\TestBA.exe" Secondary="yes">
7 <Payload SourceFile="!(bindpath.dncx86)\TestBA.deps.json" /> 7 <Payload SourceFile="!(bindpath.dncx86)\TestBA.deps.json" />
8 <Payload SourceFile="!(bindpath.dncx86)\TestBA.dll" bal:BAFactoryAssembly="yes" /> 8 <Payload SourceFile="!(bindpath.dncx86)\TestBA.dll" />
9 <Payload Name="good.runtimeconfig.json" SourceFile="!(bindpath.dncx86)\TestBA.runtimeconfig.json" /> 9 <Payload Name="good.runtimeconfig.json" SourceFile="!(bindpath.dncx86)\TestBA.runtimeconfig.json" />
10 <Payload Name="TestBA.runtimeconfig.json" SourceFile="bad.runtimeconfig.json" /> 10 <Payload Name="TestBA.runtimeconfig.json" SourceFile="bad.runtimeconfig.json" />
11 <Payload SourceFile="!(bindpath.dncx86)\mbanative.dll" /> 11 <Payload SourceFile="!(bindpath.dncx86)\mbanative.dll" />
12 <Payload SourceFile="!(bindpath.dncx86)\WixToolset.Mba.Core.dll" /> 12 <Payload SourceFile="!(bindpath.dncx86)\WixToolset.Mba.Core.dll" />
13 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" /> 13 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" />
14 <bal:WixDotNetCoreBootstrapperApplicationHost /> 14
15 <bal:WixPrerequisiteBootstrapperApplication />
15 </BootstrapperApplication> 16 </BootstrapperApplication>
16 </Fragment> 17 </Fragment>
17 18
diff --git a/src/test/burn/TestData/PrereqBaTests/BundleB/BundleB.wxs b/src/test/burn/TestData/PrereqBaTests/BundleB/BundleB.wxs
index b7742582..87b8be36 100644
--- a/src/test/burn/TestData/PrereqBaTests/BundleB/BundleB.wxs
+++ b/src/test/burn/TestData/PrereqBaTests/BundleB/BundleB.wxs
@@ -3,14 +3,15 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
5 <Fragment> 5 <Fragment>
6 <BootstrapperApplication Id="BrokenMba"> 6 <BootstrapperApplication Id="BrokenMba" SourceFile="!(bindpath.net2x86)\TestBA.exe"
7 <Payload Name="good.config" SourceFile="!(bindpath.net2x86)\TestBA.BootstrapperCore.config" /> 7 Secondary="yes">
8 <Payload Name="WixToolset.Mba.Host.config" SourceFile="bad.config" /> 8 <Payload Name="good.config" SourceFile="!(bindpath.net2x86)\TestBA.exe.config" />
9 <Payload SourceFile="!(bindpath.net2x86)\TestBA.dll" /> 9 <Payload Name="TestBA.exe.config" SourceFile="bad.config" />
10 <Payload SourceFile="!(bindpath.net2x86)\mbanative.dll" /> 10 <Payload SourceFile="!(bindpath.net2x86)\mbanative.dll" />
11 <Payload SourceFile="!(bindpath.net2x86)\WixToolset.Mba.Core.dll" /> 11 <Payload SourceFile="!(bindpath.net2x86)\WixToolset.Mba.Core.dll" />
12 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" /> 12 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" />
13 <bal:WixManagedBootstrapperApplicationHost /> 13
14 <bal:WixPrerequisiteBootstrapperApplication />
14 </BootstrapperApplication> 15 </BootstrapperApplication>
15 </Fragment> 16 </Fragment>
16 17
@@ -21,7 +22,7 @@
21 <PackageGroup Id="BundlePackages"> 22 <PackageGroup Id="BundlePackages">
22 <ExePackage SourceFile="$(var.ReplaceConfig.TargetPath)" bal:PrereqPackage="yes" 23 <ExePackage SourceFile="$(var.ReplaceConfig.TargetPath)" bal:PrereqPackage="yes"
23 Permanent="yes" DetectCondition="NOT GoodConfigPresent OR CAUSEINFINITELOOP = 1" 24 Permanent="yes" DetectCondition="NOT GoodConfigPresent OR CAUSEINFINITELOOP = 1"
24 InstallArguments="&quot;[BARuntimeDirectory]WixToolset.Mba.Host.config&quot; &quot;[BARuntimeDirectory]good.config&quot; &quot;[BARuntimeDirectory]bad.config&quot;" /> 25 InstallArguments="&quot;[BARuntimeDirectory]TestBA.exe.config&quot; &quot;[BARuntimeDirectory]good.config&quot; &quot;[BARuntimeDirectory]bad.config&quot;" />
25 <MsiPackage Id="PackageB" SourceFile="$(var.PackageB.TargetPath)" bal:PrereqPackage="yes" Permanent="yes" /> 26 <MsiPackage Id="PackageB" SourceFile="$(var.PackageB.TargetPath)" bal:PrereqPackage="yes" Permanent="yes" />
26 <MsiPackage Id="PackageC" SourceFile="$(var.PackageC.TargetPath)" /> 27 <MsiPackage Id="PackageC" SourceFile="$(var.PackageC.TargetPath)" />
27 </PackageGroup> 28 </PackageGroup>
diff --git a/src/test/burn/TestData/PrereqBaTests/BundleB/bad.config b/src/test/burn/TestData/PrereqBaTests/BundleB/bad.config
index 1512e59a..ff3530f6 100644
--- a/src/test/burn/TestData/PrereqBaTests/BundleB/bad.config
+++ b/src/test/burn/TestData/PrereqBaTests/BundleB/bad.config
@@ -1,17 +1,8 @@
1<?xml version="1.0" encoding="utf-8" ?> 1<?xml version="1.0" encoding="utf-8" ?>
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
5<configuration> 4<configuration>
6 <configSections>
7 <sectionGroup name="wix.bootstrapper" type="WixToolset.Mba.Host.BootstrapperSectionGroup, WixToolset.Mba.Host">
8 <section name="host" type="WixToolset.Mba.Host.HostSection, WixToolset.Mba.Host" />
9 </sectionGroup>
10 </configSections>
11 <startup> 5 <startup>
12 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v5.8" /> 6 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v5.8" />
13 </startup> 7 </startup>
14 <wix.bootstrapper>
15 <host assemblyName="TestBA" />
16 </wix.bootstrapper>
17</configuration> 8</configuration>
diff --git a/src/test/burn/TestData/PrereqBaTests/BundleC/BundleC.wxs b/src/test/burn/TestData/PrereqBaTests/BundleC/BundleC.wxs
index fe9425f7..9bf7932b 100644
--- a/src/test/burn/TestData/PrereqBaTests/BundleC/BundleC.wxs
+++ b/src/test/burn/TestData/PrereqBaTests/BundleC/BundleC.wxs
@@ -1,17 +1,17 @@
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
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> 3<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
5 <Fragment> 4 <Fragment>
6 <BootstrapperApplication Id="BrokenDncAlwaysPrereq"> 5 <BootstrapperApplication Id="BrokenDncAlwaysPrereq" SourceFile="!(bindpath.dncx86)\TestBA.exe" Secondary="true">
7 <Payload SourceFile="!(bindpath.dncx86)\TestBA.deps.json" /> 6 <Payload SourceFile="!(bindpath.dncx86)\TestBA.deps.json" />
8 <Payload SourceFile="!(bindpath.dncx86)\TestBA.dll" bal:BAFactoryAssembly="yes" /> 7 <Payload SourceFile="!(bindpath.dncx86)\TestBA.dll" />
9 <Payload Name="good.runtimeconfig.json" SourceFile="!(bindpath.dncx86)\TestBA.runtimeconfig.json" /> 8 <Payload Name="good.runtimeconfig.json" SourceFile="!(bindpath.dncx86)\TestBA.runtimeconfig.json" />
10 <Payload Name="TestBA.runtimeconfig.json" SourceFile="bad.runtimeconfig.json" /> 9 <Payload Name="TestBA.runtimeconfig.json" SourceFile="bad.runtimeconfig.json" />
11 <Payload SourceFile="!(bindpath.dncx86)\mbanative.dll" /> 10 <Payload SourceFile="!(bindpath.dncx86)\mbanative.dll" />
12 <Payload SourceFile="!(bindpath.dncx86)\WixToolset.Mba.Core.dll" /> 11 <Payload SourceFile="!(bindpath.dncx86)\WixToolset.Mba.Core.dll" />
13 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" /> 12 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" />
14 <bal:WixDotNetCoreBootstrapperApplicationHost AlwaysInstallPrereqs="yes" /> 13
14 <bal:WixPrerequisiteBootstrapperApplication />
15 </BootstrapperApplication> 15 </BootstrapperApplication>
16 </Fragment> 16 </Fragment>
17 17
diff --git a/src/test/burn/TestData/PrereqBaTests/BundleD/BundleD.wxs b/src/test/burn/TestData/PrereqBaTests/BundleD/BundleD.wxs
index 0e866295..68baba22 100644
--- a/src/test/burn/TestData/PrereqBaTests/BundleD/BundleD.wxs
+++ b/src/test/burn/TestData/PrereqBaTests/BundleD/BundleD.wxs
@@ -3,14 +3,14 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
5 <Fragment> 5 <Fragment>
6 <BootstrapperApplication Id="BrokenMbaAlwaysPrereq"> 6 <BootstrapperApplication Id="BrokenMbaAlwaysPrereq" SourceFile="!(bindpath.net2x86)\TestBA.exe" Secondary="true">
7 <Payload Name="good.config" SourceFile="!(bindpath.net2x86)\TestBA.BootstrapperCore.config" /> 7 <Payload Name="good.config" SourceFile="!(bindpath.net2x86)\TestBA.exe.config" />
8 <Payload Name="WixToolset.Mba.Host.config" SourceFile="bad.config" /> 8 <Payload Name="TestBA.exe.config" SourceFile="bad.config" />
9 <Payload SourceFile="!(bindpath.net2x86)\TestBA.dll" />
10 <Payload SourceFile="!(bindpath.net2x86)\mbanative.dll" /> 9 <Payload SourceFile="!(bindpath.net2x86)\mbanative.dll" />
11 <Payload SourceFile="!(bindpath.net2x86)\WixToolset.Mba.Core.dll" /> 10 <Payload SourceFile="!(bindpath.net2x86)\WixToolset.Mba.Core.dll" />
12 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" /> 11 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" />
13 <bal:WixManagedBootstrapperApplicationHost AlwaysInstallPrereqs="yes" /> 12
13 <bal:WixPrerequisiteBootstrapperApplication />
14 </BootstrapperApplication> 14 </BootstrapperApplication>
15 </Fragment> 15 </Fragment>
16 16
@@ -21,7 +21,7 @@
21 <PackageGroup Id="BundlePackages"> 21 <PackageGroup Id="BundlePackages">
22 <ExePackage SourceFile="$(var.ReplaceConfig.TargetPath)" bal:PrereqPackage="yes" 22 <ExePackage SourceFile="$(var.ReplaceConfig.TargetPath)" bal:PrereqPackage="yes"
23 Permanent="yes" DetectCondition="NOT GoodConfigPresent OR CAUSEINFINITELOOP = 1" 23 Permanent="yes" DetectCondition="NOT GoodConfigPresent OR CAUSEINFINITELOOP = 1"
24 InstallArguments="&quot;[BARuntimeDirectory]WixToolset.Mba.Host.config&quot; &quot;[BARuntimeDirectory]good.config&quot; &quot;[BARuntimeDirectory]bad.config&quot;" /> 24 InstallArguments="&quot;[BARuntimeDirectory]TestBA.exe.config&quot; &quot;[BARuntimeDirectory]good.config&quot; &quot;[BARuntimeDirectory]bad.config&quot;" />
25 <MsiPackage Id="PackageB" SourceFile="$(var.PackageB.TargetPath)" bal:PrereqPackage="yes" Permanent="yes" /> 25 <MsiPackage Id="PackageB" SourceFile="$(var.PackageB.TargetPath)" bal:PrereqPackage="yes" Permanent="yes" />
26 <MsiPackage Id="PackageC" SourceFile="$(var.PackageC.TargetPath)" /> 26 <MsiPackage Id="PackageC" SourceFile="$(var.PackageC.TargetPath)" />
27 </PackageGroup> 27 </PackageGroup>
diff --git a/src/test/burn/TestData/PrereqBaTests/BundleE/BundleE.wxs b/src/test/burn/TestData/PrereqBaTests/BundleE/BundleE.wxs
index 5f2e6a75..4855c66e 100644
--- a/src/test/burn/TestData/PrereqBaTests/BundleE/BundleE.wxs
+++ b/src/test/burn/TestData/PrereqBaTests/BundleE/BundleE.wxs
@@ -3,14 +3,13 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
5 <Fragment> 5 <Fragment>
6 <BootstrapperApplication Id="DncAlwaysPrereq"> 6 <BootstrapperApplication Id="DncAlwaysPrereq" SourceFile="!(bindpath.dncx86)\TestBA.exe">
7 <Payload SourceFile="!(bindpath.dncx86)\TestBA.deps.json" /> 7 <Payload SourceFile="!(bindpath.dncx86)\TestBA.deps.json" />
8 <Payload SourceFile="!(bindpath.dncx86)\TestBA.dll" bal:BAFactoryAssembly="yes" /> 8 <Payload SourceFile="!(bindpath.dncx86)\TestBA.dll" />
9 <Payload SourceFile="!(bindpath.dncx86)\TestBA.runtimeconfig.json" /> 9 <Payload SourceFile="!(bindpath.dncx86)\TestBA.runtimeconfig.json" />
10 <Payload SourceFile="!(bindpath.dncx86)\mbanative.dll" /> 10 <Payload SourceFile="!(bindpath.dncx86)\mbanative.dll" />
11 <Payload SourceFile="!(bindpath.dncx86)\WixToolset.Mba.Core.dll" /> 11 <Payload SourceFile="!(bindpath.dncx86)\WixToolset.Mba.Core.dll" />
12 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" /> 12 <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" />
13 <bal:WixDotNetCoreBootstrapperApplicationHost AlwaysInstallPrereqs="yes" />
14 </BootstrapperApplication> 13 </BootstrapperApplication>
15 </Fragment> 14 </Fragment>
16 15
diff --git a/src/test/burn/TestData/PrereqBaTests/PrereqBaf/PrereqBaf.cpp b/src/test/burn/TestData/PrereqBaTests/PrereqBaf/PrereqBaf.cpp
index 35949eb9..c93f9d3f 100644
--- a/src/test/burn/TestData/PrereqBaTests/PrereqBaf/PrereqBaf.cpp
+++ b/src/test/burn/TestData/PrereqBaTests/PrereqBaf/PrereqBaf.cpp
@@ -9,6 +9,22 @@ class CPrereqBaf : public CBalBaseBAFunctions
9public: // IBAFunctions 9public: // IBAFunctions
10 10
11public: //IBootstrapperApplication 11public: //IBootstrapperApplication
12 STDMETHODIMP OnCreate(
13 __in IBootstrapperEngine* pEngine,
14 __in BOOTSTRAPPER_COMMAND* pCommand
15 )
16 {
17 HRESULT hr = S_OK;
18
19 hr = __super::OnCreate(pEngine, pCommand);
20 ExitOnFailure(hr, "CBalBaseBootstrapperApplication initialization failed.");
21
22 hr = StrAllocString(&m_sczBARuntimeDirectory, pCommand->wzBootstrapperWorkingFolder, 0);
23 ExitOnFailure(hr, "Failed to copy working folder");
24
25 LExit:
26 return hr;
27 }
12 28
13 virtual STDMETHODIMP OnDetectBegin( 29 virtual STDMETHODIMP OnDetectBegin(
14 __in BOOL /*fCached*/, 30 __in BOOL /*fCached*/,
@@ -19,7 +35,7 @@ public: //IBootstrapperApplication
19 { 35 {
20 HRESULT hr = S_OK; 36 HRESULT hr = S_OK;
21 37
22 hr = m_pEngine->SetVariableString(L"BARuntimeDirectory", m_command.wzBootstrapperWorkingFolder, FALSE); 38 hr = m_pEngine->SetVariableString(L"BARuntimeDirectory", m_sczBARuntimeDirectory, FALSE);
23 ExitOnFailure(hr, "Failed to set BARuntimeDirectory"); 39 ExitOnFailure(hr, "Failed to set BARuntimeDirectory");
24 40
25 LExit: 41 LExit:
@@ -33,11 +49,10 @@ public:
33 // Constructor - initialize member variables. 49 // Constructor - initialize member variables.
34 // 50 //
35 CPrereqBaf( 51 CPrereqBaf(
36 __in HMODULE hModule, 52 __in HMODULE hModule
37 __in IBootstrapperEngine* pEngine, 53 ) : CBalBaseBAFunctions(hModule)
38 __in const BA_FUNCTIONS_CREATE_ARGS* pArgs
39 ) : CBalBaseBAFunctions(hModule, pEngine, pArgs)
40 { 54 {
55 m_sczBARuntimeDirectory = NULL;
41 } 56 }
42 57
43 // 58 //
@@ -45,9 +60,11 @@ public:
45 // 60 //
46 ~CPrereqBaf() 61 ~CPrereqBaf()
47 { 62 {
63 ReleaseNullStr(m_sczBARuntimeDirectory);
48 } 64 }
49 65
50private: 66private:
67 LPWSTR m_sczBARuntimeDirectory;
51}; 68};
52 69
53 70
@@ -59,21 +76,21 @@ HRESULT WINAPI CreateBAFunctions(
59{ 76{
60 HRESULT hr = S_OK; 77 HRESULT hr = S_OK;
61 CPrereqBaf* pBAFunctions = NULL; 78 CPrereqBaf* pBAFunctions = NULL;
62 IBootstrapperEngine* pEngine = NULL;
63 79
64 hr = BalInitializeFromCreateArgs(pArgs->pBootstrapperCreateArgs, &pEngine); 80 BalInitialize(pArgs->pEngine);
65 ExitOnFailure(hr, "Failed to initialize Bal.");
66 81
67 pBAFunctions = new CPrereqBaf(hModule, pEngine, pArgs); 82 pBAFunctions = new CPrereqBaf(hModule);
68 ExitOnNull(pBAFunctions, hr, E_OUTOFMEMORY, "Failed to create new CPrereqBaf object."); 83 ExitOnNull(pBAFunctions, hr, E_OUTOFMEMORY, "Failed to create new CPrereqBaf object.");
69 84
85 hr = pBAFunctions->OnCreate(pArgs->pEngine, pArgs->pCommand);
86 ExitOnFailure(hr, "Failed to call OnCreate CPrereqBaf.");
87
70 pResults->pfnBAFunctionsProc = BalBaseBAFunctionsProc; 88 pResults->pfnBAFunctionsProc = BalBaseBAFunctionsProc;
71 pResults->pvBAFunctionsProcContext = pBAFunctions; 89 pResults->pvBAFunctionsProcContext = pBAFunctions;
72 pBAFunctions = NULL; 90 pBAFunctions = NULL;
73 91
74LExit: 92LExit:
75 ReleaseObject(pBAFunctions); 93 ReleaseObject(pBAFunctions);
76 ReleaseObject(pEngine);
77 94
78 return hr; 95 return hr;
79} 96}