aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/mbanative
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-22 05:46:03 -0700
committerRob Mensching <rob@firegiant.com>2021-04-29 16:41:44 -0700
commitc00516901e6b67e398396b14fe7682d0376f8643 (patch)
treeb0d62089a1c5700c7f2c3e3790750bf2d8ea33c0 /src/api/burn/mbanative
parent8eb98efd2175d9ece2e4639d43081667af9a4990 (diff)
downloadwix-c00516901e6b67e398396b14fe7682d0376f8643.tar.gz
wix-c00516901e6b67e398396b14fe7682d0376f8643.tar.bz2
wix-c00516901e6b67e398396b14fe7682d0376f8643.zip
Move balutil into API/burn
Diffstat (limited to 'src/api/burn/mbanative')
-rw-r--r--src/api/burn/mbanative/mbanative.cpp29
-rw-r--r--src/api/burn/mbanative/mbanative.def12
-rw-r--r--src/api/burn/mbanative/mbanative.vcxproj102
-rw-r--r--src/api/burn/mbanative/packages.config9
-rw-r--r--src/api/burn/mbanative/precomp.cpp3
-rw-r--r--src/api/burn/mbanative/precomp.h16
6 files changed, 171 insertions, 0 deletions
diff --git a/src/api/burn/mbanative/mbanative.cpp b/src/api/burn/mbanative/mbanative.cpp
new file mode 100644
index 00000000..98ea3c30
--- /dev/null
+++ b/src/api/burn/mbanative/mbanative.cpp
@@ -0,0 +1,29 @@
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 "BalBaseBootstrapperApplicationProc.h"
5
6extern "C" HRESULT WINAPI InitializeFromCreateArgs(
7 __in const BOOTSTRAPPER_CREATE_ARGS* pArgs,
8 __inout BOOTSTRAPPER_COMMAND* pCommand,
9 __out IBootstrapperEngine** ppEngine
10 )
11{
12 HRESULT hr = S_OK;
13
14 hr = BalInitializeFromCreateArgs(pArgs, ppEngine);
15 ExitOnFailure(hr, "Failed to initialize Bal.");
16
17 memcpy_s(pCommand, pCommand->cbSize, pArgs->pCommand, min(pArgs->pCommand->cbSize, pCommand->cbSize));
18LExit:
19 return hr;
20}
21
22extern "C" void WINAPI StoreBAInCreateResults(
23 __inout BOOTSTRAPPER_CREATE_RESULTS* pResults,
24 __in IBootstrapperApplication* pBA
25 )
26{
27 pResults->pfnBootstrapperApplicationProc = BalBaseBootstrapperApplicationProc;
28 pResults->pvBootstrapperApplicationProcContext = pBA;
29}
diff --git a/src/api/burn/mbanative/mbanative.def b/src/api/burn/mbanative/mbanative.def
new file mode 100644
index 00000000..28e923b6
--- /dev/null
+++ b/src/api/burn/mbanative/mbanative.def
@@ -0,0 +1,12 @@
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
4EXPORTS
5 InitializeFromCreateArgs
6 StoreBAInCreateResults
7 VerCompareParsedVersions
8 VerCompareStringVersions
9 VerCopyVersion
10 VerFreeVersion
11 VerParseVersion
12 VerVersionFromQword
diff --git a/src/api/burn/mbanative/mbanative.vcxproj b/src/api/burn/mbanative/mbanative.vcxproj
new file mode 100644
index 00000000..f91fe3be
--- /dev/null
+++ b/src/api/burn/mbanative/mbanative.vcxproj
@@ -0,0 +1,102 @@
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. -->
3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.141\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.141\build\WixToolset.BootstrapperCore.Native.props')" />
6 <Import Project="..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" />
7 <Import Project="..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props')" />
8 <Import Project="..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props" Condition="Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props')" />
9 <Import Project="..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props')" />
10
11 <ItemGroup Label="ProjectConfigurations">
12 <ProjectConfiguration Include="Debug|ARM64">
13 <Configuration>Debug</Configuration>
14 <Platform>ARM64</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|ARM64">
17 <Configuration>Release</Configuration>
18 <Platform>ARM64</Platform>
19 </ProjectConfiguration>
20 <ProjectConfiguration Include="Debug|Win32">
21 <Configuration>Debug</Configuration>
22 <Platform>Win32</Platform>
23 </ProjectConfiguration>
24 <ProjectConfiguration Include="Release|Win32">
25 <Configuration>Release</Configuration>
26 <Platform>Win32</Platform>
27 </ProjectConfiguration>
28 <ProjectConfiguration Include="Debug|x64">
29 <Configuration>Debug</Configuration>
30 <Platform>x64</Platform>
31 </ProjectConfiguration>
32 <ProjectConfiguration Include="Release|x64">
33 <Configuration>Release</Configuration>
34 <Platform>x64</Platform>
35 </ProjectConfiguration>
36 </ItemGroup>
37
38 <PropertyGroup Label="Globals">
39 <ProjectGuid>{665E0441-17F9-4105-B202-EDF274657F6E}</ProjectGuid>
40 <ConfigurationType>DynamicLibrary</ConfigurationType>
41 <PlatformToolset>v142</PlatformToolset>
42 <CharacterSet>Unicode</CharacterSet>
43 <TargetName>mbanative</TargetName>
44 <ProjectModuleDefinitionFile>mbanative.def</ProjectModuleDefinitionFile>
45 <EnableSourceLink Condition=" '$(PlatformToolset)'=='v140' ">false</EnableSourceLink>
46 </PropertyGroup>
47
48 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
49 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
50 <Import Project="..\NativeMultiTargeting.Build.props" />
51
52 <ImportGroup Label="Shared">
53 <Import Project="..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets" Condition="Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets')" />
54 <Import Project="..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets" Condition="Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets')" />
55 <Import Project="..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets" Condition="Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets')" />
56 <Import Project="..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" />
57 </ImportGroup>
58
59 <PropertyGroup>
60 <ProjectAdditionalIncludeDirectories>..\balutil\inc</ProjectAdditionalIncludeDirectories>
61 <ProjectAdditionalLinkLibraries>balutil.lib</ProjectAdditionalLinkLibraries>
62 </PropertyGroup>
63
64 <ItemGroup>
65 <ClCompile Include="mbanative.cpp" />
66 <ClCompile Include="precomp.cpp">
67 <PrecompiledHeader>Create</PrecompiledHeader>
68 </ClCompile>
69 </ItemGroup>
70 <ItemGroup>
71 <ClInclude Include="precomp.h" />
72 </ItemGroup>
73 <ItemGroup>
74 <None Include="mbanative.def" />
75 </ItemGroup>
76
77 <ItemGroup>
78 <None Include="packages.config" />
79 </ItemGroup>
80
81 <ItemGroup>
82 <ProjectReference Include="..\balutil\balutil.vcxproj">
83 <Project>{EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}</Project>
84 </ProjectReference>
85 </ItemGroup>
86
87 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
88 <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
89 <PropertyGroup>
90 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
91 </PropertyGroup>
92 <Error Condition="!Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props'))" />
93 <Error Condition="!Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets'))" />
94 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props'))" />
95 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets'))" />
96 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props'))" />
97 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets'))" />
98 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" />
99 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props'))" />
100 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.141\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.141\build\WixToolset.BootstrapperCore.Native.props'))" />
101 </Target>
102</Project> \ No newline at end of file
diff --git a/src/api/burn/mbanative/packages.config b/src/api/burn/mbanative/packages.config
new file mode 100644
index 00000000..745fcae9
--- /dev/null
+++ b/src/api/burn/mbanative/packages.config
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="utf-8"?>
2<packages>
3 <package id="Microsoft.Build.Tasks.Git" version="1.0.0" targetFramework="native" developmentDependency="true" />
4 <package id="Microsoft.SourceLink.Common" version="1.0.0" targetFramework="native" developmentDependency="true" />
5 <package id="Microsoft.SourceLink.GitHub" version="1.0.0" targetFramework="native" developmentDependency="true" />
6 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" />
7 <package id="WixToolset.BootstrapperCore.Native" version="4.0.141" targetFramework="native" />
8 <package id="WixToolset.DUtil" version="4.0.72" targetFramework="native" />
9</packages> \ No newline at end of file
diff --git a/src/api/burn/mbanative/precomp.cpp b/src/api/burn/mbanative/precomp.cpp
new file mode 100644
index 00000000..37664a1c
--- /dev/null
+++ b/src/api/burn/mbanative/precomp.cpp
@@ -0,0 +1,3 @@
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"
diff --git a/src/api/burn/mbanative/precomp.h b/src/api/burn/mbanative/precomp.h
new file mode 100644
index 00000000..2e2f3ff8
--- /dev/null
+++ b/src/api/burn/mbanative/precomp.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#include <windows.h>
6#include <msiquery.h>
7
8#include <dutil.h>
9#include <verutil.h>
10
11#include <BootstrapperEngine.h>
12#include <BootstrapperApplication.h>
13
14#include <IBootstrapperEngine.h>
15#include <IBootstrapperApplication.h>
16#include <balutil.h>