Integrate into latest v4
Sean Hall committed
Dec 29, 2018 at 22:18 UTC
3480ec56611d6c8784b7610dcac818133318f675
20 files changed
+639
-13
.editorconfig
new
+37
@@ -0,0 +1,37 @@
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
+# Do NOT modify this file. Update the canonical version in Home\repo-template\src\.editorconfig
4
+# then update all of the repos.
5
+
6
+root = true
7
+
8
+[*]
9
+charset = utf-8
10
+indent_style = space
11
+indent_size = 4
12
+trim_trailing_whitespace = true
13
+
14
+[*.{cs,vb}]
15
+dotnet_sort_system_directives_first = true
16
+
17
+[*.cs]
18
+csharp_indent_case_contents = true : error
19
+csharp_indent_switch_labels = true : error
20
+csharp_new_line_before_open_brace = all
21
+csharp_prefer_braces = true : error
22
+csharp_style_expression_bodied_methods = when_on_single_line : suggestion
23
+csharp_style_expression_bodied_constructors = when_on_single_line : suggestion
24
+csharp_style_expression_bodied_operators = when_on_single_line : suggestion
25
+csharp_style_expression_bodied_properties = when_on_single_line : suggestion
26
+csharp_style_expression_bodied_indexers = when_on_single_line : suggestion
27
+csharp_style_expression_bodied_accessors = when_on_single_line : suggestion
28
+csharp_style_var_elsewhere = true : suggestion
29
+csharp_style_var_for_built_in_types = true : suggestion
30
+csharp_style_var_when_type_is_apparent = true : suggestion
31
+dotnet_style_qualification_for_event = true : error
32
+dotnet_style_qualification_for_field = true : error
33
+dotnet_style_qualification_for_method = true : error
34
+dotnet_style_qualification_for_property = true : error
35
+
36
+[*.targets]
37
+indent_size = 2
appveyor.cmd
new
+11
@@ -0,0 +1,11 @@
1
+@setlocal
2
+@pushd %~dp0
3
+
4
+nuget restore
5
+
6
+msbuild -p:Configuration=Release;Platform=x86
7
+
8
+msbuild -p:Configuration=Release -t:Pack src\stub\stub.vcxproj
9
+
10
+@popd
11
+@endlocal
\ No newline at end of file
appveyor.yml
new
+35
@@ -0,0 +1,35 @@
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
+# Do NOT modify this file. Update the canonical version in Home\repo-template\src\appveyor.yml
4
+# then update all of the repos.
5
+
6
+image: Visual Studio 2017
7
+
8
+version: 0.0.0.{build}
9
+configuration: Release
10
+
11
+environment:
12
+ DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
13
+ DOTNET_CLI_TELEMETRY_OPTOUT: 1
14
+ NUGET_XMLDOC_MODE: skip
15
+
16
+build_script:
17
+ - appveyor.cmd
18
+
19
+pull_requests:
20
+ do_not_increment_build_number: true
21
+
22
+nuget:
23
+ disable_publish_on_pr: true
24
+
25
+skip_branch_with_pr: true
26
+skip_tags: true
27
+
28
+artifacts:
29
+- path: build\Release\**\*.nupkg
30
+ name: nuget
31
+
32
+notifications:
33
+- provider: Slack
34
+ incoming_webhook:
35
+ secure: p5xuu+4x2JHfwGDMDe5KcG1k7gZxqYc4jWVwvyNZv5cvkubPD2waJs5yXMAXZNN7Z63/3PWHb7q4KoY/99AjauYa1nZ4c5qYqRPFRBKTHfA=
burn.sln
new
+41
@@ -0,0 +1,41 @@
1
+
2
+Microsoft Visual Studio Solution File, Format Version 12.00
3
+# Visual Studio 15
4
+VisualStudioVersion = 15.0.26730.12
5
+MinimumVisualStudioVersion = 15.0.26124.0
6
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "engine", "src\engine\engine.vcxproj", "{8119537D-E1D9-6591-D51A-49768A2F9C37}"
7
+EndProject
8
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stub", "src\stub\stub.vcxproj", "{C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}"
9
+EndProject
10
+Global
11
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
12
+ Debug|x64 = Debug|x64
13
+ Debug|x86 = Debug|x86
14
+ Release|x64 = Release|x64
15
+ Release|x86 = Release|x86
16
+ EndGlobalSection
17
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
18
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x64.ActiveCfg = Debug|x64
19
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x64.Build.0 = Debug|x64
20
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x86.ActiveCfg = Debug|Win32
21
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x86.Build.0 = Debug|Win32
22
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x64.ActiveCfg = Release|x64
23
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x64.Build.0 = Release|x64
24
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x86.ActiveCfg = Release|Win32
25
+ {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x86.Build.0 = Release|Win32
26
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x64.ActiveCfg = Debug|x64
27
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x64.Build.0 = Debug|x64
28
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x86.ActiveCfg = Debug|Win32
29
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x86.Build.0 = Debug|Win32
30
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x64.ActiveCfg = Release|x64
31
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x64.Build.0 = Release|x64
32
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x86.ActiveCfg = Release|Win32
33
+ {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x86.Build.0 = Release|Win32
34
+ EndGlobalSection
35
+ GlobalSection(SolutionProperties) = preSolution
36
+ HideSolutionNode = FALSE
37
+ EndGlobalSection
38
+ GlobalSection(ExtensibilityGlobals) = postSolution
39
+ SolutionGuid = {A35910C5-8A89-473E-9578-E084172DD3C9}
40
+ EndGlobalSection
41
+EndGlobal
nuget.config
new
+8
@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<configuration>
3
+ <packageSources>
4
+ <clear />
5
+ <add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" />
6
+ <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
7
+ </packageSources>
8
+</configuration>
\ No newline at end of file
src/Cpp.Build.props
new
+100
@@ -0,0 +1,100 @@
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>
5
+ <PropertyGroup>
6
+ <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform>
7
+ <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir>
8
+ <OutDir>$(OutputPath)$(Platform)\</OutDir>
9
+ </PropertyGroup>
10
+
11
+ <ItemDefinitionGroup>
12
+ <ClCompile>
13
+ <DisableSpecificWarnings>$(DisableSpecificCompilerWarnings)</DisableSpecificWarnings>
14
+ <WarningLevel>Level4</WarningLevel>
15
+ <AdditionalIncludeDirectories>$(ProjectDir)inc;$(MSBuildProjectDirectory);$(IntDir);$(SqlCESdkIncludePath);$(ProjectAdditionalIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
16
+ <PreprocessorDefinitions>WIN32;_WINDOWS;_WIN32_MSI=500;_WIN32_WINNT=0x0501;$(ArmPreprocessorDefinitions);$(UnicodePreprocessorDefinitions);_CRT_STDIO_LEGACY_WIDE_SPECIFIERS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
17
+ <PrecompiledHeader>Use</PrecompiledHeader>
18
+ <PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
19
+ <CallingConvention>StdCall</CallingConvention>
20
+ <TreatWarningAsError>true</TreatWarningAsError>
21
+ <ExceptionHandling>false</ExceptionHandling>
22
+ <AdditionalOptions>-YlprecompDefine</AdditionalOptions>
23
+ <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
24
+ <MultiProcessorCompilation Condition=" $(NUMBER_OF_PROCESSORS) > 4 ">true</MultiProcessorCompilation>
25
+ </ClCompile>
26
+ <ResourceCompile>
27
+ <PreprocessorDefinitions>$(ArmPreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
28
+ <AdditionalIncludeDirectories>$(ProjectAdditionalResourceIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
29
+ </ResourceCompile>
30
+ <Lib>
31
+ <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ProjectAdditionalLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
32
+ </Lib>
33
+ <Link>
34
+ <SubSystem>$(ProjectSubSystem)</SubSystem>
35
+ <ModuleDefinitionFile>$(ProjectModuleDefinitionFile)</ModuleDefinitionFile>
36
+ <NoEntryPoint>$(ResourceOnlyDll)</NoEntryPoint>
37
+ <GenerateDebugInformation>true</GenerateDebugInformation>
38
+ <AdditionalDependencies>$(ProjectAdditionalLinkLibraries);advapi32.lib;comdlg32.lib;user32.lib;oleaut32.lib;gdi32.lib;shell32.lib;ole32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
39
+ <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ArmLibraryDirectories);$(ProjectAdditionalLinkLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
40
+ <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/IGNORE:4099 %(AdditionalOptions)</AdditionalOptions>
41
+ </Link>
42
+ </ItemDefinitionGroup>
43
+
44
+ <ItemDefinitionGroup Condition=" '$(Platform)'=='Win32' and '$(PlatformToolset)'!='v100'">
45
+ <ClCompile>
46
+ <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
47
+ </ClCompile>
48
+ </ItemDefinitionGroup>
49
+ <ItemDefinitionGroup Condition=" '$(Platform)'=='arm' ">
50
+ <ClCompile>
51
+ <CallingConvention>CDecl</CallingConvention>
52
+ </ClCompile>
53
+ </ItemDefinitionGroup>
54
+ <ItemDefinitionGroup Condition=" '$(ConfigurationType)'=='StaticLibrary' ">
55
+ <ClCompile>
56
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
57
+ <OmitDefaultLibName>true</OmitDefaultLibName>
58
+ <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
59
+ </ClCompile>
60
+ </ItemDefinitionGroup>
61
+ <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' ">
62
+ <ClCompile>
63
+ <Optimization>Disabled</Optimization>
64
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
65
+ <PreprocessorDefinitions>_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
66
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
67
+ </ClCompile>
68
+ </ItemDefinitionGroup>
69
+ <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' and '$(CLRSupport)'=='true' ">
70
+ <ClCompile>
71
+ <BasicRuntimeChecks></BasicRuntimeChecks>
72
+ <RuntimeLibrary>MultiThreadedDebugDll</RuntimeLibrary>
73
+ </ClCompile>
74
+ </ItemDefinitionGroup>
75
+ <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' ">
76
+ <ClCompile>
77
+ <Optimization>MinSpace</Optimization>
78
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
79
+ <FunctionLevelLinking>true</FunctionLevelLinking>
80
+ <IntrinsicFunctions>true</IntrinsicFunctions>
81
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
82
+ </ClCompile>
83
+ <Link>
84
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
85
+ <OptimizeReferences>true</OptimizeReferences>
86
+ </Link>
87
+ </ItemDefinitionGroup>
88
+ <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' and '$(CLRSupport)'=='true' ">
89
+ <ClCompile>
90
+ <BasicRuntimeChecks></BasicRuntimeChecks>
91
+ <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary>
92
+ </ClCompile>
93
+ </ItemDefinitionGroup>
94
+ <ItemDefinitionGroup Condition=" '$(CLRSupport)'=='true' ">
95
+ <Link>
96
+ <KeyFile>$(LinkKeyFile)</KeyFile>
97
+ <DelaySign>$(LinkDelaySign)</DelaySign>
98
+ </Link>
99
+ </ItemDefinitionGroup>
100
+</Project>
src/Directory.Build.props
new
+26
@@ -0,0 +1,26 @@
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
+ Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.Build.props
5
+ then update all of the repos.
6
+-->
7
+<Project>
8
+ <PropertyGroup>
9
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
10
+ <EnableSourceLink Condition=" '$(NCrunch)' == '1' ">false</EnableSourceLink>
11
+
12
+ <ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName>
13
+ <BaseOutputPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\build\))</BaseOutputPath>
14
+ <BaseIntermediateOutputPath>$(BaseOutputPath)obj\$(ProjectName)\</BaseIntermediateOutputPath>
15
+ <OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath>
16
+
17
+ <Authors>WiX Toolset Team</Authors>
18
+ <Company>WiX Toolset</Company>
19
+ <Copyright>Copyright (c) .NET Foundation and contributors. All rights reserved.</Copyright>
20
+ <PackageLicenseExpression>MS-RL</PackageLicenseExpression>
21
+ <Product>WiX Toolset</Product>
22
+ </PropertyGroup>
23
+
24
+ <Import Project="Cpp.Build.props" Condition=" '$(MSBuildProjectExtension)'=='.vcxproj' " />
25
+ <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " />
26
+</Project>
src/Directory.Build.targets
new
+48
@@ -0,0 +1,48 @@
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
+ Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.Build.targets
5
+ then update all of the repos.
6
+-->
7
+<!--
8
+ Replace PackageReferences with ProjectReferences when the projects can be found in .sln.
9
+ See the original here: https://github.com/dotnet/sdk/issues/1151#issuecomment-385133284
10
+-->
11
+<Project>
12
+ <PropertyGroup>
13
+ <ReplacePackageReferences>true</ReplacePackageReferences>
14
+ <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath>
15
+ <TheSolutionPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalSolutionPath)</TheSolutionPath>
16
+ </PropertyGroup>
17
+
18
+ <Choose>
19
+ <When Condition="$(ReplacePackageReferences) AND '$(TheSolutionPath)' != '' AND '$(TheSolutionPath)' != '*undefined*' AND Exists('$(TheSolutionPath)')">
20
+
21
+ <PropertyGroup>
22
+ <SolutionFileContent>$([System.IO.File]::ReadAllText($(TheSolutionPath)))</SolutionFileContent>
23
+ <SmartSolutionDir>$([System.IO.Path]::GetDirectoryName( $(TheSolutionPath) ))</SmartSolutionDir>
24
+ <RegexPattern>(?<="[PackageName]", ")(.*)(?=", ")</RegexPattern>
25
+ </PropertyGroup>
26
+
27
+ <ItemGroup>
28
+ <!-- Keep the identity of the PackageReference -->
29
+ <SmartPackageReference Include="@(PackageReference)">
30
+ <PackageName>%(Identity)</PackageName>
31
+ <InSolution>$(SolutionFileContent.Contains('\%(Identity).csproj'))</InSolution>
32
+ </SmartPackageReference>
33
+
34
+ <!-- Filter them by mapping them to another ItemGroup using the WithMetadataValue item function -->
35
+ <PackageInSolution Include="@(SmartPackageReference->WithMetadataValue('InSolution', True))">
36
+ <Pattern>$(RegexPattern.Replace('[PackageName]','%(PackageName)') )</Pattern>
37
+ <SmartPath>$([System.Text.RegularExpressions.Regex]::Match('$(SolutionFileContent)', '%(Pattern)'))</SmartPath>
38
+ </PackageInSolution>
39
+
40
+ <ProjectReference Include="@(PackageInSolution->'$(SmartSolutionDir)\%(SmartPath)' )"/>
41
+
42
+ <!-- Remove the package references that are now referenced as projects -->
43
+ <PackageReference Remove="@(PackageInSolution->'%(PackageName)' )"/>
44
+ </ItemGroup>
45
+
46
+ </When>
47
+ </Choose>
48
+</Project>
src/engine/engine.cpp
+1
@@ -144,6 +144,7 @@ extern "C" HRESULT EngineRun(
144
fXmlInitialized = TRUE;
145
146
ovix.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
147
+ #pragma warning(suppress: 4996)
148
if (!::GetVersionExW((LPOSVERSIONINFOW)&ovix))
149
{
150
ExitWithLastError(hr, "Failed to get OS info.");
src/engine/engine.vcxproj
new
+174
@@ -0,0 +1,174 @@
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.4.0.1\build\WixToolset.BootstrapperCore.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.4.0.1\build\WixToolset.BootstrapperCore.props')" />
6
+ <Import Project="..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.13\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
+ <ProjectConfiguration Include="Debug|x64">
18
+ <Configuration>Debug</Configuration>
19
+ <Platform>x64</Platform>
20
+ </ProjectConfiguration>
21
+ <ProjectConfiguration Include="Release|x64">
22
+ <Configuration>Release</Configuration>
23
+ <Platform>x64</Platform>
24
+ </ProjectConfiguration>
25
+ </ItemGroup>
26
+
27
+ <PropertyGroup Label="Globals">
28
+ <ProjectGuid>{8119537D-E1D9-6591-D51A-49768A2F9C37}</ProjectGuid>
29
+ <ConfigurationType>StaticLibrary</ConfigurationType>
30
+ <TargetName>engine</TargetName>
31
+ <PlatformToolset>v141</PlatformToolset>
32
+ <CharacterSet>Unicode</CharacterSet>
33
+ <Description>Native component of WixToolset.Burn</Description>
34
+ </PropertyGroup>
35
+
36
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
37
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
38
+
39
+ <ImportGroup Label="ExtensionSettings">
40
+ </ImportGroup>
41
+
42
+ <ImportGroup Label="Shared">
43
+ </ImportGroup>
44
+
45
+ <PropertyGroup>
46
+ <ProjectAdditionalIncludeDirectories>$(ProjectDir)..\inc</ProjectAdditionalIncludeDirectories>
47
+ </PropertyGroup>
48
+
49
+ <ItemGroup>
50
+ <ClCompile Include="apply.cpp" />
51
+ <ClCompile Include="approvedexe.cpp" />
52
+ <ClCompile Include="bitsengine.cpp" />
53
+ <ClCompile Include="catalog.cpp" />
54
+ <ClCompile Include="detect.cpp" />
55
+ <ClCompile Include="embedded.cpp" />
56
+ <ClCompile Include="EngineForApplication.cpp" />
57
+ <ClCompile Include="cabextract.cpp" />
58
+ <ClCompile Include="cache.cpp" />
59
+ <ClCompile Include="condition.cpp" />
60
+ <ClCompile Include="container.cpp" />
61
+ <ClCompile Include="core.cpp" />
62
+ <ClCompile Include="dependency.cpp" />
63
+ <ClCompile Include="elevation.cpp" />
64
+ <ClCompile Include="engine.cpp" />
65
+ <ClCompile Include="exeengine.cpp" />
66
+ <ClCompile Include="logging.cpp" />
67
+ <ClCompile Include="manifest.cpp" />
68
+ <ClCompile Include="msiengine.cpp" />
69
+ <ClCompile Include="mspengine.cpp" />
70
+ <ClCompile Include="msuengine.cpp" />
71
+ <ClCompile Include="NetFxChainer.cpp" />
72
+ <ClCompile Include="package.cpp" />
73
+ <ClCompile Include="payload.cpp" />
74
+ <ClCompile Include="pipe.cpp" />
75
+ <ClCompile Include="plan.cpp" />
76
+ <ClCompile Include="platform.cpp" />
77
+ <ClCompile Include="precomp.cpp">
78
+ <PrecompiledHeader>Create</PrecompiledHeader>
79
+ </ClCompile>
80
+ <ClCompile Include="pseudobundle.cpp" />
81
+ <ClCompile Include="registration.cpp" />
82
+ <ClCompile Include="relatedbundle.cpp" />
83
+ <ClCompile Include="search.cpp" />
84
+ <ClCompile Include="section.cpp" />
85
+ <ClCompile Include="splashscreen.cpp" />
86
+ <ClCompile Include="uithread.cpp" />
87
+ <ClCompile Include="update.cpp" />
88
+ <ClCompile Include="userexperience.cpp" />
89
+ <ClCompile Include="variable.cpp" />
90
+ <ClCompile Include="variant.cpp" />
91
+ </ItemGroup>
92
+
93
+ <ItemGroup>
94
+ <ClInclude Include="..\inc\BootstrapperApplication.h" />
95
+ <ClInclude Include="..\inc\BootstrapperEngine.h" />
96
+ </ItemGroup>
97
+
98
+ <ItemGroup>
99
+ <ClInclude Include="apply.h" />
100
+ <ClInclude Include="approvedexe.h" />
101
+ <ClInclude Include="bitsengine.h" />
102
+ <ClInclude Include="cabextract.h" />
103
+ <ClInclude Include="cache.h" />
104
+ <ClInclude Include="catalog.h" />
105
+ <ClInclude Include="condition.h" />
106
+ <ClInclude Include="container.h" />
107
+ <ClInclude Include="core.h" />
108
+ <ClInclude Include="dependency.h" />
109
+ <ClInclude Include="detect.h" />
110
+ <ClInclude Include="elevation.h" />
111
+ <ClInclude Include="embedded.h" />
112
+ <ClInclude Include="EngineForApplication.h" />
113
+ <ClInclude Include="exeengine.h" />
114
+ <ClInclude Include="inc\engine.h" />
115
+ <ClInclude Include="logging.h" />
116
+ <ClInclude Include="manifest.h" />
117
+ <ClInclude Include="msiengine.h" />
118
+ <ClInclude Include="mspengine.h" />
119
+ <ClInclude Include="msuengine.h" />
120
+ <ClInclude Include="netfxchainer.h" />
121
+ <ClInclude Include="package.h" />
122
+ <ClInclude Include="payload.h" />
123
+ <ClInclude Include="pipe.h" />
124
+ <ClInclude Include="plan.h" />
125
+ <ClInclude Include="platform.h" />
126
+ <ClInclude Include="precomp.h" />
127
+ <ClInclude Include="pseudobundle.h" />
128
+ <ClInclude Include="registration.h" />
129
+ <ClInclude Include="relatedbundle.h" />
130
+ <ClInclude Include="search.h" />
131
+ <ClInclude Include="section.h" />
132
+ <ClInclude Include="splashscreen.h" />
133
+ <ClInclude Include="uithread.h" />
134
+ <ClInclude Include="update.h" />
135
+ <ClInclude Include="userexperience.h" />
136
+ <ClInclude Include="variable.h" />
137
+ <ClInclude Include="variant.h" />
138
+ </ItemGroup>
139
+
140
+ <ItemGroup>
141
+ <None Include="packages.config" />
142
+ </ItemGroup>
143
+
144
+ <ItemGroup>
145
+ <CustomBuild Include="engine.mc">
146
+ <Message>Compiling message file...</Message>
147
+ <Command>mc.exe -h "$(IntDir)." -r "$(IntDir)." -A -c -z engine.messages "$(InputDir)engine.mc"
148
+rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc"</Command>
149
+ <Outputs>$(IntDir)engine.messages.h;$(OutDir)engine.messages.rc</Outputs>
150
+ </CustomBuild>
151
+ </ItemGroup>
152
+
153
+ <Target Name="SetWixVersion"
154
+ DependsOnTargets="GetBuildVersion"
155
+ BeforeTargets="ClCompile">
156
+ <ItemGroup>
157
+ <ClCompile>
158
+ <!-- TODO: get rmj and rmm dynamically -->
159
+ <PreprocessorDefinitions>rmj=4;rmm=0;rup=$(BuildNumber);szVerMajorMinorBuild="$(BuildVersion)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
160
+ </ClCompile>
161
+ </ItemGroup>
162
+ </Target>
163
+
164
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
165
+ <Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" />
166
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
167
+ <PropertyGroup>
168
+ <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>
169
+ </PropertyGroup>
170
+ <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.4.0.1\build\WixToolset.BootstrapperCore.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.4.0.1\build\WixToolset.BootstrapperCore.props'))" />
171
+ <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props'))" />
172
+ <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'))" />
173
+ </Target>
174
+</Project>
src/engine/packages.config
new
+6
@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<packages>
3
+ <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
4
+ <package id="WixToolset.BootstrapperCore" version="4.0.1" targetFramework="native" />
5
+ <package id="WixToolset.DUtil" version="4.0.13" targetFramework="native" />
6
+</packages>
\ No newline at end of file
src/engine/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/engine/precomp.h
+5
-2
@@ -4,12 +4,15 @@
4
5
#define ExitTrace LogErrorString
6
7
-#include <wixver.h>
8
-
7
#include <windows.h>
8
#include <aclapi.h>
9
#include <Bits.h>
10
+
11
+#pragma warning(push)
12
+#pragma warning(disable:4458) // declaration of 'xxx' hides class member
13
#include <gdiplus.h>
14
+#pragma warning(pop)
15
+
16
#include <math.h>
17
#include <msiquery.h>
18
#include <sddl.h>
src/engine/variable.cpp
+1
@@ -1698,6 +1698,7 @@ static HRESULT InitializeVariableOsInfo(
1698
BURN_VARIANT value = { };
1699
1700
ovix.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
1701
+ #pragma warning(suppress: 4996)
1702
if (!::GetVersionExW((LPOSVERSIONINFOW)&ovix))
1703
{
1704
ExitWithLastError(hr, "Failed to get OS info.");
src/stub/packages.config
new
+5
@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<packages>
3
+ <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
4
+ <package id="WixToolset.DUtil" version="4.0.13" targetFramework="native" />
5
+</packages>
\ No newline at end of file
src/stub/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/stub/runtime.win.WixToolset.Burn.nuspec
new
+20
@@ -0,0 +1,20 @@
1
+<?xml version="1.0"?>
2
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
3
+ <metadata minClientVersion="4.0">
4
+ <id>$id$</id>
5
+ <version>$version$</version>
6
+ <authors>$authors$</authors>
7
+ <owners>$authors$</owners>
8
+ <!-- <license type="expression">MS-RL</license> -->
9
+ <licenseUrl>https://licenses.nuget.org/MS-RL</licenseUrl>
10
+ <projectUrl>https://github.com/wixtoolset/burn</projectUrl>
11
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
12
+ <description>$description$</description>
13
+ <copyright>$copyright$</copyright>
14
+ </metadata>
15
+
16
+ <files>
17
+ <file src="Win32\burn.x86.exe" target="runtimes\win-x86\native" />
18
+ <file src="Win32\burn.x86.pdb" target="runtimes\win-x86\native" />
19
+ </files>
20
+</package>
src/stub/stub.rc
-11
@@ -1,14 +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
-#define VER_APP
4
-#define VER_ORIGINAL_FILENAME "setup.exe"
5
-#define VER_INTERNAL_NAME "setup"
6
-#define VER_FILE_DESCRIPTION "WiX Toolset Bootstrapper"
7
-#include "wix.rc"
8
-
3
1 ICON "stub.ico"
10
-
11
-//#define MANIFEST_RESOURCE_ID 1
12
-#ifndef ARM // the ARM manifest is automatically injected but other platforms need it done manually.
13
-//MANIFEST_RESOURCE_ID RT_MANIFEST "stub.manifest"
14
-#endif
src/stub/stub.vcxproj
new
+104
@@ -0,0 +1,104 @@
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.DUtil.4.0.13\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props')" />
6
+
7
+ <ItemGroup Label="ProjectConfigurations">
8
+ <ProjectConfiguration Include="Debug|Win32">
9
+ <Configuration>Debug</Configuration>
10
+ <Platform>Win32</Platform>
11
+ </ProjectConfiguration>
12
+ <ProjectConfiguration Include="Release|Win32">
13
+ <Configuration>Release</Configuration>
14
+ <Platform>Win32</Platform>
15
+ </ProjectConfiguration>
16
+ <ProjectConfiguration Include="Debug|x64">
17
+ <Configuration>Debug</Configuration>
18
+ <Platform>x64</Platform>
19
+ </ProjectConfiguration>
20
+ <ProjectConfiguration Include="Release|x64">
21
+ <Configuration>Release</Configuration>
22
+ <Platform>x64</Platform>
23
+ </ProjectConfiguration>
24
+ </ItemGroup>
25
+
26
+ <PropertyGroup>
27
+ <NameSuffix Condition=" '$(Platform)'=='Win32' ">x86</NameSuffix>
28
+ <NameSuffix Condition=" '$(Platform)'=='x64' ">amd64</NameSuffix>
29
+ </PropertyGroup>
30
+
31
+ <PropertyGroup Label="Globals">
32
+ <ProjectGuid>{C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}</ProjectGuid>
33
+ <ConfigurationType>Application</ConfigurationType>
34
+ <ProjectSubSystem>Windows</ProjectSubSystem>
35
+ <TargetName>burn.$(NameSuffix)</TargetName>
36
+ <PlatformToolset>v141</PlatformToolset>
37
+ <CharacterSet>Unicode</CharacterSet>
38
+ <Description>Native component of WixToolset.Burn</Description>
39
+ </PropertyGroup>
40
+
41
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
42
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
43
+
44
+ <ImportGroup Label="ExtensionSettings">
45
+ </ImportGroup>
46
+
47
+ <ImportGroup Label="Shared">
48
+ <Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" />
49
+ </ImportGroup>
50
+
51
+ <PropertyGroup>
52
+ <ProjectAdditionalIncludeDirectories>$(ProjectDir)..\engine\inc</ProjectAdditionalIncludeDirectories>
53
+ <ProjectAdditionalLinkLibraries>cabinet.lib;crypt32.lib;gdiplus.lib;msi.lib;rpcrt4.lib;shlwapi.lib;wininet.lib;wintrust.lib;wuguid.lib;engine.lib;engine.res</ProjectAdditionalLinkLibraries>
54
+ </PropertyGroup>
55
+
56
+ <ItemDefinitionGroup>
57
+ <Link>
58
+ <SwapRunFromCD>true</SwapRunFromCD>
59
+ <SwapRunFromNET>true</SwapRunFromNET>
60
+ <DelayLoadDLLs>cabinet.dll;crypt32.dll;gdiplus.dll;msi.dll;shlwapi.dll;version.dll;wininet.dll;wintrust.dll</DelayLoadDLLs>
61
+ </Link>
62
+ </ItemDefinitionGroup>
63
+
64
+ <ItemGroup>
65
+ <ClInclude Include="precomp.h" />
66
+ </ItemGroup>
67
+ <ItemGroup>
68
+ <ClCompile Include="precomp.cpp">
69
+ <PrecompiledHeader>Create</PrecompiledHeader>
70
+ </ClCompile>
71
+ <ClCompile Include="stub.cpp" />
72
+ <ClCompile Include="StubSection.cpp">
73
+ <!-- Workaround for VS2015 behavior change that omits the .wixburn section. -->
74
+ <RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
75
+ </ClCompile>
76
+ </ItemGroup>
77
+ <ItemGroup>
78
+ <Manifest Include="stub.manifest" />
79
+ </ItemGroup>
80
+ <ItemGroup>
81
+ <ResourceCompile Include="stub.rc" />
82
+ </ItemGroup>
83
+
84
+ <ItemGroup>
85
+ <ProjectReference Include="..\engine\engine.vcxproj" />
86
+ </ItemGroup>
87
+
88
+ <ItemGroup>
89
+ <None Include="packages.config" />
90
+ </ItemGroup>
91
+
92
+ <Target Name="Pack" DependsOnTargets="GetBuildVersion">
93
+ <Exec Command='nuget pack runtime.win.WixToolset.Burn.nuspec -BasePath "$(BaseOutputPath)$(Configuration)" -OutputDirectory "$(BaseOutputPath)$(Configuration)" -NoPackageAnalysis -Properties Configuration=$(Configuration);Id=runtime.win.WixToolset.Burn;Version="$(BuildVersionSimple)";Platform=$(PlatformTarget);Authors="$(Authors)";Copyright="$(Copyright)";Description="$(Description)";Title="$(Title)"' />
94
+ </Target>
95
+
96
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
97
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
98
+ <PropertyGroup>
99
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.</ErrorText>
100
+ </PropertyGroup>
101
+ <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'))" />
102
+ <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props'))" />
103
+ </Target>
104
+</Project>
version.json
new
+11
@@ -0,0 +1,11 @@
1
+{
2
+ "version": "4.0",
3
+ "publicReleaseRefSpec": [
4
+ "^refs/heads/master$"
5
+ ],
6
+ "cloudBuild": {
7
+ "buildNumber": {
8
+ "enabled": true
9
+ }
10
+ }
11
+}