aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2024-01-11 18:26:20 -0800
committerRob Mensching <rob@firegiant.com>2024-03-06 18:03:38 -0800
commit0d3d54992104288e9ee0c834d0b96e8502fd2d42 (patch)
tree9efa49c4983cd2ba1becab64bd1f2faccac88acf /src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h
parent2824298d9dd817a47527c920363556b54ead5d5d (diff)
downloadwix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.gz
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.bz2
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.zip
Move the BootstrapperApplication out of proc
Diffstat (limited to 'src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h')
-rw-r--r--src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h454
1 files changed, 0 insertions, 454 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h
deleted file mode 100644
index 96302bd1..00000000
--- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h
+++ /dev/null
@@ -1,454 +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
18enum BOOTSTRAPPER_ACTION
19{
20 BOOTSTRAPPER_ACTION_UNKNOWN,
21 BOOTSTRAPPER_ACTION_HELP,
22 BOOTSTRAPPER_ACTION_LAYOUT,
23 BOOTSTRAPPER_ACTION_UNSAFE_UNINSTALL,
24 BOOTSTRAPPER_ACTION_UNINSTALL,
25 BOOTSTRAPPER_ACTION_CACHE,
26 BOOTSTRAPPER_ACTION_INSTALL,
27 BOOTSTRAPPER_ACTION_MODIFY,
28 BOOTSTRAPPER_ACTION_REPAIR,
29 BOOTSTRAPPER_ACTION_UPDATE_REPLACE,
30 BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED,
31};
32
33enum BOOTSTRAPPER_ACTION_STATE
34{
35 BOOTSTRAPPER_ACTION_STATE_NONE,
36 BOOTSTRAPPER_ACTION_STATE_UNINSTALL,
37 BOOTSTRAPPER_ACTION_STATE_INSTALL,
38 BOOTSTRAPPER_ACTION_STATE_MODIFY,
39 BOOTSTRAPPER_ACTION_STATE_REPAIR,
40 BOOTSTRAPPER_ACTION_STATE_MINOR_UPGRADE,
41};
42
43enum BOOTSTRAPPER_PACKAGE_STATE
44{
45 BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN,
46 BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE,
47 BOOTSTRAPPER_PACKAGE_STATE_ABSENT,
48 BOOTSTRAPPER_PACKAGE_STATE_PRESENT,
49 BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED,
50};
51
52enum BOOTSTRAPPER_REQUEST_STATE
53{
54 BOOTSTRAPPER_REQUEST_STATE_NONE,
55 BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT,
56 BOOTSTRAPPER_REQUEST_STATE_ABSENT,
57 BOOTSTRAPPER_REQUEST_STATE_CACHE,
58 BOOTSTRAPPER_REQUEST_STATE_PRESENT,
59 BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT,
60 BOOTSTRAPPER_REQUEST_STATE_REPAIR,
61};
62
63enum BOOTSTRAPPER_FEATURE_STATE
64{
65 BOOTSTRAPPER_FEATURE_STATE_UNKNOWN,
66 BOOTSTRAPPER_FEATURE_STATE_ABSENT,
67 BOOTSTRAPPER_FEATURE_STATE_ADVERTISED,
68 BOOTSTRAPPER_FEATURE_STATE_LOCAL,
69 BOOTSTRAPPER_FEATURE_STATE_SOURCE,
70};
71
72enum BOOTSTRAPPER_LOG_LEVEL
73{
74 BOOTSTRAPPER_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
75 BOOTSTRAPPER_LOG_LEVEL_STANDARD, // written if reporting is on
76 BOOTSTRAPPER_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
77 BOOTSTRAPPER_LOG_LEVEL_DEBUG, // reporting useful when debugging code
78 BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
79};
80
81enum BOOTSTRAPPER_UPDATE_HASH_TYPE
82{
83 BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE,
84 BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA512,
85};
86
87enum BOOTSTRAPPER_ENGINE_MESSAGE
88{
89 BOOTSTRAPPER_ENGINE_MESSAGE_GETPACKAGECOUNT,
90 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLENUMERIC,
91 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLESTRING,
92 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLEVERSION,
93 BOOTSTRAPPER_ENGINE_MESSAGE_FORMATSTRING,
94 BOOTSTRAPPER_ENGINE_MESSAGE_ESCAPESTRING,
95 BOOTSTRAPPER_ENGINE_MESSAGE_EVALUATECONDITION,
96 BOOTSTRAPPER_ENGINE_MESSAGE_LOG,
97 BOOTSTRAPPER_ENGINE_MESSAGE_SENDEMBEDDEDERROR,
98 BOOTSTRAPPER_ENGINE_MESSAGE_SENDEMBEDDEDPROGRESS,
99 BOOTSTRAPPER_ENGINE_MESSAGE_SETUPDATE,
100 BOOTSTRAPPER_ENGINE_MESSAGE_SETLOCALSOURCE,
101 BOOTSTRAPPER_ENGINE_MESSAGE_SETDOWNLOADSOURCE,
102 BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLENUMERIC,
103 BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLESTRING,
104 BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLEVERSION,
105 BOOTSTRAPPER_ENGINE_MESSAGE_CLOSESPLASHSCREEN,
106 BOOTSTRAPPER_ENGINE_MESSAGE_DETECT,
107 BOOTSTRAPPER_ENGINE_MESSAGE_PLAN,
108 BOOTSTRAPPER_ENGINE_MESSAGE_ELEVATE,
109 BOOTSTRAPPER_ENGINE_MESSAGE_APPLY,
110 BOOTSTRAPPER_ENGINE_MESSAGE_QUIT,
111 BOOTSTRAPPER_ENGINE_MESSAGE_LAUNCHAPPROVEDEXE,
112 BOOTSTRAPPER_ENGINE_MESSAGE_SETUPDATESOURCE,
113 BOOTSTRAPPER_ENGINE_MESSAGE_COMPAREVERSIONS,
114 BOOTSTRAPPER_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE,
115};
116
117typedef struct _BAENGINE_APPLY_ARGS
118{
119 DWORD cbSize;
120 HWND hwndParent;
121} BAENGINE_APPLY_ARGS;
122
123typedef struct _BAENGINE_APPLY_RESULTS
124{
125 DWORD cbSize;
126} BAENGINE_APPLY_RESULTS;
127
128typedef struct _BAENGINE_CLOSESPLASHSCREEN_ARGS
129{
130 DWORD cbSize;
131} BAENGINE_CLOSESPLASHSCREEN_ARGS;
132
133typedef struct _BAENGINE_CLOSESPLASHSCREEN_RESULTS
134{
135 DWORD cbSize;
136} BAENGINE_CLOSESPLASHSCREEN_RESULTS;
137
138typedef struct _BAENGINE_COMPAREVERSIONS_ARGS
139{
140 DWORD cbSize;
141 LPCWSTR wzVersion1;
142 LPCWSTR wzVersion2;
143} BAENGINE_COMPAREVERSIONS_ARGS;
144
145typedef struct _BAENGINE_COMPAREVERSIONS_RESULTS
146{
147 DWORD cbSize;
148 int nResult;
149} BAENGINE_COMPAREVERSIONS_RESULTS;
150
151typedef struct _BAENGINE_DETECT_ARGS
152{
153 DWORD cbSize;
154 HWND hwndParent;
155} BAENGINE_DETECT_ARGS;
156
157typedef struct _BAENGINE_DETECT_RESULTS
158{
159 DWORD cbSize;
160} BAENGINE_DETECT_RESULTS;
161
162typedef struct _BAENGINE_ELEVATE_ARGS
163{
164 DWORD cbSize;
165 HWND hwndParent;
166} BAENGINE_ELEVATE_ARGS;
167
168typedef struct _BAENGINE_ELEVATE_RESULTS
169{
170 DWORD cbSize;
171} BAENGINE_ELEVATE_RESULTS;
172
173typedef struct _BAENGINE_ESCAPESTRING_ARGS
174{
175 DWORD cbSize;
176 LPCWSTR wzIn;
177} BAENGINE_ESCAPESTRING_ARGS;
178
179typedef struct _BAENGINE_ESCAPESTRING_RESULTS
180{
181 DWORD cbSize;
182 LPWSTR wzOut;
183 // Should be initialized to the size of wzOut.
184 SIZE_T cchOut;
185} BAENGINE_ESCAPESTRING_RESULTS;
186
187typedef struct _BAENGINE_EVALUATECONDITION_ARGS
188{
189 DWORD cbSize;
190 LPCWSTR wzCondition;
191} BAENGINE_EVALUATECONDITION_ARGS;
192
193typedef struct _BAENGINE_EVALUATECONDITION_RESULTS
194{
195 DWORD cbSize;
196 BOOL f;
197} BAENGINE_EVALUATECONDITION_RESULTS;
198
199typedef struct _BAENGINE_FORMATSTRING_ARGS
200{
201 DWORD cbSize;
202 LPCWSTR wzIn;
203} BAENGINE_FORMATSTRING_ARGS;
204
205typedef struct _BAENGINE_FORMATSTRING_RESULTS
206{
207 DWORD cbSize;
208 LPWSTR wzOut;
209 // Should be initialized to the size of wzOut.
210 SIZE_T cchOut;
211} BAENGINE_FORMATSTRING_RESULTS;
212
213typedef struct _BAENGINE_GETPACKAGECOUNT_ARGS
214{
215 DWORD cbSize;
216} BAENGINE_GETPACKAGECOUNT_ARGS;
217
218typedef struct _BAENGINE_GETPACKAGECOUNT_RESULTS
219{
220 DWORD cbSize;
221 DWORD cPackages;
222} BAENGINE_GETPACKAGECOUNT_RESULTS;
223
224typedef struct _BAENGINE_GETVARIABLENUMERIC_ARGS
225{
226 DWORD cbSize;
227 LPCWSTR wzVariable;
228} BAENGINE_GETVARIABLENUMERIC_ARGS;
229
230typedef struct _BAENGINE_GETVARIABLENUMERIC_RESULTS
231{
232 DWORD cbSize;
233 LONGLONG llValue;
234} BAENGINE_GETVARIABLENUMERIC_RESULTS;
235
236typedef struct _BAENGINE_GETVARIABLESTRING_ARGS
237{
238 DWORD cbSize;
239 LPCWSTR wzVariable;
240} BAENGINE_GETVARIABLESTRING_ARGS;
241
242typedef struct _BAENGINE_GETVARIABLESTRING_RESULTS
243{
244 DWORD cbSize;
245 LPWSTR wzValue;
246 // Should be initialized to the size of wzValue.
247 SIZE_T cchValue;
248} BAENGINE_GETVARIABLESTRING_RESULTS;
249
250typedef struct _BAENGINE_GETVARIABLEVERSION_ARGS
251{
252 DWORD cbSize;
253 LPCWSTR wzVariable;
254} BAENGINE_GETVARIABLEVERSION_ARGS;
255
256typedef struct _BAENGINE_GETVARIABLEVERSION_RESULTS
257{
258 DWORD cbSize;
259 LPWSTR wzValue;
260 // Should be initialized to the size of wzValue.
261 SIZE_T cchValue;
262} BAENGINE_GETVARIABLEVERSION_RESULTS;
263
264typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_ARGS
265{
266 DWORD cbSize;
267 HWND hwndParent;
268 LPCWSTR wzApprovedExeForElevationId;
269 LPCWSTR wzArguments;
270 DWORD dwWaitForInputIdleTimeout;
271} BAENGINE_LAUNCHAPPROVEDEXE_ARGS;
272
273typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_RESULTS
274{
275 DWORD cbSize;
276} BAENGINE_LAUNCHAPPROVEDEXE_RESULTS;
277
278typedef struct _BAENGINE_SETUPDATESOURCE_ARGS
279{
280 DWORD cbSize;
281 LPCWSTR wzUrl;
282} BAENGINE_SETUPDATESOURCE_ARGS;
283
284typedef struct _BAENGINE_SETUPDATESOURCE_RESULTS
285{
286 DWORD cbSize;
287} BAENGINE_SETUPDATESOURCE_RESULTS;
288
289typedef struct _BAENGINE_LOG_ARGS
290{
291 DWORD cbSize;
292 BOOTSTRAPPER_LOG_LEVEL level;
293 LPCWSTR wzMessage;
294} BAENGINE_LOG_ARGS;
295
296typedef struct _BAENGINE_LOG_RESULTS
297{
298 DWORD cbSize;
299} BAENGINE_LOG_RESULTS;
300
301typedef struct _BAENGINE_PLAN_ARGS
302{
303 DWORD cbSize;
304 BOOTSTRAPPER_ACTION action;
305} BAENGINE_PLAN_ARGS;
306
307typedef struct _BAENGINE_PLAN_RESULTS
308{
309 DWORD cbSize;
310} BAENGINE_PLAN_RESULTS;
311
312typedef struct _BAENGINE_QUIT_ARGS
313{
314 DWORD cbSize;
315 DWORD dwExitCode;
316} BAENGINE_QUIT_ARGS;
317
318typedef struct _BAENGINE_QUIT_RESULTS
319{
320 DWORD cbSize;
321} BAENGINE_QUIT_RESULTS;
322
323typedef struct _BAENGINE_SENDEMBEDDEDERROR_ARGS
324{
325 DWORD cbSize;
326 DWORD dwErrorCode;
327 LPCWSTR wzMessage;
328 DWORD dwUIHint;
329} BAENGINE_SENDEMBEDDEDERROR_ARGS;
330
331typedef struct _BAENGINE_SENDEMBEDDEDERROR_RESULTS
332{
333 DWORD cbSize;
334 int nResult;
335} BAENGINE_SENDEMBEDDEDERROR_RESULTS;
336
337typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_ARGS
338{
339 DWORD cbSize;
340 DWORD dwProgressPercentage;
341 DWORD dwOverallProgressPercentage;
342} BAENGINE_SENDEMBEDDEDPROGRESS_ARGS;
343
344typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS
345{
346 DWORD cbSize;
347 int nResult;
348} BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS;
349
350typedef struct _BAENGINE_SETDOWNLOADSOURCE_ARGS
351{
352 DWORD cbSize;
353 LPCWSTR wzPackageOrContainerId;
354 LPCWSTR wzPayloadId;
355 LPCWSTR wzUrl;
356 LPCWSTR wzUser;
357 LPCWSTR wzPassword;
358} BAENGINE_SETDOWNLOADSOURCE_ARGS;
359
360typedef struct _BAENGINE_SETDOWNLOADSOURCE_RESULTS
361{
362 DWORD cbSize;
363} BAENGINE_SETDOWNLOADSOURCE_RESULTS;
364
365typedef struct _BAENGINE_SETLOCALSOURCE_ARGS
366{
367 DWORD cbSize;
368 LPCWSTR wzPackageOrContainerId;
369 LPCWSTR wzPayloadId;
370 LPCWSTR wzPath;
371} BAENGINE_SETLOCALSOURCE_ARGS;
372
373typedef struct _BAENGINE_SETLOCALSOURCE_RESULTS
374{
375 DWORD cbSize;
376} BAENGINE_SETLOCALSOURCE_RESULTS;
377
378typedef struct _BAENGINE_SETUPDATE_ARGS
379{
380 DWORD cbSize;
381 LPCWSTR wzLocalSource;
382 LPCWSTR wzDownloadSource;
383 DWORD64 qwSize;
384 BOOTSTRAPPER_UPDATE_HASH_TYPE hashType;
385 LPCWSTR wzHash;
386} BAENGINE_SETUPDATE_ARGS;
387
388typedef struct _BAENGINE_SETUPDATE_RESULTS
389{
390 DWORD cbSize;
391} BAENGINE_SETUPDATE_RESULTS;
392
393typedef struct _BAENGINE_SETVARIABLENUMERIC_ARGS
394{
395 DWORD cbSize;
396 LPCWSTR wzVariable;
397 LONGLONG llValue;
398} BAENGINE_SETVARIABLENUMERIC_ARGS;
399
400typedef struct _BAENGINE_SETVARIABLENUMERIC_RESULTS
401{
402 DWORD cbSize;
403} BAENGINE_SETVARIABLENUMERIC_RESULTS;
404
405typedef struct _BAENGINE_SETVARIABLESTRING_ARGS
406{
407 DWORD cbSize;
408 LPCWSTR wzVariable;
409 LPCWSTR wzValue;
410 BOOL fFormatted;
411} BAENGINE_SETVARIABLESTRING_ARGS;
412
413typedef struct _BAENGINE_SETVARIABLESTRING_RESULTS
414{
415 DWORD cbSize;
416} BAENGINE_SETVARIABLESTRING_RESULTS;
417
418typedef struct _BAENGINE_SETVARIABLEVERSION_ARGS
419{
420 DWORD cbSize;
421 LPCWSTR wzVariable;
422 LPCWSTR wzValue;
423} BAENGINE_SETVARIABLEVERSION_ARGS;
424
425typedef struct _BAENGINE_SETVARIABLEVERSION_RESULTS
426{
427 DWORD cbSize;
428} BAENGINE_SETVARIABLEVERSION_RESULTS;
429
430typedef struct _BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS
431{
432 DWORD cbSize;
433 LPCWSTR wzBundleId;
434 LPCWSTR wzVariable;
435} BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS;
436
437typedef struct _BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS
438{
439 DWORD cbSize;
440 LPWSTR wzValue;
441 // Should be initialized to the size of wzValue.
442 SIZE_T cchValue;
443} BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS;
444
445extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_ENGINE_PROC)(
446 __in BOOTSTRAPPER_ENGINE_MESSAGE message,
447 __in const LPVOID pvArgs,
448 __inout LPVOID pvResults,
449 __in_opt LPVOID pvContext
450 );
451
452#if defined(__cplusplus)
453}
454#endif