main
h 126 lines 3.94 KB
Raw
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 // constants
5 #define BURNMSIINSTALL_PROPERTY_NAME L"BURNMSIINSTALL"
6 #define BURNMSIMODIFY_PROPERTY_NAME L"BURNMSIMODIFY"
7 #define BURNMSIREPAIR_PROPERTY_NAME L"BURNMSIREPAIR"
8 #define BURNMSIUNINSTALL_PROPERTY_NAME L"BURNMSIUNINSTALL"
9
10
11 #if defined(__cplusplus)
12 extern "C" {
13 #endif
14
15
16 // function declarations
17
18 HRESULT MsiEngineParsePackageFromXml(
19 __in IXMLDOMNode* pixnBundle,
20 __in BURN_PACKAGE* pPackage
21 );
22 HRESULT MsiEngineParsePropertiesFromXml(
23 __in IXMLDOMNode* pixnPackage,
24 __out BURN_MSIPROPERTY** prgProperties,
25 __out DWORD* pcProperties
26 );
27 void MsiEnginePackageUninitialize(
28 __in BURN_PACKAGE* pPackage
29 );
30 HRESULT MsiEngineDetectInitialize(
31 __in BURN_PACKAGES* pPackages
32 );
33 HRESULT MsiEngineDetectPackage(
34 __in BURN_PACKAGE* pPackage,
35 __in BURN_REGISTRATION* pRegistration,
36 __in BURN_USER_EXPERIENCE* pUserExperience
37 );
38 HRESULT MsiEngineDetectCompatiblePackage(
39 __in BURN_PACKAGE* pPackage
40 );
41 HRESULT MsiEnginePlanInitializePackage(
42 __in BURN_PACKAGE* pPackage,
43 __in BOOTSTRAPPER_ACTION overallAction,
44 __in BURN_VARIABLES* pVariables,
45 __in BURN_USER_EXPERIENCE* pUserExperience
46 );
47 HRESULT MsiEnginePlanCalculatePackage(
48 __in BURN_PACKAGE* pPackage,
49 __in BOOL fInsideMsiTransaction
50 );
51 HRESULT MsiEnginePlanAddPackage(
52 __in BOOTSTRAPPER_DISPLAY display,
53 __in BURN_USER_EXPERIENCE* pUserExperience,
54 __in BURN_PACKAGE* pPackage,
55 __in BURN_PLAN* pPlan,
56 __in BURN_LOGGING* pLog,
57 __in BURN_VARIABLES* pVariables
58 );
59 HRESULT MsiEngineBeginTransaction(
60 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary
61 );
62 HRESULT MsiEngineCommitTransaction(
63 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary,
64 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
65 );
66 HRESULT MsiEngineRollbackTransaction(
67 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary,
68 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
69 );
70 HRESULT MsiEngineExecutePackage(
71 __in_opt HWND hwndParent,
72 __in BURN_EXECUTE_ACTION* pExecuteAction,
73 __in BURN_CACHE* pCache,
74 __in BURN_VARIABLES* pVariables,
75 __in BOOL fRollback,
76 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
77 __in LPVOID pvContext,
78 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
79 );
80 HRESULT MsiEngineUninstallCompatiblePackage(
81 __in_opt HWND hwndParent,
82 __in BURN_EXECUTE_ACTION* pExecuteAction,
83 __in BURN_CACHE* pCache,
84 __in BURN_VARIABLES* pVariables,
85 __in BOOL fRollback,
86 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
87 __in LPVOID pvContext,
88 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
89 );
90 HRESULT MsiEngineConcatBurnProperties(
91 __in BOOTSTRAPPER_ACTION_STATE action,
92 __in BURN_MSI_PROPERTY actionMsiProperty,
93 __in BOOTSTRAPPER_MSI_FILE_VERSIONING fileVersioning,
94 __in BOOL fMsiPackage,
95 __in BOOL fFeatureSelectionEnabled,
96 __deref_out_z LPWSTR* psczProperties
97 );
98 HRESULT MsiEngineConcatPackageProperties(
99 __in_ecount(cProperties) BURN_MSIPROPERTY* rgProperties,
100 __in DWORD cProperties,
101 __in BURN_VARIABLES* pVariables,
102 __in BOOL fRollback,
103 __deref_out_z LPWSTR* psczProperties,
104 __in BOOL fObfuscateHiddenVariables
105 );
106 HRESULT MsiEnginePlanPackageOptions(
107 __in BOOTSTRAPPER_DISPLAY display,
108 __in BURN_USER_EXPERIENCE* pUserExperience,
109 __in LPCWSTR wzPackageId,
110 __in BOOL fExecute,
111 __in BOOTSTRAPPER_ACTION_STATE actionState,
112 __out BURN_MSI_PROPERTY* pActionMsiProperty,
113 __out INSTALLUILEVEL* pUiLevel,
114 __out BOOL* pfDisableExternalUiHandler,
115 __out BOOTSTRAPPER_MSI_FILE_VERSIONING* pFileVersioning
116 );
117 void MsiEngineUpdateInstallRegistrationState(
118 __in BURN_EXECUTE_ACTION* pAction,
119 __in BOOL fRollback,
120 __in HRESULT hrExecute,
121 __in BOOL fInsideMsiTransaction
122 );
123
124 #if defined(__cplusplus)
125 }
126 #endif