Add initial WixUtilBundleExtension.
Sean Hall committed
Mar 28, 2020 at 17:03 UTC
d74e3dd4bcc573d0c4b1fb5c36c8bf0115cc21a1
10 files changed
+143
-3
Util.wixext.sln
+11
@@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
3
# Visual Studio 15
4
VisualStudioVersion = 15.0.27130.2003
5
MinimumVisualStudioVersion = 15.0.26124.0
6
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utilbe", "src\be\utilbe.vcxproj", "{630C1EE7-2517-4A8C-83E3-DA1150308B58}"
7
+EndProject
8
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utilca", "src\ca\utilca.vcxproj", "{076018F7-19BD-423A-ABBF-229273DA08D8}"
9
EndProject
10
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "util", "src\wixlib\util.wixproj", "{1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}"
@@ -21,6 +23,15 @@ Global
23
Release|x86 = Release|x86
24
EndGlobalSection
25
GlobalSection(ProjectConfigurationPlatforms) = postSolution
26
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|Any CPU.ActiveCfg = Debug|Win32
27
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|Any CPU.Build.0 = Debug|Win32
28
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|x64.ActiveCfg = Debug|Win32
29
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|x86.ActiveCfg = Debug|Win32
30
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|x86.Build.0 = Debug|Win32
31
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|Any CPU.ActiveCfg = Release|Win32
32
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|x64.ActiveCfg = Release|Win32
33
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|x86.ActiveCfg = Release|Win32
34
+ {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|x86.Build.0 = Release|Win32
35
{076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|Any CPU.ActiveCfg = Debug|Win32
36
{076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|Any CPU.Build.0 = Debug|Win32
37
{076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|x64.ActiveCfg = Debug|Win32
src/be/packages.config
new
+5
@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<packages>
3
+ <package id="WixToolset.BootstrapperCore.Native" version="4.0.13" targetFramework="native" />
4
+ <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" />
5
+</packages>
\ No newline at end of file
src/be/precomp.cpp
new
+3
@@ -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"
src/be/precomp.h
new
+25
@@ -0,0 +1,25 @@
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 _WIN32_MSI < 150
6
+#define _WIN32_MSI 150
7
+#endif
8
+
9
+#include <windows.h>
10
+#include <msiquery.h>
11
+#include <msidefs.h>
12
+#include <stierr.h>
13
+
14
+#include <strsafe.h>
15
+
16
+#include <msxml2.h>
17
+
18
+#define MAXUINT USHRT_MAX
19
+
20
+#include "dutil.h"
21
+#include "memutil.h"
22
+
23
+#include "BootstrapperEngine.h"
24
+#include "BundleExtensionEngine.h"
25
+#include "BundleExtension.h"
src/be/utilbe.cpp
new
+19
@@ -0,0 +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.
2
+
3
+#include "precomp.h"
4
+
5
+// function definitions
6
+
7
+extern "C" HRESULT WINAPI BundleExtensionCreate(
8
+ __in const BUNDLE_EXTENSION_CREATE_ARGS* /*pArgs*/,
9
+ __inout BUNDLE_EXTENSION_CREATE_RESULTS* /*pResults*/
10
+ )
11
+{
12
+ HRESULT hr = S_OK;
13
+
14
+ return hr;
15
+}
16
+
17
+extern "C" void WINAPI BundleExtensionDestroy()
18
+{
19
+}
\ No newline at end of file
src/be/utilbe.def
new
+8
@@ -0,0 +1,8 @@
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
+
4
+LIBRARY "utilbe"
5
+
6
+EXPORTS
7
+ BundleExtensionCreate
8
+ BundleExtensionDestroy
src/be/utilbe.vcxproj
new
+61
@@ -0,0 +1,61 @@
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.13\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.13\build\WixToolset.BootstrapperCore.Native.props')" />
6
+ <Import Project="..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" />
7
+
8
+ <ItemGroup Label="ProjectConfigurations">
9
+ <ProjectConfiguration Include="Debug|Win32">
10
+ <Configuration>Debug</Configuration>
11
+ <Platform>Win32</Platform>
12
+ </ProjectConfiguration>
13
+ <ProjectConfiguration Include="Release|Win32">
14
+ <Configuration>Release</Configuration>
15
+ <Platform>Win32</Platform>
16
+ </ProjectConfiguration>
17
+ </ItemGroup>
18
+
19
+ <PropertyGroup Label="Globals">
20
+ <ProjectGuid>{630C1EE7-2517-4A8C-83E3-DA1150308B58}</ProjectGuid>
21
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
22
+ <TargetName>utilbe</TargetName>
23
+ <PlatformToolset>v141</PlatformToolset>
24
+ <CharacterSet>Unicode</CharacterSet>
25
+ <ProjectModuleDefinitionFile>utilbe.def</ProjectModuleDefinitionFile>
26
+ <Description>WiX Toolset Util BundleExtension</Description>
27
+ </PropertyGroup>
28
+
29
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
30
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
31
+
32
+ <PropertyGroup>
33
+ <ProjectAdditionalLinkLibraries>msi.lib</ProjectAdditionalLinkLibraries>
34
+ </PropertyGroup>
35
+
36
+ <ItemGroup>
37
+ <ClCompile Include="precomp.cpp">
38
+ <PrecompiledHeader>Create</PrecompiledHeader>
39
+ </ClCompile>
40
+ <ClCompile Include="utilbe.cpp" />
41
+ </ItemGroup>
42
+
43
+ <ItemGroup>
44
+ <ClInclude Include="precomp.h" />
45
+ </ItemGroup>
46
+
47
+ <ItemGroup>
48
+ <None Include="packages.config" />
49
+ <None Include="utilbe.def" />
50
+ </ItemGroup>
51
+
52
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
53
+
54
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
55
+ <PropertyGroup>
56
+ <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>
57
+ </PropertyGroup>
58
+ <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.13\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.13\build\WixToolset.BootstrapperCore.Native.props'))" />
59
+ <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" />
60
+ </Target>
61
+</Project>
src/wixlib/UtilExtension.wxs
+4
@@ -418,4 +418,8 @@
418
<PropertyRef Id="WixSilentExec64CmdLine" />
419
<CustomAction Id="$(var.Prefix)SilentExec64$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSilentExec64" Execute="immediate" Return="check" Impersonate="yes" />
420
</Fragment>
421
+
422
+ <Fragment>
423
+ <BundleExtension Id="WixUtilBundleExtension" SourceFile="utilbe.dll" Name="WixUtilBundleExtension\utilbe.dll" />
424
+ </Fragment>
425
</Wix>
src/wixlib/packages.config
+1
-1
@@ -1,5 +1,5 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<packages>
3
<package id="Nerdbank.GitVersioning" version="2.1.65" developmentDependency="true" targetFramework="net40" />
4
- <package id="WixToolset.MSBuild" version="4.0.0-build-0063" developmentDependency="true" targetFramework="net40" />
4
+ <package id="WixToolset.MSBuild" version="4.0.0-build-0080" developmentDependency="true" targetFramework="net40" />
5
</packages>
\ No newline at end of file
src/wixlib/util.wixproj
+6
-2
@@ -1,7 +1,7 @@
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
<Project DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0">
4
- <Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0063\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0063\build\WixToolset.MSBuild.props')" />
4
+ <Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0080\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0080\build\WixToolset.MSBuild.props')" />
5
<Import Project="..\FindLocalWix.props" />
6
<PropertyGroup>
7
<ProjectGuid>{1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}</ProjectGuid>
@@ -26,6 +26,10 @@
26
<None Include="packages.config" />
27
</ItemGroup>
28
<ItemGroup>
29
+ <ProjectReference Include="..\be\utilbe.vcxproj">
30
+ <Name>utilbe</Name>
31
+ <Project>{630C1EE7-2517-4A8C-83E3-DA1150308B58}</Project>
32
+ </ProjectReference>
33
<ProjectReference Include="..\ca\utilca.vcxproj">
34
<Name>utilca</Name>
35
<Project>{076018F7-19BD-423A-ABBF-229273DA08D8}</Project>
@@ -46,7 +50,7 @@
50
<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>
51
</PropertyGroup>
52
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
49
- <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0063\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0063\build\WixToolset.MSBuild.props'))" />
53
+ <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0080\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0080\build\WixToolset.MSBuild.props'))" />
54
</Target>
55
<Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" />
56
</Project>