aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-21 11:53:24 -0700
committerRob Mensching <rob@firegiant.com>2021-04-29 16:36:02 -0700
commitb6c44ffcf2ef7a706598fe218523ec377e96cc47 (patch)
tree712bd2b337a197644c1ac88bef96ccf8d3b779d6
parent752f0e0576dc27e937c553ed9dce5576bd388e95 (diff)
downloadwix-b6c44ffcf2ef7a706598fe218523ec377e96cc47.tar.gz
wix-b6c44ffcf2ef7a706598fe218523ec377e96cc47.tar.bz2
wix-b6c44ffcf2ef7a706598fe218523ec377e96cc47.zip
Migrate Burn API headers to balutil repository
-rw-r--r--appveyor.cmd1
-rw-r--r--src/Cpp.Build.props115
-rw-r--r--src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.nuspec19
-rw-r--r--src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.proj19
-rw-r--r--src/WixToolset.BootstrapperCore.Native/build/WixToolset.BootstrapperCore.Native.props13
-rw-r--r--src/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h1318
-rw-r--r--src/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h442
-rw-r--r--src/WixToolset.BootstrapperCore.Native/inc/BundleExtension.h60
-rw-r--r--src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h184
-rw-r--r--src/engine/engine.vcxproj21
-rw-r--r--src/engine/precomp.h8
-rw-r--r--src/stub/WixToolset.Burn.nuspec24
-rw-r--r--src/test/BurnUnitTest/BurnUnitTest.vcxproj25
-rw-r--r--src/test/BurnUnitTest/packages.config7
14 files changed, 42 insertions, 2214 deletions
diff --git a/appveyor.cmd b/appveyor.cmd
index b9cf1258..4f18fbee 100644
--- a/appveyor.cmd
+++ b/appveyor.cmd
@@ -10,7 +10,6 @@ msbuild -p:Configuration=Release;Platform=x64 || exit /b
10msbuild -p:Configuration=Release;Platform=arm64 || exit /b 10msbuild -p:Configuration=Release;Platform=arm64 || exit /b
11 11
12msbuild -p:Configuration=Release -t:Pack src\stub\stub.vcxproj || exit /b 12msbuild -p:Configuration=Release -t:Pack src\stub\stub.vcxproj || exit /b
13msbuild -p:Configuration=Release -t:Pack src\WixToolset.BootstrapperCore.Native\WixToolset.BootstrapperCore.Native.proj || exit /b
14 13
15@popd 14@popd
16@endlocal \ No newline at end of file 15@endlocal \ No newline at end of file
diff --git a/src/Cpp.Build.props b/src/Cpp.Build.props
deleted file mode 100644
index a734aab0..00000000
--- a/src/Cpp.Build.props
+++ /dev/null
@@ -1,115 +0,0 @@
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
10 <!-- NBGV properties -->
11 <AssemblyCompany>$(Company)</AssemblyCompany>
12 <AssemblyCopyright>$(Copyright)</AssemblyCopyright>
13 </PropertyGroup>
14
15 <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' AND '$(VisualStudioVersion)'>='15.0'">
16 <WindowsTargetPlatformVersion>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))</WindowsTargetPlatformVersion>
17 </PropertyGroup>
18
19 <PropertyGroup>
20 <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)CustomizedNativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
21 </PropertyGroup>
22
23 <ItemDefinitionGroup>
24 <ClCompile>
25 <DisableSpecificWarnings>$(DisableSpecificCompilerWarnings)</DisableSpecificWarnings>
26 <WarningLevel>Level4</WarningLevel>
27 <AdditionalIncludeDirectories>$(ProjectDir)inc;$(MSBuildProjectDirectory);$(IntDir);$(SqlCESdkIncludePath);$(ProjectAdditionalIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
28 <PreprocessorDefinitions>WIN32;_WINDOWS;_WIN32_MSI=500;_WIN32_WINNT=0x0600;$(ArmPreprocessorDefinitions);$(UnicodePreprocessorDefinitions);_CRT_STDIO_LEGACY_WIDE_SPECIFIERS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
29 <PrecompiledHeader>Use</PrecompiledHeader>
30 <PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
31 <CallingConvention Condition="'$(Platform)'=='Win32'">StdCall</CallingConvention>
32 <TreatWarningAsError>true</TreatWarningAsError>
33 <ExceptionHandling>false</ExceptionHandling>
34 <ControlFlowGuard>Guard</ControlFlowGuard>
35 <AdditionalOptions>-YlprecompDefine</AdditionalOptions>
36 <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
37 <MultiProcessorCompilation Condition=" $(NUMBER_OF_PROCESSORS) &gt; 4 ">true</MultiProcessorCompilation>
38 </ClCompile>
39 <ResourceCompile>
40 <PreprocessorDefinitions>$(ArmPreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
41 <AdditionalIncludeDirectories>$(ProjectAdditionalResourceIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
42 </ResourceCompile>
43 <Lib>
44 <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ProjectAdditionalLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
45 </Lib>
46 <Link>
47 <SubSystem>$(ProjectSubSystem)</SubSystem>
48 <ModuleDefinitionFile>$(ProjectModuleDefinitionFile)</ModuleDefinitionFile>
49 <NoEntryPoint>$(ResourceOnlyDll)</NoEntryPoint>
50 <GenerateDebugInformation>true</GenerateDebugInformation>
51 <AdditionalDependencies>$(ProjectAdditionalLinkLibraries);advapi32.lib;comdlg32.lib;user32.lib;oleaut32.lib;gdi32.lib;shell32.lib;ole32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
52 <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ArmLibraryDirectories);$(ProjectAdditionalLinkLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
53 <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/IGNORE:4099 %(AdditionalOptions)</AdditionalOptions>
54 </Link>
55 </ItemDefinitionGroup>
56
57 <ItemDefinitionGroup Condition=" '$(Platform)'=='Win32' and '$(PlatformToolset)'!='v100'">
58 <ClCompile>
59 <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
60 </ClCompile>
61 </ItemDefinitionGroup>
62 <ItemDefinitionGroup Condition=" '$(Platform)'=='arm' ">
63 <ClCompile>
64 <CallingConvention>CDecl</CallingConvention>
65 </ClCompile>
66 </ItemDefinitionGroup>
67 <ItemDefinitionGroup Condition=" '$(ConfigurationType)'=='StaticLibrary' ">
68 <ClCompile>
69 <DebugInformationFormat>OldStyle</DebugInformationFormat>
70 <OmitDefaultLibName>true</OmitDefaultLibName>
71 <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
72 </ClCompile>
73 </ItemDefinitionGroup>
74 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' ">
75 <ClCompile>
76 <Optimization>Disabled</Optimization>
77 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
78 <PreprocessorDefinitions>_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
79 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
80 </ClCompile>
81 </ItemDefinitionGroup>
82 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' and '$(CLRSupport)'=='true' ">
83 <ClCompile>
84 <ControlFlowGuard></ControlFlowGuard>
85 <BasicRuntimeChecks></BasicRuntimeChecks>
86 <RuntimeLibrary>MultiThreadedDebugDll</RuntimeLibrary>
87 </ClCompile>
88 </ItemDefinitionGroup>
89 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' ">
90 <ClCompile>
91 <Optimization>MinSpace</Optimization>
92 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
93 <FunctionLevelLinking>true</FunctionLevelLinking>
94 <IntrinsicFunctions>true</IntrinsicFunctions>
95 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
96 </ClCompile>
97 <Link>
98 <EnableCOMDATFolding>true</EnableCOMDATFolding>
99 <OptimizeReferences>true</OptimizeReferences>
100 </Link>
101 </ItemDefinitionGroup>
102 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' and '$(CLRSupport)'=='true' ">
103 <ClCompile>
104 <ControlFlowGuard></ControlFlowGuard>
105 <BasicRuntimeChecks></BasicRuntimeChecks>
106 <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary>
107 </ClCompile>
108 </ItemDefinitionGroup>
109 <ItemDefinitionGroup Condition=" '$(CLRSupport)'=='true' ">
110 <Link>
111 <KeyFile>$(LinkKeyFile)</KeyFile>
112 <DelaySign>$(LinkDelaySign)</DelaySign>
113 </Link>
114 </ItemDefinitionGroup>
115</Project>
diff --git a/src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.nuspec b/src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.nuspec
deleted file mode 100644
index b10b75d2..00000000
--- a/src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.nuspec
+++ /dev/null
@@ -1,19 +0,0 @@
1<?xml version="1.0"?>
2<package >
3 <metadata>
4 <id>$id$</id>
5 <version>$version$</version>
6 <authors>WiX Toolset Team</authors>
7 <owners>WiX Toolset Team</owners>
8 <license type="expression">MS-RL</license>
9 <projectUrl>https://github.com/wixtoolset/BootstrapperCore</projectUrl>
10 <requireLicenseAcceptance>false</requireLicenseAcceptance>
11 <description>$description$</description>
12 <copyright>$copyright$</copyright>
13 </metadata>
14
15 <files>
16 <file src="build\$id$.props" target="build\" />
17 <file src="inc\*" target="build\native\include" />
18 </files>
19</package>
diff --git a/src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.proj b/src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.proj
deleted file mode 100644
index 30b48b29..00000000
--- a/src/WixToolset.BootstrapperCore.Native/WixToolset.BootstrapperCore.Native.proj
+++ /dev/null
@@ -1,19 +0,0 @@
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
5<Project ToolsVersion="4.0" DefaultTargets="Pack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup>
7 <PackageId>WixToolset.BootstrapperCore.Native</PackageId>
8 <Description>WiX Bootstrapper native interfaces</Description>
9 </PropertyGroup>
10
11 <Target Name="Pack" DependsOnTargets="GetBuildVersion">
12 <Exec Command='nuget pack $(PackageId).nuspec -OutputDirectory "$(BaseOutputPath)$(Configuration)" -Properties Id=$(PackageId);Version="$(BuildVersionSimple)";Authors="$(Authors)";Copyright="$(Copyright)";Description="$(Description)"' />
13 </Target>
14
15 <Import Project="..\Directory.Build.props" />
16 <Import Project="..\Directory.Build.targets" />
17
18 <Import Project="..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" />
19</Project> \ No newline at end of file
diff --git a/src/WixToolset.BootstrapperCore.Native/build/WixToolset.BootstrapperCore.Native.props b/src/WixToolset.BootstrapperCore.Native/build/WixToolset.BootstrapperCore.Native.props
deleted file mode 100644
index 82f81163..00000000
--- a/src/WixToolset.BootstrapperCore.Native/build/WixToolset.BootstrapperCore.Native.props
+++ /dev/null
@@ -1,13 +0,0 @@
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 ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemDefinitionGroup>
6 <ClCompile>
7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
8 </ClCompile>
9 <ResourceCompile>
10 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
11 </ResourceCompile>
12 </ItemDefinitionGroup>
13</Project>
diff --git a/src/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
deleted file mode 100644
index 2a6d5c8a..00000000
--- a/src/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
+++ /dev/null
@@ -1,1318 +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
5enum BOOTSTRAPPER_DISPLAY
6{
7 BOOTSTRAPPER_DISPLAY_UNKNOWN,
8 BOOTSTRAPPER_DISPLAY_EMBEDDED,
9 BOOTSTRAPPER_DISPLAY_NONE,
10 BOOTSTRAPPER_DISPLAY_PASSIVE,
11 BOOTSTRAPPER_DISPLAY_FULL,
12};
13
14enum BOOTSTRAPPER_RESTART
15{
16 BOOTSTRAPPER_RESTART_UNKNOWN,
17 BOOTSTRAPPER_RESTART_NEVER,
18 BOOTSTRAPPER_RESTART_PROMPT,
19 BOOTSTRAPPER_RESTART_AUTOMATIC,
20 BOOTSTRAPPER_RESTART_ALWAYS,
21};
22
23enum BOOTSTRAPPER_RESUME_TYPE
24{
25 BOOTSTRAPPER_RESUME_TYPE_NONE,
26 BOOTSTRAPPER_RESUME_TYPE_INVALID, // resume information is present but invalid
27 BOOTSTRAPPER_RESUME_TYPE_INTERRUPTED, // relaunched after an unexpected interruption
28 BOOTSTRAPPER_RESUME_TYPE_REBOOT_PENDING, // reboot has not taken place yet
29 BOOTSTRAPPER_RESUME_TYPE_REBOOT, // relaunched after reboot
30 BOOTSTRAPPER_RESUME_TYPE_SUSPEND, // relaunched after suspend
31 BOOTSTRAPPER_RESUME_TYPE_ARP, // launched from ARP
32};
33
34enum BOOTSTRAPPER_ERROR_TYPE
35{
36 BOOTSTRAPPER_ERROR_TYPE_ELEVATE, // error occurred trying to elevate.
37 BOOTSTRAPPER_ERROR_TYPE_WINDOWS_INSTALLER, // error came from windows installer.
38 BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package.
39 BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server.
40 BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy.
41 BOOTSTRAPPER_ERROR_TYPE_APPLY, // error occurred during apply.
42};
43
44enum BOOTSTRAPPER_RELATED_OPERATION
45{
46 BOOTSTRAPPER_RELATED_OPERATION_NONE,
47 BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE,
48 BOOTSTRAPPER_RELATED_OPERATION_MINOR_UPDATE,
49 BOOTSTRAPPER_RELATED_OPERATION_MAJOR_UPGRADE,
50 BOOTSTRAPPER_RELATED_OPERATION_REMOVE,
51 BOOTSTRAPPER_RELATED_OPERATION_INSTALL,
52 BOOTSTRAPPER_RELATED_OPERATION_REPAIR,
53};
54
55enum BOOTSTRAPPER_CACHE_OPERATION
56{
57 // There is no source available.
58 BOOTSTRAPPER_CACHE_OPERATION_NONE,
59 // Copy the payload or container from the chosen local source.
60 BOOTSTRAPPER_CACHE_OPERATION_COPY,
61 // Download the payload or container using the download URL.
62 BOOTSTRAPPER_CACHE_OPERATION_DOWNLOAD,
63 // Extract the payload from the container.
64 BOOTSTRAPPER_CACHE_OPERATION_EXTRACT,
65};
66
67enum BOOTSTRAPPER_CACHE_RESOLVE_OPERATION
68{
69 // There is no source available.
70 BOOTSTRAPPER_CACHE_RESOLVE_NONE,
71 // Copy the payload or container from the chosen local source.
72 BOOTSTRAPPER_CACHE_RESOLVE_LOCAL,
73 // Download the payload or container from the download URL.
74 BOOTSTRAPPER_CACHE_RESOLVE_DOWNLOAD,
75 // Extract the payload from the container.
76 BOOTSTRAPPER_CACHE_RESOLVE_CONTAINER,
77 // Look again for the payload or container locally.
78 BOOTSTRAPPER_CACHE_RESOLVE_RETRY,
79};
80
81enum BOOTSTRAPPER_CACHE_VERIFY_STEP
82{
83 BOOTSTRAPPER_CACHE_VERIFY_STEP_STAGE,
84 BOOTSTRAPPER_CACHE_VERIFY_STEP_HASH,
85 BOOTSTRAPPER_CACHE_VERIFY_STEP_FINALIZE,
86};
87
88enum BOOTSTRAPPER_APPLY_RESTART
89{
90 BOOTSTRAPPER_APPLY_RESTART_NONE,
91 BOOTSTRAPPER_APPLY_RESTART_REQUIRED,
92 BOOTSTRAPPER_APPLY_RESTART_INITIATED,
93};
94
95enum BOOTSTRAPPER_RELATION_TYPE
96{
97 BOOTSTRAPPER_RELATION_NONE,
98 BOOTSTRAPPER_RELATION_DETECT,
99 BOOTSTRAPPER_RELATION_UPGRADE,
100 BOOTSTRAPPER_RELATION_ADDON,
101 BOOTSTRAPPER_RELATION_PATCH,
102 BOOTSTRAPPER_RELATION_DEPENDENT,
103 BOOTSTRAPPER_RELATION_UPDATE,
104};
105
106enum BOOTSTRAPPER_CACHE_TYPE
107{
108 BOOTSTRAPPER_CACHE_TYPE_REMOVE,
109 BOOTSTRAPPER_CACHE_TYPE_KEEP,
110 BOOTSTRAPPER_CACHE_TYPE_FORCE,
111};
112
113enum BOOTSTRAPPER_PACKAGE_CONDITION_RESULT
114{
115 BOOTSTRAPPER_PACKAGE_CONDITION_DEFAULT,
116 BOOTSTRAPPER_PACKAGE_CONDITION_FALSE,
117 BOOTSTRAPPER_PACKAGE_CONDITION_TRUE,
118};
119
120enum BOOTSTRAPPER_APPLICATION_MESSAGE
121{
122 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTBEGIN,
123 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPLETE,
124 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANBEGIN,
125 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPLETE,
126 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSTARTUP,
127 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSHUTDOWN,
128 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMSHUTDOWN,
129 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTFORWARDCOMPATIBLEBUNDLE,
130 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATEBEGIN,
131 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATE,
132 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATECOMPLETE,
133 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE,
134 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN,
135 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE,
136 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET,
137 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE,
138 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE,
139 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE,
140 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN,
141 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET,
142 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE,
143 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE,
144 BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYBEGIN,
145 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATEBEGIN,
146 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATECOMPLETE,
147 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPROGRESS,
148 BOOTSTRAPPER_APPLICATION_MESSAGE_ONERROR,
149 BOOTSTRAPPER_APPLICATION_MESSAGE_ONREGISTERBEGIN,
150 BOOTSTRAPPER_APPLICATION_MESSAGE_ONREGISTERCOMPLETE,
151 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEBEGIN,
152 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGEBEGIN,
153 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIREBEGIN,
154 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIREPROGRESS,
155 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIRERESOLVING,
156 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIRECOMPLETE,
157 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYBEGIN,
158 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYCOMPLETE,
159 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGECOMPLETE,
160 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECOMPLETE,
161 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEBEGIN,
162 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPACKAGEBEGIN,
163 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPATCHTARGET,
164 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROGRESS,
165 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEMSIMESSAGE,
166 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEFILESINUSE,
167 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPACKAGECOMPLETE,
168 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTECOMPLETE,
169 BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERBEGIN,
170 BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERCOMPLETE,
171 BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYCOMPLETE,
172 BOOTSTRAPPER_APPLICATION_MESSAGE_ONLAUNCHAPPROVEDEXEBEGIN,
173 BOOTSTRAPPER_APPLICATION_MESSAGE_ONLAUNCHAPPROVEDEXECOMPLETE,
174 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIPACKAGE,
175 BOOTSTRAPPER_APPLICATION_MESSAGE_ONBEGINMSITRANSACTIONBEGIN,
176 BOOTSTRAPPER_APPLICATION_MESSAGE_ONBEGINMSITRANSACTIONCOMPLETE,
177 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCOMMITMSITRANSACTIONBEGIN,
178 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCOMMITMSITRANSACTIONCOMPLETE,
179 BOOTSTRAPPER_APPLICATION_MESSAGE_ONROLLBACKMSITRANSACTIONBEGIN,
180 BOOTSTRAPPER_APPLICATION_MESSAGE_ONROLLBACKMSITRANSACTIONCOMPLETE,
181 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPAUSEAUTOMATICUPDATESBEGIN,
182 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPAUSEAUTOMATICUPDATESCOMPLETE,
183 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN,
184 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE,
185 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE,
186 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE,
187 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYPROGRESS,
188 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN,
189 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE,
190 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS,
191 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN,
192 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE,
193 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS,
194};
195
196enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION
197{
198 BOOTSTRAPPER_APPLYCOMPLETE_ACTION_NONE,
199 // Instructs the engine to restart.
200 // The engine will not launch again after the machine is rebooted.
201 // Ignored if reboot was already initiated by OnExecutePackageComplete().
202 BOOTSTRAPPER_APPLYCOMPLETE_ACTION_RESTART,
203};
204
205enum BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION
206{
207 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION_NONE,
208 // Instructs the engine to try the acquisition of the payload again.
209 // Ignored if hrStatus is a success.
210 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION_RETRY,
211};
212
213enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION
214{
215 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION_NONE,
216 // Instructs the engine to ignore non-vital package failures and
217 // continue with the caching.
218 // Ignored if hrStatus is a success or the package is vital.
219 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION_IGNORE,
220 // Instructs the engine to try the acquisition and verification of the package again.
221 // Ignored if hrStatus is a success.
222 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION_RETRY,
223};
224
225enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION
226{
227 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION_NONE,
228 // Ignored if hrStatus is a success.
229 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION_RETRYVERIFICATION,
230 // Ignored if hrStatus is a success.
231 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION_RETRYACQUISITION,
232};
233
234enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION
235{
236 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_NONE,
237 // Instructs the engine to ignore non-vital package failures and
238 // continue with the install.
239 // Ignored if hrStatus is a success or the package is vital.
240 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_IGNORE,
241 // Instructs the engine to try the execution of the package again.
242 // Ignored if hrStatus is a success.
243 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_RETRY,
244 // Instructs the engine to stop processing the chain and restart.
245 // The engine will launch again after the machine is restarted.
246 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_RESTART,
247 // Instructs the engine to stop processing the chain and
248 // suspend the current state.
249 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_SUSPEND,
250};
251
252enum BOOTSTRAPPER_SHUTDOWN_ACTION
253{
254 BOOTSTRAPPER_SHUTDOWN_ACTION_NONE,
255 // Instructs the engine to restart.
256 // The engine will not launch again after the machine is rebooted.
257 // Ignored if reboot was already initiated by OnExecutePackageComplete().
258 BOOTSTRAPPER_SHUTDOWN_ACTION_RESTART,
259 // Instructs the engine to unload the bootstrapper application and
260 // restart the engine which will load the bootstrapper application again.
261 // Typically used to switch from a native bootstrapper application to a managed one.
262 BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER,
263 // Opts out of the engine behavior of trying to uninstall itself
264 // when no non-permanent packages are installed.
265 BOOTSTRAPPER_SHUTDOWN_ACTION_SKIP_CLEANUP,
266};
267
268enum BURN_MSI_PROPERTY
269{
270 BURN_MSI_PROPERTY_NONE, // no property added
271 BURN_MSI_PROPERTY_INSTALL, // add BURNMSIINSTALL=1
272 BURN_MSI_PROPERTY_MODIFY, // add BURNMSIMODIFY=1
273 BURN_MSI_PROPERTY_REPAIR, // add BURNMSIREPAIR=1
274 BURN_MSI_PROPERTY_UNINSTALL,// add BURNMSIUNINSTALL=1
275};
276
277struct BOOTSTRAPPER_COMMAND
278{
279 DWORD cbSize;
280 BOOTSTRAPPER_ACTION action;
281 BOOTSTRAPPER_DISPLAY display;
282 BOOTSTRAPPER_RESTART restart;
283
284 LPWSTR wzCommandLine;
285 int nCmdShow;
286
287 BOOTSTRAPPER_RESUME_TYPE resumeType;
288 HWND hwndSplashScreen;
289
290 // If this was run from a related bundle, specifies the relation type
291 BOOTSTRAPPER_RELATION_TYPE relationType;
292 BOOL fPassthrough;
293
294 LPWSTR wzLayoutDirectory;
295 LPWSTR wzBootstrapperWorkingFolder;
296 LPWSTR wzBootstrapperApplicationDataPath;
297};
298
299struct BA_ONAPPLYBEGIN_ARGS
300{
301 DWORD cbSize;
302 DWORD dwPhaseCount;
303};
304
305struct BA_ONAPPLYBEGIN_RESULTS
306{
307 DWORD cbSize;
308 BOOL fCancel;
309};
310
311struct BA_ONAPPLYCOMPLETE_ARGS
312{
313 DWORD cbSize;
314 HRESULT hrStatus;
315 // Indicates whether any package required a reboot or initiated the reboot already.
316 BOOTSTRAPPER_APPLY_RESTART restart;
317 BOOTSTRAPPER_APPLYCOMPLETE_ACTION recommendation;
318};
319
320struct BA_ONAPPLYCOMPLETE_RESULTS
321{
322 DWORD cbSize;
323 BOOTSTRAPPER_APPLYCOMPLETE_ACTION action;
324};
325
326struct BA_ONBEGINMSITRANSACTIONBEGIN_ARGS
327{
328 DWORD cbSize;
329 LPCWSTR wzTransactionId;
330};
331
332struct BA_ONBEGINMSITRANSACTIONBEGIN_RESULTS
333{
334 DWORD cbSize;
335 BOOL fCancel;
336};
337
338struct BA_ONBEGINMSITRANSACTIONCOMPLETE_ARGS
339{
340 DWORD cbSize;
341 LPCWSTR wzTransactionId;
342 HRESULT hrStatus;
343};
344
345struct BA_ONBEGINMSITRANSACTIONCOMPLETE_RESULTS
346{
347 DWORD cbSize;
348};
349
350struct BA_ONCACHEACQUIREBEGIN_ARGS
351{
352 DWORD cbSize;
353 LPCWSTR wzPackageOrContainerId;
354 LPCWSTR wzPayloadId;
355 LPCWSTR wzSource;
356 LPCWSTR wzDownloadUrl;
357 LPCWSTR wzPayloadContainerId;
358 BOOTSTRAPPER_CACHE_OPERATION recommendation;
359};
360
361struct BA_ONCACHEACQUIREBEGIN_RESULTS
362{
363 DWORD cbSize;
364 BOOL fCancel;
365 BOOTSTRAPPER_CACHE_OPERATION action;
366};
367
368struct BA_ONCACHEACQUIRECOMPLETE_ARGS
369{
370 DWORD cbSize;
371 LPCWSTR wzPackageOrContainerId;
372 LPCWSTR wzPayloadId;
373 HRESULT hrStatus;
374 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION recommendation;
375};
376
377struct BA_ONCACHEACQUIRECOMPLETE_RESULTS
378{
379 DWORD cbSize;
380 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION action;
381};
382
383struct BA_ONCACHEACQUIREPROGRESS_ARGS
384{
385 DWORD cbSize;
386 LPCWSTR wzPackageOrContainerId;
387 LPCWSTR wzPayloadId;
388 DWORD64 dw64Progress;
389 DWORD64 dw64Total;
390 DWORD dwOverallPercentage;
391};
392
393struct BA_ONCACHEACQUIREPROGRESS_RESULTS
394{
395 DWORD cbSize;
396 BOOL fCancel;
397};
398
399struct BA_ONCACHEACQUIRERESOLVING_ARGS
400{
401 DWORD cbSize;
402 LPCWSTR wzPackageOrContainerId;
403 LPCWSTR wzPayloadId;
404 LPCWSTR* rgSearchPaths;
405 DWORD cSearchPaths;
406 BOOL fFoundLocal;
407 DWORD dwRecommendedSearchPath;
408 LPCWSTR wzDownloadUrl;
409 LPCWSTR wzPayloadContainerId;
410 BOOTSTRAPPER_CACHE_RESOLVE_OPERATION recommendation;
411};
412
413struct BA_ONCACHEACQUIRERESOLVING_RESULTS
414{
415 DWORD cbSize;
416 DWORD dwChosenSearchPath;
417 BOOTSTRAPPER_CACHE_RESOLVE_OPERATION action;
418 BOOL fCancel;
419};
420
421struct BA_ONCACHEBEGIN_ARGS
422{
423 DWORD cbSize;
424};
425
426struct BA_ONCACHEBEGIN_RESULTS
427{
428 DWORD cbSize;
429 BOOL fCancel;
430};
431
432struct BA_ONCACHECOMPLETE_ARGS
433{
434 DWORD cbSize;
435 HRESULT hrStatus;
436};
437
438struct BA_ONCACHECOMPLETE_RESULTS
439{
440 DWORD cbSize;
441};
442
443struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS
444{
445 DWORD cbSize;
446 LPCWSTR wzPackageOrContainerId;
447 LPCWSTR wzPayloadId;
448};
449
450struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS
451{
452 DWORD cbSize;
453 BOOL fCancel;
454};
455
456struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS
457{
458 DWORD cbSize;
459 LPCWSTR wzPackageOrContainerId;
460 LPCWSTR wzPayloadId;
461 HRESULT hrStatus;
462};
463
464struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS
465{
466 DWORD cbSize;
467};
468
469struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS
470{
471 DWORD cbSize;
472 LPCWSTR wzPackageOrContainerId;
473 LPCWSTR wzPayloadId;
474 DWORD64 dw64Progress;
475 DWORD64 dw64Total;
476 DWORD dwOverallPercentage;
477};
478
479struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS
480{
481 DWORD cbSize;
482 BOOL fCancel;
483};
484
485struct BA_ONCACHEPACKAGEBEGIN_ARGS
486{
487 DWORD cbSize;
488 LPCWSTR wzPackageId;
489 DWORD cCachePayloads;
490 DWORD64 dw64PackageCacheSize;
491};
492
493struct BA_ONCACHEPACKAGEBEGIN_RESULTS
494{
495 DWORD cbSize;
496 BOOL fCancel;
497};
498
499struct BA_ONCACHEPACKAGECOMPLETE_ARGS
500{
501 DWORD cbSize;
502 LPCWSTR wzPackageId;
503 HRESULT hrStatus;
504 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation;
505};
506
507struct BA_ONCACHEPACKAGECOMPLETE_RESULTS
508{
509 DWORD cbSize;
510 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action;
511};
512
513struct BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS
514{
515 DWORD cbSize;
516 LPCWSTR wzContainerId;
517 LPCWSTR wzPayloadId;
518};
519
520struct BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS
521{
522 DWORD cbSize;
523 BOOL fCancel;
524};
525
526struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS
527{
528 DWORD cbSize;
529 LPCWSTR wzContainerId;
530 LPCWSTR wzPayloadId;
531 HRESULT hrStatus;
532};
533
534struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS
535{
536 DWORD cbSize;
537};
538
539struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS
540{
541 DWORD cbSize;
542 LPCWSTR wzContainerId;
543 LPCWSTR wzPayloadId;
544 DWORD64 dw64Progress;
545 DWORD64 dw64Total;
546 DWORD dwOverallPercentage;
547};
548
549struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS
550{
551 DWORD cbSize;
552 BOOL fCancel;
553};
554
555struct BA_ONCACHEVERIFYBEGIN_ARGS
556{
557 DWORD cbSize;
558 LPCWSTR wzPackageOrContainerId;
559 LPCWSTR wzPayloadId;
560};
561
562struct BA_ONCACHEVERIFYBEGIN_RESULTS
563{
564 DWORD cbSize;
565 BOOL fCancel;
566};
567
568struct BA_ONCACHEVERIFYCOMPLETE_ARGS
569{
570 DWORD cbSize;
571 LPCWSTR wzPackageOrContainerId;
572 LPCWSTR wzPayloadId;
573 HRESULT hrStatus;
574 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation;
575};
576
577struct BA_ONCACHEVERIFYCOMPLETE_RESULTS
578{
579 DWORD cbSize;
580 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action;
581};
582
583struct BA_ONCACHEVERIFYPROGRESS_ARGS
584{
585 DWORD cbSize;
586 LPCWSTR wzPackageOrContainerId;
587 LPCWSTR wzPayloadId;
588 DWORD64 dw64Progress;
589 DWORD64 dw64Total;
590 DWORD dwOverallPercentage;
591 BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep;
592};
593
594struct BA_ONCACHEVERIFYPROGRESS_RESULTS
595{
596 DWORD cbSize;
597 BOOL fCancel;
598};
599
600struct BA_ONCOMMITMSITRANSACTIONBEGIN_ARGS
601{
602 DWORD cbSize;
603 LPCWSTR wzTransactionId;
604};
605
606struct BA_ONCOMMITMSITRANSACTIONBEGIN_RESULTS
607{
608 DWORD cbSize;
609 BOOL fCancel;
610};
611
612struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS
613{
614 DWORD cbSize;
615 LPCWSTR wzTransactionId;
616 HRESULT hrStatus;
617};
618
619struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS
620{
621 DWORD cbSize;
622};
623
624struct BA_ONDETECTBEGIN_ARGS
625{
626 DWORD cbSize;
627 BOOL fInstalled;
628 DWORD cPackages;
629 BOOL fCached;
630};
631
632struct BA_ONDETECTBEGIN_RESULTS
633{
634 DWORD cbSize;
635 BOOL fCancel;
636};
637
638struct BA_ONDETECTCOMPLETE_ARGS
639{
640 DWORD cbSize;
641 HRESULT hrStatus;
642 BOOL fEligibleForCleanup;
643};
644
645struct BA_ONDETECTCOMPLETE_RESULTS
646{
647 DWORD cbSize;
648};
649
650struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_ARGS
651{
652 DWORD cbSize;
653 LPCWSTR wzBundleId;
654 BOOTSTRAPPER_RELATION_TYPE relationType;
655 LPCWSTR wzBundleTag;
656 BOOL fPerMachine;
657 LPCWSTR wzVersion;
658 BOOL fMissingFromCache;
659};
660
661struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_RESULTS
662{
663 DWORD cbSize;
664 BOOL fCancel;
665};
666
667struct BA_ONDETECTMSIFEATURE_ARGS
668{
669 DWORD cbSize;
670 LPCWSTR wzPackageId;
671 LPCWSTR wzFeatureId;
672 BOOTSTRAPPER_FEATURE_STATE state;
673};
674
675struct BA_ONDETECTMSIFEATURE_RESULTS
676{
677 DWORD cbSize;
678 BOOL fCancel;
679};
680
681struct BA_ONDETECTPACKAGEBEGIN_ARGS
682{
683 DWORD cbSize;
684 LPCWSTR wzPackageId;
685};
686
687struct BA_ONDETECTPACKAGEBEGIN_RESULTS
688{
689 DWORD cbSize;
690 BOOL fCancel;
691};
692
693struct BA_ONDETECTPACKAGECOMPLETE_ARGS
694{
695 DWORD cbSize;
696 LPCWSTR wzPackageId;
697 HRESULT hrStatus;
698 BOOTSTRAPPER_PACKAGE_STATE state;
699 BOOL fCached;
700};
701
702struct BA_ONDETECTPACKAGECOMPLETE_RESULTS
703{
704 DWORD cbSize;
705};
706
707struct BA_ONDETECTRELATEDBUNDLE_ARGS
708{
709 DWORD cbSize;
710 LPCWSTR wzBundleId;
711 BOOTSTRAPPER_RELATION_TYPE relationType;
712 LPCWSTR wzBundleTag;
713 BOOL fPerMachine;
714 LPCWSTR wzVersion;
715 BOOTSTRAPPER_RELATED_OPERATION operation;
716 BOOL fMissingFromCache;
717};
718
719struct BA_ONDETECTRELATEDBUNDLE_RESULTS
720{
721 DWORD cbSize;
722 BOOL fCancel;
723};
724
725struct BA_ONDETECTRELATEDMSIPACKAGE_ARGS
726{
727 DWORD cbSize;
728 LPCWSTR wzPackageId;
729 LPCWSTR wzUpgradeCode;
730 LPCWSTR wzProductCode;
731 BOOL fPerMachine;
732 LPCWSTR wzVersion;
733 BOOTSTRAPPER_RELATED_OPERATION operation;
734};
735
736struct BA_ONDETECTRELATEDMSIPACKAGE_RESULTS
737{
738 DWORD cbSize;
739 BOOL fCancel;
740};
741
742struct BA_ONDETECTPATCHTARGET_ARGS
743{
744 DWORD cbSize;
745 LPCWSTR wzPackageId;
746 LPCWSTR wzProductCode;
747 BOOTSTRAPPER_PACKAGE_STATE patchState;
748};
749
750struct BA_ONDETECTPATCHTARGET_RESULTS
751{
752 DWORD cbSize;
753 BOOL fCancel;
754};
755
756struct BA_ONDETECTUPDATE_ARGS
757{
758 DWORD cbSize;
759 LPCWSTR wzUpdateLocation;
760 DWORD64 dw64Size;
761 LPCWSTR wzVersion;
762 LPCWSTR wzTitle;
763 LPCWSTR wzSummary;
764 LPCWSTR wzContentType;
765 LPCWSTR wzContent;
766};
767
768struct BA_ONDETECTUPDATE_RESULTS
769{
770 DWORD cbSize;
771 BOOL fCancel;
772 BOOL fStopProcessingUpdates;
773};
774
775struct BA_ONDETECTUPDATEBEGIN_ARGS
776{
777 DWORD cbSize;
778 LPCWSTR wzUpdateLocation;
779};
780
781struct BA_ONDETECTUPDATEBEGIN_RESULTS
782{
783 DWORD cbSize;
784 BOOL fCancel;
785 BOOL fSkip;
786};
787
788struct BA_ONDETECTUPDATECOMPLETE_ARGS
789{
790 DWORD cbSize;
791 HRESULT hrStatus;
792};
793
794struct BA_ONDETECTUPDATECOMPLETE_RESULTS
795{
796 DWORD cbSize;
797 BOOL fIgnoreError;
798};
799
800struct BA_ONELEVATEBEGIN_ARGS
801{
802 DWORD cbSize;
803};
804
805struct BA_ONELEVATEBEGIN_RESULTS
806{
807 DWORD cbSize;
808 BOOL fCancel;
809};
810
811struct BA_ONELEVATECOMPLETE_ARGS
812{
813 DWORD cbSize;
814 HRESULT hrStatus;
815};
816
817struct BA_ONELEVATECOMPLETE_RESULTS
818{
819 DWORD cbSize;
820};
821
822struct BA_ONERROR_ARGS
823{
824 DWORD cbSize;
825 BOOTSTRAPPER_ERROR_TYPE errorType;
826 LPCWSTR wzPackageId;
827 DWORD dwCode;
828 LPCWSTR wzError;
829 DWORD dwUIHint;
830 DWORD cData;
831 LPCWSTR* rgwzData;
832 int nRecommendation;
833};
834
835struct BA_ONERROR_RESULTS
836{
837 DWORD cbSize;
838 int nResult;
839};
840
841struct BA_ONEXECUTEBEGIN_ARGS
842{
843 DWORD cbSize;
844 DWORD cExecutingPackages;
845};
846
847struct BA_ONEXECUTEBEGIN_RESULTS
848{
849 DWORD cbSize;
850 BOOL fCancel;
851};
852
853struct BA_ONEXECUTECOMPLETE_ARGS
854{
855 DWORD cbSize;
856 HRESULT hrStatus;
857};
858
859struct BA_ONEXECUTECOMPLETE_RESULTS
860{
861 DWORD cbSize;
862};
863
864struct BA_ONEXECUTEFILESINUSE_ARGS
865{
866 DWORD cbSize;
867 LPCWSTR wzPackageId;
868 DWORD cFiles;
869 LPCWSTR* rgwzFiles;
870 int nRecommendation;
871};
872
873struct BA_ONEXECUTEFILESINUSE_RESULTS
874{
875 DWORD cbSize;
876 int nResult;
877};
878
879struct BA_ONEXECUTEMSIMESSAGE_ARGS
880{
881 DWORD cbSize;
882 LPCWSTR wzPackageId;
883 INSTALLMESSAGE messageType;
884 DWORD dwUIHint;
885 LPCWSTR wzMessage;
886 DWORD cData;
887 LPCWSTR* rgwzData;
888 int nRecommendation;
889};
890
891struct BA_ONEXECUTEMSIMESSAGE_RESULTS
892{
893 DWORD cbSize;
894 int nResult;
895};
896
897struct BA_ONEXECUTEPACKAGEBEGIN_ARGS
898{
899 DWORD cbSize;
900 LPCWSTR wzPackageId;
901 BOOL fExecute; // false means rollback.
902 BOOTSTRAPPER_ACTION_STATE action;
903 INSTALLUILEVEL uiLevel;
904 BOOL fDisableExternalUiHandler;
905};
906
907struct BA_ONEXECUTEPACKAGEBEGIN_RESULTS
908{
909 DWORD cbSize;
910 BOOL fCancel;
911};
912
913struct BA_ONEXECUTEPACKAGECOMPLETE_ARGS
914{
915 DWORD cbSize;
916 LPCWSTR wzPackageId;
917 HRESULT hrStatus;
918 // Indicates whether this package requires a reboot or initiated the reboot already.
919 BOOTSTRAPPER_APPLY_RESTART restart;
920 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION recommendation;
921};
922
923struct BA_ONEXECUTEPACKAGECOMPLETE_RESULTS
924{
925 DWORD cbSize;
926 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action;
927};
928
929struct BA_ONEXECUTEPATCHTARGET_ARGS
930{
931 DWORD cbSize;
932 LPCWSTR wzPackageId;
933 LPCWSTR wzTargetProductCode;
934};
935
936struct BA_ONEXECUTEPATCHTARGET_RESULTS
937{
938 DWORD cbSize;
939 BOOL fCancel;
940};
941
942struct BA_ONEXECUTEPROGRESS_ARGS
943{
944 DWORD cbSize;
945 LPCWSTR wzPackageId;
946 DWORD dwProgressPercentage;
947 DWORD dwOverallPercentage;
948};
949
950struct BA_ONEXECUTEPROGRESS_RESULTS
951{
952 DWORD cbSize;
953 BOOL fCancel;
954};
955
956struct BA_ONLAUNCHAPPROVEDEXEBEGIN_ARGS
957{
958 DWORD cbSize;
959};
960
961struct BA_ONLAUNCHAPPROVEDEXEBEGIN_RESULTS
962{
963 DWORD cbSize;
964 BOOL fCancel;
965};
966
967struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_ARGS
968{
969 DWORD cbSize;
970 HRESULT hrStatus;
971 // Only valid if the operation succeeded.
972 DWORD dwProcessId;
973};
974
975struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_RESULTS
976{
977 DWORD cbSize;
978};
979
980struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_ARGS
981{
982 DWORD cbSize;
983};
984
985struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_RESULTS
986{
987 DWORD cbSize;
988};
989
990struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_ARGS
991{
992 DWORD cbSize;
993 HRESULT hrStatus;
994};
995
996struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_RESULTS
997{
998 DWORD cbSize;
999};
1000
1001struct BA_ONPLANBEGIN_ARGS
1002{
1003 DWORD cbSize;
1004 DWORD cPackages;
1005};
1006
1007struct BA_ONPLANBEGIN_RESULTS
1008{
1009 DWORD cbSize;
1010 BOOL fCancel;
1011};
1012
1013struct BA_ONPLANCOMPLETE_ARGS
1014{
1015 DWORD cbSize;
1016 HRESULT hrStatus;
1017};
1018
1019struct BA_ONPLANCOMPLETE_RESULTS
1020{
1021 DWORD cbSize;
1022};
1023
1024struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS
1025{
1026 DWORD cbSize;
1027 LPCWSTR wzBundleId;
1028 BOOTSTRAPPER_RELATION_TYPE relationType;
1029 LPCWSTR wzBundleTag;
1030 BOOL fPerMachine;
1031 LPCWSTR wzVersion;
1032 BOOL fRecommendedIgnoreBundle;
1033};
1034
1035struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS
1036{
1037 DWORD cbSize;
1038 BOOL fCancel;
1039 BOOL fIgnoreBundle;
1040};
1041
1042struct BA_ONPLANMSIFEATURE_ARGS
1043{
1044 DWORD cbSize;
1045 LPCWSTR wzPackageId;
1046 LPCWSTR wzFeatureId;
1047 BOOTSTRAPPER_FEATURE_STATE recommendedState;
1048};
1049
1050struct BA_ONPLANMSIFEATURE_RESULTS
1051{
1052 DWORD cbSize;
1053 BOOTSTRAPPER_FEATURE_STATE requestedState;
1054 BOOL fCancel;
1055};
1056
1057struct BA_ONPLANMSIPACKAGE_ARGS
1058{
1059 DWORD cbSize;
1060 LPCWSTR wzPackageId;
1061 BOOL fExecute; // false means rollback.
1062 BOOTSTRAPPER_ACTION_STATE action;
1063};
1064
1065struct BA_ONPLANMSIPACKAGE_RESULTS
1066{
1067 DWORD cbSize;
1068 BOOL fCancel;
1069 BURN_MSI_PROPERTY actionMsiProperty;
1070 INSTALLUILEVEL uiLevel;
1071 BOOL fDisableExternalUiHandler;
1072};
1073
1074struct BA_ONPLANNEDPACKAGE_ARGS
1075{
1076 DWORD cbSize;
1077 LPCWSTR wzPackageId;
1078 BOOTSTRAPPER_ACTION_STATE execute;
1079 BOOTSTRAPPER_ACTION_STATE rollback;
1080 BOOL fPlannedCache;
1081 BOOL fPlannedUncache;
1082};
1083
1084struct BA_ONPLANNEDPACKAGE_RESULTS
1085{
1086 DWORD cbSize;
1087};
1088
1089struct BA_ONPLANPACKAGEBEGIN_ARGS
1090{
1091 DWORD cbSize;
1092 LPCWSTR wzPackageId;
1093 BOOTSTRAPPER_PACKAGE_STATE state;
1094 BOOL fCached;
1095 BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition;
1096 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1097 BOOTSTRAPPER_CACHE_TYPE recommendedCacheType;
1098};
1099
1100struct BA_ONPLANPACKAGEBEGIN_RESULTS
1101{
1102 DWORD cbSize;
1103 BOOL fCancel;
1104 BOOTSTRAPPER_REQUEST_STATE requestedState;
1105 BOOTSTRAPPER_CACHE_TYPE requestedCacheType;
1106};
1107
1108struct BA_ONPLANPACKAGECOMPLETE_ARGS
1109{
1110 DWORD cbSize;
1111 LPCWSTR wzPackageId;
1112 HRESULT hrStatus;
1113 BOOTSTRAPPER_REQUEST_STATE requested;
1114};
1115
1116struct BA_ONPLANPACKAGECOMPLETE_RESULTS
1117{
1118 DWORD cbSize;
1119};
1120
1121struct BA_ONPLANRELATEDBUNDLE_ARGS
1122{
1123 DWORD cbSize;
1124 LPCWSTR wzBundleId;
1125 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1126};
1127
1128struct BA_ONPLANRELATEDBUNDLE_RESULTS
1129{
1130 DWORD cbSize;
1131 BOOL fCancel;
1132 BOOTSTRAPPER_REQUEST_STATE requestedState;
1133};
1134
1135struct BA_ONPLANPATCHTARGET_ARGS
1136{
1137 DWORD cbSize;
1138 LPCWSTR wzPackageId;
1139 LPCWSTR wzProductCode;
1140 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1141};
1142
1143struct BA_ONPLANPATCHTARGET_RESULTS
1144{
1145 DWORD cbSize;
1146 BOOTSTRAPPER_REQUEST_STATE requestedState;
1147 BOOL fCancel;
1148};
1149
1150struct BA_ONPROGRESS_ARGS
1151{
1152 DWORD cbSize;
1153 DWORD dwProgressPercentage;
1154 DWORD dwOverallPercentage;
1155};
1156
1157struct BA_ONPROGRESS_RESULTS
1158{
1159 DWORD cbSize;
1160 BOOL fCancel;
1161};
1162
1163struct BA_ONREGISTERBEGIN_ARGS
1164{
1165 DWORD cbSize;
1166};
1167
1168struct BA_ONREGISTERBEGIN_RESULTS
1169{
1170 DWORD cbSize;
1171 BOOL fCancel;
1172};
1173
1174struct BA_ONREGISTERCOMPLETE_ARGS
1175{
1176 DWORD cbSize;
1177 HRESULT hrStatus;
1178};
1179
1180struct BA_ONREGISTERCOMPLETE_RESULTS
1181{
1182 DWORD cbSize;
1183};
1184
1185struct BA_ONROLLBACKMSITRANSACTIONBEGIN_ARGS
1186{
1187 DWORD cbSize;
1188 LPCWSTR wzTransactionId;
1189};
1190
1191struct BA_ONROLLBACKMSITRANSACTIONBEGIN_RESULTS
1192{
1193 DWORD cbSize;
1194};
1195
1196struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS
1197{
1198 DWORD cbSize;
1199 LPCWSTR wzTransactionId;
1200 HRESULT hrStatus;
1201};
1202
1203struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS
1204{
1205 DWORD cbSize;
1206};
1207
1208struct BA_ONSHUTDOWN_ARGS
1209{
1210 DWORD cbSize;
1211};
1212
1213struct BA_ONSHUTDOWN_RESULTS
1214{
1215 DWORD cbSize;
1216 BOOTSTRAPPER_SHUTDOWN_ACTION action;
1217};
1218
1219struct BA_ONSTARTUP_ARGS
1220{
1221 DWORD cbSize;
1222};
1223
1224struct BA_ONSTARTUP_RESULTS
1225{
1226 DWORD cbSize;
1227};
1228
1229struct BA_ONSYSTEMRESTOREPOINTBEGIN_ARGS
1230{
1231 DWORD cbSize;
1232};
1233
1234struct BA_ONSYSTEMRESTOREPOINTBEGIN_RESULTS
1235{
1236 DWORD cbSize;
1237};
1238
1239struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_ARGS
1240{
1241 DWORD cbSize;
1242 HRESULT hrStatus;
1243};
1244
1245struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_RESULTS
1246{
1247 DWORD cbSize;
1248};
1249
1250struct BA_ONSYSTEMSHUTDOWN_ARGS
1251{
1252 DWORD cbSize;
1253 DWORD dwEndSession;
1254};
1255
1256struct BA_ONSYSTEMSHUTDOWN_RESULTS
1257{
1258 DWORD cbSize;
1259 BOOL fCancel;
1260};
1261
1262struct BA_ONUNREGISTERBEGIN_ARGS
1263{
1264 DWORD cbSize;
1265 BOOL fKeepRegistration;
1266};
1267
1268struct BA_ONUNREGISTERBEGIN_RESULTS
1269{
1270 DWORD cbSize;
1271 BOOL fForceKeepRegistration;
1272};
1273
1274struct BA_ONUNREGISTERCOMPLETE_ARGS
1275{
1276 DWORD cbSize;
1277 HRESULT hrStatus;
1278};
1279
1280struct BA_ONUNREGISTERCOMPLETE_RESULTS
1281{
1282 DWORD cbSize;
1283};
1284
1285
1286
1287extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_PROC)(
1288 __in BOOTSTRAPPER_APPLICATION_MESSAGE message,
1289 __in const LPVOID pvArgs,
1290 __inout LPVOID pvResults,
1291 __in_opt LPVOID pvContext
1292 );
1293
1294extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)();
1295
1296
1297
1298struct BOOTSTRAPPER_CREATE_ARGS
1299{
1300 DWORD cbSize;
1301 DWORD64 qwEngineAPIVersion;
1302 PFN_BOOTSTRAPPER_ENGINE_PROC pfnBootstrapperEngineProc;
1303 LPVOID pvBootstrapperEngineProcContext;
1304 BOOTSTRAPPER_COMMAND* pCommand;
1305};
1306
1307struct BOOTSTRAPPER_CREATE_RESULTS
1308{
1309 DWORD cbSize;
1310 PFN_BOOTSTRAPPER_APPLICATION_PROC pfnBootstrapperApplicationProc;
1311 LPVOID pvBootstrapperApplicationProcContext;
1312 BOOL fDisableUnloading; // indicates the BA dll must not be unloaded after BootstrapperApplicationDestroy.
1313};
1314
1315extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)(
1316 __in const BOOTSTRAPPER_CREATE_ARGS* pArgs,
1317 __inout BOOTSTRAPPER_CREATE_RESULTS* pResults
1318 );
diff --git a/src/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h b/src/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h
deleted file mode 100644
index 9c9b38a5..00000000
--- a/src/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h
+++ /dev/null
@@ -1,442 +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#if defined(__cplusplus)
6extern "C" {
7#endif
8
9#define IDERROR -1
10#define IDNOACTION 0
11
12#ifndef FACILITY_WIX
13#define FACILITY_WIX 500
14#endif
15
16static const HRESULT E_SUSPECTED_AV_INTERFERENCE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIX, 2000);
17
18// Note that ordering of the enumeration values is important.
19// Some code paths use < or > comparisions and simply reording values will break those comparisons.
20enum BOOTSTRAPPER_ACTION
21{
22 BOOTSTRAPPER_ACTION_UNKNOWN,
23 BOOTSTRAPPER_ACTION_HELP,
24 BOOTSTRAPPER_ACTION_LAYOUT,
25 BOOTSTRAPPER_ACTION_UNINSTALL,
26 BOOTSTRAPPER_ACTION_CACHE,
27 BOOTSTRAPPER_ACTION_INSTALL,
28 BOOTSTRAPPER_ACTION_MODIFY,
29 BOOTSTRAPPER_ACTION_REPAIR,
30 BOOTSTRAPPER_ACTION_UPDATE_REPLACE,
31 BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED,
32};
33
34enum BOOTSTRAPPER_ACTION_STATE
35{
36 BOOTSTRAPPER_ACTION_STATE_NONE,
37 BOOTSTRAPPER_ACTION_STATE_UNINSTALL,
38 BOOTSTRAPPER_ACTION_STATE_INSTALL,
39 BOOTSTRAPPER_ACTION_STATE_MODIFY,
40 BOOTSTRAPPER_ACTION_STATE_MEND,
41 BOOTSTRAPPER_ACTION_STATE_REPAIR,
42 BOOTSTRAPPER_ACTION_STATE_MINOR_UPGRADE,
43};
44
45enum BOOTSTRAPPER_PACKAGE_STATE
46{
47 BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN,
48 BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE,
49 BOOTSTRAPPER_PACKAGE_STATE_ABSENT,
50 BOOTSTRAPPER_PACKAGE_STATE_PRESENT,
51 BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED,
52};
53
54enum BOOTSTRAPPER_REQUEST_STATE
55{
56 BOOTSTRAPPER_REQUEST_STATE_NONE,
57 BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT,
58 BOOTSTRAPPER_REQUEST_STATE_ABSENT,
59 BOOTSTRAPPER_REQUEST_STATE_CACHE,
60 BOOTSTRAPPER_REQUEST_STATE_PRESENT,
61 BOOTSTRAPPER_REQUEST_STATE_MEND,
62 BOOTSTRAPPER_REQUEST_STATE_REPAIR,
63};
64
65enum BOOTSTRAPPER_FEATURE_STATE
66{
67 BOOTSTRAPPER_FEATURE_STATE_UNKNOWN,
68 BOOTSTRAPPER_FEATURE_STATE_ABSENT,
69 BOOTSTRAPPER_FEATURE_STATE_ADVERTISED,
70 BOOTSTRAPPER_FEATURE_STATE_LOCAL,
71 BOOTSTRAPPER_FEATURE_STATE_SOURCE,
72};
73
74enum BOOTSTRAPPER_LOG_LEVEL
75{
76 BOOTSTRAPPER_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
77 BOOTSTRAPPER_LOG_LEVEL_STANDARD, // written if reporting is on
78 BOOTSTRAPPER_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
79 BOOTSTRAPPER_LOG_LEVEL_DEBUG, // reporting useful when debugging code
80 BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
81};
82
83enum BOOTSTRAPPER_UPDATE_HASH_TYPE
84{
85 BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE,
86 BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA512,
87};
88
89enum BOOTSTRAPPER_ENGINE_MESSAGE
90{
91 BOOTSTRAPPER_ENGINE_MESSAGE_GETPACKAGECOUNT,
92 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLENUMERIC,
93 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLESTRING,
94 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLEVERSION,
95 BOOTSTRAPPER_ENGINE_MESSAGE_FORMATSTRING,
96 BOOTSTRAPPER_ENGINE_MESSAGE_ESCAPESTRING,
97 BOOTSTRAPPER_ENGINE_MESSAGE_EVALUATECONDITION,
98 BOOTSTRAPPER_ENGINE_MESSAGE_LOG,
99 BOOTSTRAPPER_ENGINE_MESSAGE_SENDEMBEDDEDERROR,
100 BOOTSTRAPPER_ENGINE_MESSAGE_SENDEMBEDDEDPROGRESS,
101 BOOTSTRAPPER_ENGINE_MESSAGE_SETUPDATE,
102 BOOTSTRAPPER_ENGINE_MESSAGE_SETLOCALSOURCE,
103 BOOTSTRAPPER_ENGINE_MESSAGE_SETDOWNLOADSOURCE,
104 BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLENUMERIC,
105 BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLESTRING,
106 BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLEVERSION,
107 BOOTSTRAPPER_ENGINE_MESSAGE_CLOSESPLASHSCREEN,
108 BOOTSTRAPPER_ENGINE_MESSAGE_DETECT,
109 BOOTSTRAPPER_ENGINE_MESSAGE_PLAN,
110 BOOTSTRAPPER_ENGINE_MESSAGE_ELEVATE,
111 BOOTSTRAPPER_ENGINE_MESSAGE_APPLY,
112 BOOTSTRAPPER_ENGINE_MESSAGE_QUIT,
113 BOOTSTRAPPER_ENGINE_MESSAGE_LAUNCHAPPROVEDEXE,
114 BOOTSTRAPPER_ENGINE_MESSAGE_SETUPDATESOURCE,
115 BOOTSTRAPPER_ENGINE_MESSAGE_COMPAREVERSIONS,
116};
117
118typedef struct _BAENGINE_APPLY_ARGS
119{
120 DWORD cbSize;
121 HWND hwndParent;
122} BAENGINE_APPLY_ARGS;
123
124typedef struct _BAENGINE_APPLY_RESULTS
125{
126 DWORD cbSize;
127} BAENGINE_APPLY_RESULTS;
128
129typedef struct _BAENGINE_CLOSESPLASHSCREEN_ARGS
130{
131 DWORD cbSize;
132} BAENGINE_CLOSESPLASHSCREEN_ARGS;
133
134typedef struct _BAENGINE_CLOSESPLASHSCREEN_RESULTS
135{
136 DWORD cbSize;
137} BAENGINE_CLOSESPLASHSCREEN_RESULTS;
138
139typedef struct _BAENGINE_COMPAREVERSIONS_ARGS
140{
141 DWORD cbSize;
142 LPCWSTR wzVersion1;
143 LPCWSTR wzVersion2;
144} BAENGINE_COMPAREVERSIONS_ARGS;
145
146typedef struct _BAENGINE_COMPAREVERSIONS_RESULTS
147{
148 DWORD cbSize;
149 int nResult;
150} BAENGINE_COMPAREVERSIONS_RESULTS;
151
152typedef struct _BAENGINE_DETECT_ARGS
153{
154 DWORD cbSize;
155 HWND hwndParent;
156} BAENGINE_DETECT_ARGS;
157
158typedef struct _BAENGINE_DETECT_RESULTS
159{
160 DWORD cbSize;
161} BAENGINE_DETECT_RESULTS;
162
163typedef struct _BAENGINE_ELEVATE_ARGS
164{
165 DWORD cbSize;
166 HWND hwndParent;
167} BAENGINE_ELEVATE_ARGS;
168
169typedef struct _BAENGINE_ELEVATE_RESULTS
170{
171 DWORD cbSize;
172} BAENGINE_ELEVATE_RESULTS;
173
174typedef struct _BAENGINE_ESCAPESTRING_ARGS
175{
176 DWORD cbSize;
177 LPCWSTR wzIn;
178} BAENGINE_ESCAPESTRING_ARGS;
179
180typedef struct _BAENGINE_ESCAPESTRING_RESULTS
181{
182 DWORD cbSize;
183 LPWSTR wzOut;
184 // Should be initialized to the size of wzOut.
185 SIZE_T cchOut;
186} BAENGINE_ESCAPESTRING_RESULTS;
187
188typedef struct _BAENGINE_EVALUATECONDITION_ARGS
189{
190 DWORD cbSize;
191 LPCWSTR wzCondition;
192} BAENGINE_EVALUATECONDITION_ARGS;
193
194typedef struct _BAENGINE_EVALUATECONDITION_RESULTS
195{
196 DWORD cbSize;
197 BOOL f;
198} BAENGINE_EVALUATECONDITION_RESULTS;
199
200typedef struct _BAENGINE_FORMATSTRING_ARGS
201{
202 DWORD cbSize;
203 LPCWSTR wzIn;
204} BAENGINE_FORMATSTRING_ARGS;
205
206typedef struct _BAENGINE_FORMATSTRING_RESULTS
207{
208 DWORD cbSize;
209 LPWSTR wzOut;
210 // Should be initialized to the size of wzOut.
211 SIZE_T cchOut;
212} BAENGINE_FORMATSTRING_RESULTS;
213
214typedef struct _BAENGINE_GETPACKAGECOUNT_ARGS
215{
216 DWORD cbSize;
217} BAENGINE_GETPACKAGECOUNT_ARGS;
218
219typedef struct _BAENGINE_GETPACKAGECOUNT_RESULTS
220{
221 DWORD cbSize;
222 DWORD cPackages;
223} BAENGINE_GETPACKAGECOUNT_RESULTS;
224
225typedef struct _BAENGINE_GETVARIABLENUMERIC_ARGS
226{
227 DWORD cbSize;
228 LPCWSTR wzVariable;
229} BAENGINE_GETVARIABLENUMERIC_ARGS;
230
231typedef struct _BAENGINE_GETVARIABLENUMERIC_RESULTS
232{
233 DWORD cbSize;
234 LONGLONG llValue;
235} BAENGINE_GETVARIABLENUMERIC_RESULTS;
236
237typedef struct _BAENGINE_GETVARIABLESTRING_ARGS
238{
239 DWORD cbSize;
240 LPCWSTR wzVariable;
241} BAENGINE_GETVARIABLESTRING_ARGS;
242
243typedef struct _BAENGINE_GETVARIABLESTRING_RESULTS
244{
245 DWORD cbSize;
246 LPWSTR wzValue;
247 // Should be initialized to the size of wzValue.
248 SIZE_T cchValue;
249} BAENGINE_GETVARIABLESTRING_RESULTS;
250
251typedef struct _BAENGINE_GETVARIABLEVERSION_ARGS
252{
253 DWORD cbSize;
254 LPCWSTR wzVariable;
255} BAENGINE_GETVARIABLEVERSION_ARGS;
256
257typedef struct _BAENGINE_GETVARIABLEVERSION_RESULTS
258{
259 DWORD cbSize;
260 LPWSTR wzValue;
261 // Should be initialized to the size of wzValue.
262 SIZE_T cchValue;
263} BAENGINE_GETVARIABLEVERSION_RESULTS;
264
265typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_ARGS
266{
267 DWORD cbSize;
268 HWND hwndParent;
269 LPCWSTR wzApprovedExeForElevationId;
270 LPCWSTR wzArguments;
271 DWORD dwWaitForInputIdleTimeout;
272} BAENGINE_LAUNCHAPPROVEDEXE_ARGS;
273
274typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_RESULTS
275{
276 DWORD cbSize;
277} BAENGINE_LAUNCHAPPROVEDEXE_RESULTS;
278
279typedef struct _BAENGINE_SETUPDATESOURCE_ARGS
280{
281 DWORD cbSize;
282 LPCWSTR wzUrl;
283} BAENGINE_SETUPDATESOURCE_ARGS;
284
285typedef struct _BAENGINE_SETUPDATESOURCE_RESULTS
286{
287 DWORD cbSize;
288} BAENGINE_SETUPDATESOURCE_RESULTS;
289
290typedef struct _BAENGINE_LOG_ARGS
291{
292 DWORD cbSize;
293 BOOTSTRAPPER_LOG_LEVEL level;
294 LPCWSTR wzMessage;
295} BAENGINE_LOG_ARGS;
296
297typedef struct _BAENGINE_LOG_RESULTS
298{
299 DWORD cbSize;
300} BAENGINE_LOG_RESULTS;
301
302typedef struct _BAENGINE_PLAN_ARGS
303{
304 DWORD cbSize;
305 BOOTSTRAPPER_ACTION action;
306} BAENGINE_PLAN_ARGS;
307
308typedef struct _BAENGINE_PLAN_RESULTS
309{
310 DWORD cbSize;
311} BAENGINE_PLAN_RESULTS;
312
313typedef struct _BAENGINE_QUIT_ARGS
314{
315 DWORD cbSize;
316 DWORD dwExitCode;
317} BAENGINE_QUIT_ARGS;
318
319typedef struct _BAENGINE_QUIT_RESULTS
320{
321 DWORD cbSize;
322} BAENGINE_QUIT_RESULTS;
323
324typedef struct _BAENGINE_SENDEMBEDDEDERROR_ARGS
325{
326 DWORD cbSize;
327 DWORD dwErrorCode;
328 LPCWSTR wzMessage;
329 DWORD dwUIHint;
330} BAENGINE_SENDEMBEDDEDERROR_ARGS;
331
332typedef struct _BAENGINE_SENDEMBEDDEDERROR_RESULTS
333{
334 DWORD cbSize;
335 int nResult;
336} BAENGINE_SENDEMBEDDEDERROR_RESULTS;
337
338typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_ARGS
339{
340 DWORD cbSize;
341 DWORD dwProgressPercentage;
342 DWORD dwOverallProgressPercentage;
343} BAENGINE_SENDEMBEDDEDPROGRESS_ARGS;
344
345typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS
346{
347 DWORD cbSize;
348 int nResult;
349} BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS;
350
351typedef struct _BAENGINE_SETDOWNLOADSOURCE_ARGS
352{
353 DWORD cbSize;
354 LPCWSTR wzPackageOrContainerId;
355 LPCWSTR wzPayloadId;
356 LPCWSTR wzUrl;
357 LPCWSTR wzUser;
358 LPCWSTR wzPassword;
359} BAENGINE_SETDOWNLOADSOURCE_ARGS;
360
361typedef struct _BAENGINE_SETDOWNLOADSOURCE_RESULTS
362{
363 DWORD cbSize;
364} BAENGINE_SETDOWNLOADSOURCE_RESULTS;
365
366typedef struct _BAENGINE_SETLOCALSOURCE_ARGS
367{
368 DWORD cbSize;
369 LPCWSTR wzPackageOrContainerId;
370 LPCWSTR wzPayloadId;
371 LPCWSTR wzPath;
372} BAENGINE_SETLOCALSOURCE_ARGS;
373
374typedef struct _BAENGINE_SETLOCALSOURCE_RESULTS
375{
376 DWORD cbSize;
377} BAENGINE_SETLOCALSOURCE_RESULTS;
378
379typedef struct _BAENGINE_SETUPDATE_ARGS
380{
381 DWORD cbSize;
382 LPCWSTR wzLocalSource;
383 LPCWSTR wzDownloadSource;
384 DWORD64 qwSize;
385 BOOTSTRAPPER_UPDATE_HASH_TYPE hashType;
386 BYTE* rgbHash;
387 DWORD cbHash;
388} BAENGINE_SETUPDATE_ARGS;
389
390typedef struct _BAENGINE_SETUPDATE_RESULTS
391{
392 DWORD cbSize;
393} BAENGINE_SETUPDATE_RESULTS;
394
395typedef struct _BAENGINE_SETVARIABLENUMERIC_ARGS
396{
397 DWORD cbSize;
398 LPCWSTR wzVariable;
399 LONGLONG llValue;
400} BAENGINE_SETVARIABLENUMERIC_ARGS;
401
402typedef struct _BAENGINE_SETVARIABLENUMERIC_RESULTS
403{
404 DWORD cbSize;
405} BAENGINE_SETVARIABLENUMERIC_RESULTS;
406
407typedef struct _BAENGINE_SETVARIABLESTRING_ARGS
408{
409 DWORD cbSize;
410 LPCWSTR wzVariable;
411 LPCWSTR wzValue;
412 BOOL fFormatted;
413} BAENGINE_SETVARIABLESTRING_ARGS;
414
415typedef struct _BAENGINE_SETVARIABLESTRING_RESULTS
416{
417 DWORD cbSize;
418} BAENGINE_SETVARIABLESTRING_RESULTS;
419
420typedef struct _BAENGINE_SETVARIABLEVERSION_ARGS
421{
422 DWORD cbSize;
423 LPCWSTR wzVariable;
424 LPCWSTR wzValue;
425} BAENGINE_SETVARIABLEVERSION_ARGS;
426
427typedef struct _BAENGINE_SETVARIABLEVERSION_RESULTS
428{
429 DWORD cbSize;
430} BAENGINE_SETVARIABLEVERSION_RESULTS;
431
432
433extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_ENGINE_PROC)(
434 __in BOOTSTRAPPER_ENGINE_MESSAGE message,
435 __in const LPVOID pvArgs,
436 __inout LPVOID pvResults,
437 __in_opt LPVOID pvContext
438 );
439
440#if defined(__cplusplus)
441}
442#endif
diff --git a/src/WixToolset.BootstrapperCore.Native/inc/BundleExtension.h b/src/WixToolset.BootstrapperCore.Native/inc/BundleExtension.h
deleted file mode 100644
index be76a1a5..00000000
--- a/src/WixToolset.BootstrapperCore.Native/inc/BundleExtension.h
+++ /dev/null
@@ -1,60 +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#if defined(__cplusplus)
6extern "C" {
7#endif
8
9enum BUNDLE_EXTENSION_MESSAGE
10{
11 BUNDLE_EXTENSION_MESSAGE_SEARCH,
12};
13
14typedef struct _BUNDLE_EXTENSION_SEARCH_ARGS
15{
16 DWORD cbSize;
17 LPCWSTR wzId;
18 LPCWSTR wzVariable;
19} BUNDLE_EXTENSION_SEARCH_ARGS;
20
21typedef struct _BUNDLE_EXTENSION_SEARCH_RESULTS
22{
23 DWORD cbSize;
24} BUNDLE_EXTENSION_SEARCH_RESULTS;
25
26extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_PROC)(
27 __in BUNDLE_EXTENSION_MESSAGE message,
28 __in const LPVOID pvArgs,
29 __inout LPVOID pvResults,
30 __in_opt LPVOID pvContext
31 );
32
33typedef struct _BUNDLE_EXTENSION_CREATE_ARGS
34{
35 DWORD cbSize;
36 DWORD64 qwEngineAPIVersion;
37 PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc;
38 LPVOID pvBundleExtensionEngineProcContext;
39 LPCWSTR wzBootstrapperWorkingFolder;
40 LPCWSTR wzBundleExtensionDataPath;
41 LPCWSTR wzExtensionId;
42} BUNDLE_EXTENSION_CREATE_ARGS;
43
44typedef struct _BUNDLE_EXTENSION_CREATE_RESULTS
45{
46 DWORD cbSize;
47 PFN_BUNDLE_EXTENSION_PROC pfnBundleExtensionProc;
48 LPVOID pvBundleExtensionProcContext;
49} BUNDLE_EXTENSION_CREATE_RESULTS;
50
51extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_CREATE)(
52 __in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
53 __inout BUNDLE_EXTENSION_CREATE_RESULTS* pResults
54 );
55
56extern "C" typedef void (WINAPI *PFN_BUNDLE_EXTENSION_DESTROY)();
57
58#if defined(__cplusplus)
59}
60#endif
diff --git a/src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h b/src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h
deleted file mode 100644
index b397ec16..00000000
--- a/src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h
+++ /dev/null
@@ -1,184 +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#if defined(__cplusplus)
6extern "C" {
7#endif
8
9enum BUNDLE_EXTENSION_LOG_LEVEL
10{
11 BUNDLE_EXTENSION_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
12 BUNDLE_EXTENSION_LOG_LEVEL_STANDARD, // written if reporting is on
13 BUNDLE_EXTENSION_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
14 BUNDLE_EXTENSION_LOG_LEVEL_DEBUG, // reporting useful when debugging code
15 BUNDLE_EXTENSION_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
16};
17
18enum BUNDLE_EXTENSION_ENGINE_MESSAGE
19{
20 BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING,
21 BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION,
22 BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING,
23 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC,
24 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING,
25 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION,
26 BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG,
27 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC,
28 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING,
29 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION,
30 BUNDLE_EXTENSION_ENGINE_MESSAGE_COMPAREVERSIONS,
31};
32
33typedef struct _BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS
34{
35 DWORD cbSize;
36 LPCWSTR wzVersion1;
37 LPCWSTR wzVersion2;
38} BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_ARGS;
39
40typedef struct _BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS
41{
42 DWORD cbSize;
43 int nResult;
44} BUNDLE_EXTENSION_ENGINE_COMPAREVERSIONS_RESULTS;
45
46typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS
47{
48 DWORD cbSize;
49 LPCWSTR wzIn;
50} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS;
51
52typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS
53{
54 DWORD cbSize;
55 LPWSTR wzOut;
56 // Should be initialized to the size of wzOut.
57 SIZE_T cchOut;
58} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS;
59
60typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS
61{
62 DWORD cbSize;
63 LPCWSTR wzCondition;
64} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS;
65
66typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS
67{
68 DWORD cbSize;
69 BOOL f;
70} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS;
71
72typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS
73{
74 DWORD cbSize;
75 LPCWSTR wzIn;
76} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS;
77
78typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS
79{
80 DWORD cbSize;
81 LPWSTR wzOut;
82 // Should be initialized to the size of wzOut.
83 SIZE_T cchOut;
84} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS;
85
86typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS
87{
88 DWORD cbSize;
89 LPCWSTR wzVariable;
90} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS;
91
92typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS
93{
94 DWORD cbSize;
95 LONGLONG llValue;
96} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS;
97
98typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS
99{
100 DWORD cbSize;
101 LPCWSTR wzVariable;
102} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS;
103
104typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS
105{
106 DWORD cbSize;
107 LPWSTR wzValue;
108 // Should be initialized to the size of wzValue.
109 SIZE_T cchValue;
110} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS;
111
112typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS
113{
114 DWORD cbSize;
115 LPCWSTR wzVariable;
116} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS;
117
118typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS
119{
120 DWORD cbSize;
121 LPWSTR wzValue;
122 // Should be initialized to the size of wzValue.
123 SIZE_T cchValue;
124} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS;
125
126typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_ARGS
127{
128 DWORD cbSize;
129 BUNDLE_EXTENSION_LOG_LEVEL level;
130 LPCWSTR wzMessage;
131} BUNDLE_EXTENSION_ENGINE_LOG_ARGS;
132
133typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_RESULTS
134{
135 DWORD cbSize;
136} BUNDLE_EXTENSION_ENGINE_LOG_RESULTS;
137
138typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS
139{
140 DWORD cbSize;
141 LPCWSTR wzVariable;
142 LONGLONG llValue;
143} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS;
144
145typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS
146{
147 DWORD cbSize;
148} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS;
149
150typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS
151{
152 DWORD cbSize;
153 LPCWSTR wzVariable;
154 LPCWSTR wzValue;
155 BOOL fFormatted;
156} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS;
157
158typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS
159{
160 DWORD cbSize;
161} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS;
162
163typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS
164{
165 DWORD cbSize;
166 LPCWSTR wzVariable;
167 LPCWSTR wzValue;
168} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS;
169
170typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS
171{
172 DWORD cbSize;
173} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS;
174
175extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_ENGINE_PROC)(
176 __in BUNDLE_EXTENSION_ENGINE_MESSAGE message,
177 __in const LPVOID pvArgs,
178 __inout LPVOID pvResults,
179 __in_opt LPVOID pvContext
180 );
181
182#if defined(__cplusplus)
183}
184#endif
diff --git a/src/engine/engine.vcxproj b/src/engine/engine.vcxproj
index 9e90ee19..b3a0f81b 100644
--- a/src/engine/engine.vcxproj
+++ b/src/engine/engine.vcxproj
@@ -1,7 +1,10 @@
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<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 <Import Project="..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props')" /> 5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props')" />
6 <Import Project="..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props')" />
7
5 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 9 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 10 <Configuration>Debug</Configuration>
@@ -28,6 +31,7 @@
28 <Platform>ARM64</Platform> 31 <Platform>ARM64</Platform>
29 </ProjectConfiguration> 32 </ProjectConfiguration>
30 </ItemGroup> 33 </ItemGroup>
34
31 <PropertyGroup Label="Globals"> 35 <PropertyGroup Label="Globals">
32 <ProjectGuid>{8119537D-E1D9-6591-D51A-49768A2F9C37}</ProjectGuid> 36 <ProjectGuid>{8119537D-E1D9-6591-D51A-49768A2F9C37}</ProjectGuid>
33 <ConfigurationType>StaticLibrary</ConfigurationType> 37 <ConfigurationType>StaticLibrary</ConfigurationType>
@@ -36,12 +40,19 @@
36 <CharacterSet>Unicode</CharacterSet> 40 <CharacterSet>Unicode</CharacterSet>
37 <Description>Native component of WixToolset.Burn</Description> 41 <Description>Native component of WixToolset.Burn</Description>
38 </PropertyGroup> 42 </PropertyGroup>
43
39 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 44 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
40 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 45 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
46
47 <PropertyGroup>
48 <ProjectAdditionalIncludeDirectories Condition=" '$(DirectReference)'=='true' ">$(ProjectDir)..\..\..\balutil\src\WixToolset.BootstrapperCore.Native\inc;$(ProjectAdditionalIncludeDirectories)</ProjectAdditionalIncludeDirectories>
49 </PropertyGroup>
50
41 <ImportGroup Label="ExtensionSettings"> 51 <ImportGroup Label="ExtensionSettings">
42 </ImportGroup> 52 </ImportGroup>
43 <ImportGroup Label="Shared"> 53 <ImportGroup Label="Shared">
44 </ImportGroup> 54 </ImportGroup>
55
45 <ItemGroup> 56 <ItemGroup>
46 <ClCompile Include="apply.cpp" /> 57 <ClCompile Include="apply.cpp" />
47 <ClCompile Include="approvedexe.cpp" /> 58 <ClCompile Include="approvedexe.cpp" />
@@ -136,6 +147,7 @@
136 <ItemGroup> 147 <ItemGroup>
137 <None Include="packages.config" /> 148 <None Include="packages.config" />
138 </ItemGroup> 149 </ItemGroup>
150
139 <ItemGroup> 151 <ItemGroup>
140 <CustomBuild Include="engine.mc"> 152 <CustomBuild Include="engine.mc">
141 <Message>Compiling message file...</Message> 153 <Message>Compiling message file...</Message>
@@ -144,6 +156,7 @@ rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc"</Command>
144 <Outputs>$(IntDir)engine.messages.h;$(IntDir)engine.messages.rc;$(OutDir)engine.res</Outputs> 156 <Outputs>$(IntDir)engine.messages.h;$(IntDir)engine.messages.rc;$(OutDir)engine.res</Outputs>
145 </CustomBuild> 157 </CustomBuild>
146 </ItemGroup> 158 </ItemGroup>
159
147 <Target Name="SetWixVersion" DependsOnTargets="GetBuildVersion" BeforeTargets="ClCompile"> 160 <Target Name="SetWixVersion" DependsOnTargets="GetBuildVersion" BeforeTargets="ClCompile">
148 <PropertyGroup> 161 <PropertyGroup>
149 <rmj>$(MajorMinorVersion.Split(`.`)[0])</rmj> 162 <rmj>$(MajorMinorVersion.Split(`.`)[0])</rmj>
@@ -153,6 +166,7 @@ rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc"</Command>
153 <szVerMajorMinorBuild>$(rmj).$(rmm).$(rup).$(rpr)</szVerMajorMinorBuild> 166 <szVerMajorMinorBuild>$(rmj).$(rmm).$(rup).$(rpr)</szVerMajorMinorBuild>
154 <wixver>rmj=$(rmj);rmm=$(rmm);rup=$(rup);rpr=$(rpr);szVerMajorMinorBuild="$(szVerMajorMinorBuild)"</wixver> 167 <wixver>rmj=$(rmj);rmm=$(rmm);rup=$(rup);rpr=$(rpr);szVerMajorMinorBuild="$(szVerMajorMinorBuild)"</wixver>
155 </PropertyGroup> 168 </PropertyGroup>
169
156 <ItemGroup> 170 <ItemGroup>
157 <ClCompile> 171 <ClCompile>
158 <PreprocessorDefinitions>$(wixver);%(PreprocessorDefinitions)</PreprocessorDefinitions> 172 <PreprocessorDefinitions>$(wixver);%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -166,6 +180,7 @@ rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc"</Command>
166 <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> 180 <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>
167 </PropertyGroup> 181 </PropertyGroup>
168 <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'))" /> 182 <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'))" />
169 <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'))" /> 183 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props'))" />
184 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props'))" />
170 </Target> 185 </Target>
171</Project> \ No newline at end of file 186</Project>
diff --git a/src/engine/precomp.h b/src/engine/precomp.h
index 4ab636fc..11b594da 100644
--- a/src/engine/precomp.h
+++ b/src/engine/precomp.h
@@ -55,10 +55,10 @@
55#include <apuputil.h> 55#include <apuputil.h>
56#include <dpiutil.h> 56#include <dpiutil.h>
57 57
58#include "..\WixToolset.BootstrapperCore.Native\inc\BootstrapperEngine.h" 58#include "BootstrapperEngine.h"
59#include "..\WixToolset.BootstrapperCore.Native\inc\BootstrapperApplication.h" 59#include "BootstrapperApplication.h"
60#include "..\WixToolset.BootstrapperCore.Native\inc\BundleExtensionEngine.h" 60#include "BundleExtensionEngine.h"
61#include "..\WixToolset.BootstrapperCore.Native\inc\BundleExtension.h" 61#include "BundleExtension.h"
62 62
63#include "platform.h" 63#include "platform.h"
64#include "variant.h" 64#include "variant.h"
diff --git a/src/stub/WixToolset.Burn.nuspec b/src/stub/WixToolset.Burn.nuspec
deleted file mode 100644
index f314a8a4..00000000
--- a/src/stub/WixToolset.Burn.nuspec
+++ /dev/null
@@ -1,24 +0,0 @@
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 <projectUrl>https://github.com/wixtoolset/burn</projectUrl>
10 <requireLicenseAcceptance>false</requireLicenseAcceptance>
11 <description>$description$</description>
12 <copyright>$copyright$</copyright>
13 </metadata>
14
15 <files>
16 <file src="$projectFolder$$id$.props" target="buildTransitive" />
17 <file src="Win32\burn.exe" target="tools\x86" />
18 <file src="Win32\burn.pdb" target="tools\x86" />
19 <file src="x64\burn.exe" target="tools\x64" />
20 <file src="x64\burn.pdb" target="tools\x64" />
21 <file src="arm64\burn.exe" target="tools\arm64" />
22 <file src="arm64\burn.pdb" target="tools\arm64" />
23 </files>
24</package>
diff --git a/src/test/BurnUnitTest/BurnUnitTest.vcxproj b/src/test/BurnUnitTest/BurnUnitTest.vcxproj
index 99db505d..33c8ed6c 100644
--- a/src/test/BurnUnitTest/BurnUnitTest.vcxproj
+++ b/src/test/BurnUnitTest/BurnUnitTest.vcxproj
@@ -1,10 +1,10 @@
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<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props')" /> 5 <Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props')" />
7 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.50\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.50\build\WixBuildTools.TestSupport.Native.props')" /> 6 <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props')" />
7 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" />
8 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
9 <ProjectConfiguration Include="Debug|ARM64"> 9 <ProjectConfiguration Include="Debug|ARM64">
10 <Configuration>Debug</Configuration> 10 <Configuration>Debug</Configuration>
@@ -23,6 +23,7 @@
23 <Platform>Win32</Platform> 23 <Platform>Win32</Platform>
24 </ProjectConfiguration> 24 </ProjectConfiguration>
25 </ItemGroup> 25 </ItemGroup>
26
26 <PropertyGroup Label="Globals"> 27 <PropertyGroup Label="Globals">
27 <ProjectTypes>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes> 28 <ProjectTypes>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes>
28 <ProjectGuid>{9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}</ProjectGuid> 29 <ProjectGuid>{9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}</ProjectGuid>
@@ -31,13 +32,18 @@
31 <ConfigurationType>DynamicLibrary</ConfigurationType> 32 <ConfigurationType>DynamicLibrary</ConfigurationType>
32 <CharacterSet>Unicode</CharacterSet> 33 <CharacterSet>Unicode</CharacterSet>
33 <CLRSupport>true</CLRSupport> 34 <CLRSupport>true</CLRSupport>
35 <SignOutput>false</SignOutput>
34 </PropertyGroup> 36 </PropertyGroup>
37
35 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 38 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
36 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 39 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
40
37 <PropertyGroup> 41 <PropertyGroup>
38 <ProjectAdditionalIncludeDirectories>..\..\engine;..\..\WixToolset.BootstrapperCore.Native\inc</ProjectAdditionalIncludeDirectories> 42 <ProjectAdditionalIncludeDirectories Condition=" '$(DirectReference)'=='true' ">$(ProjectDir)..\..\..\..\balutil\src\WixToolset.BootstrapperCore.Native\inc</ProjectAdditionalIncludeDirectories>
43 <ProjectAdditionalIncludeDirectories>$(ProjectAdditionalIncludeDirectories);..\..\engine</ProjectAdditionalIncludeDirectories>
39 <ProjectAdditionalLinkLibraries>cabinet.lib;crypt32.lib;msi.lib;rpcrt4.lib;shlwapi.lib;wininet.lib</ProjectAdditionalLinkLibraries> 44 <ProjectAdditionalLinkLibraries>cabinet.lib;crypt32.lib;msi.lib;rpcrt4.lib;shlwapi.lib;wininet.lib</ProjectAdditionalLinkLibraries>
40 </PropertyGroup> 45 </PropertyGroup>
46
41 <ItemGroup> 47 <ItemGroup>
42 <ClCompile Include="AssemblyInfo.cpp" /> 48 <ClCompile Include="AssemblyInfo.cpp" />
43 <ClCompile Include="CacheTest.cpp" /> 49 <ClCompile Include="CacheTest.cpp" />
@@ -86,7 +92,7 @@
86 </ItemGroup> 92 </ItemGroup>
87 <ItemGroup> 93 <ItemGroup>
88 <ProjectReference Include="..\..\engine\engine.vcxproj"> 94 <ProjectReference Include="..\..\engine\engine.vcxproj">
89 <Project>{8119537D-E1D9-6591-D51A-49768A2F9C37}</Project> 95 <Project>{8119537D-E1D9-6591-D51A-49770A2F9C37}</Project>
90 </ProjectReference> 96 </ProjectReference>
91 </ItemGroup> 97 </ItemGroup>
92 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 98 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
@@ -95,8 +101,9 @@
95 <PropertyGroup> 101 <PropertyGroup>
96 <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> 102 <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>
97 </PropertyGroup> 103 </PropertyGroup>
98 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.50\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.50\build\WixBuildTools.TestSupport.Native.props'))" /> 104 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props'))" />
99 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.50\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.50\build\WixBuildTools.TestSupport.Native.targets'))" /> 105 <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.targets'))" />
100 <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'))" /> 106 <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.70\build\WixToolset.DUtil.props'))" />
107 <Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.57\build\WixToolset.BootstrapperCore.Native.props'))" />
101 </Target> 108 </Target>
102</Project> \ No newline at end of file 109</Project>
diff --git a/src/test/BurnUnitTest/packages.config b/src/test/BurnUnitTest/packages.config
index 1eb30932..1d36c387 100644
--- a/src/test/BurnUnitTest/packages.config
+++ b/src/test/BurnUnitTest/packages.config
@@ -1,9 +1,10 @@
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<packages> 3<packages>
4 <package id="WixBuildTools.TestSupport" version="4.0.50" /> 4 <package id="WixBuildTools.TestSupport" version="4.0.47" />
5 <package id="WixBuildTools.TestSupport.Native" version="4.0.50" /> 5 <package id="WixBuildTools.TestSupport.Native" version="4.0.47" />
6 <package id="WixToolset.DUtil" version="4.0.72" targetFramework="native" /> 6 <package id="WixToolset.DUtil" version="4.0.70" targetFramework="native" />
7 <package id="WixToolset.BootstrapperCore.Native" version="4.0.57" targetFramework="native" />
7 <package id="xunit.abstractions" version="2.0.3" /> 8 <package id="xunit.abstractions" version="2.0.3" />
8 <package id="xunit.assert" version="2.4.1" /> 9 <package id="xunit.assert" version="2.4.1" />
9 <package id="xunit.core" version="2.4.1" /> 10 <package id="xunit.core" version="2.4.1" />