2 * Copyright (C) 2002,2003 Mike McCormack
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #ifndef _MSI_NO_CRYPTO
26 #define MAX_GUID_CHARS 38
32 typedef ULONG MSIHANDLE
;
34 typedef enum tagINSTALLSTATE
36 INSTALLSTATE_NOTUSED
= -7,
37 INSTALLSTATE_BADCONFIG
= -6,
38 INSTALLSTATE_INCOMPLETE
= -5,
39 INSTALLSTATE_SOURCEABSENT
= -4,
40 INSTALLSTATE_MOREDATA
= -3,
41 INSTALLSTATE_INVALIDARG
= -2,
42 INSTALLSTATE_UNKNOWN
= -1,
43 INSTALLSTATE_BROKEN
= 0,
44 INSTALLSTATE_ADVERTISED
= 1,
45 INSTALLSTATE_ABSENT
= 2,
46 INSTALLSTATE_LOCAL
= 3,
47 INSTALLSTATE_SOURCE
= 4,
48 INSTALLSTATE_DEFAULT
= 5
51 typedef enum tagMSIPATCHSTATE
53 MSIPATCHSTATE_INVALID
= 0,
54 MSIPATCHSTATE_APPLIED
= 1,
55 MSIPATCHSTATE_SUPERSEDED
= 2,
56 MSIPATCHSTATE_OBSOLETED
= 4,
57 MSIPATCHSTATE_REGISTERED
= 8,
58 MSIPATCHSTATE_ALL
= (MSIPATCHSTATE_APPLIED
| MSIPATCHSTATE_SUPERSEDED
|
59 MSIPATCHSTATE_OBSOLETED
| MSIPATCHSTATE_REGISTERED
)
62 typedef enum tagINSTALLUILEVEL
64 INSTALLUILEVEL_NOCHANGE
= 0,
65 INSTALLUILEVEL_DEFAULT
= 1,
66 INSTALLUILEVEL_NONE
= 2,
67 INSTALLUILEVEL_BASIC
= 3,
68 INSTALLUILEVEL_REDUCED
= 4,
69 INSTALLUILEVEL_FULL
= 5,
70 INSTALLUILEVEL_HIDECANCEL
= 0x20,
71 INSTALLUILEVEL_PROGRESSONLY
= 0x40,
72 INSTALLUILEVEL_ENDDIALOG
= 0x80,
73 INSTALLUILEVEL_SOURCERESONLY
= 0x100
76 typedef enum tagUSERINFOSTATE
78 USERINFOSTATE_MOREDATA
= -3,
79 USERINFOSTATE_INVALIDARG
= -2,
80 USERINFOSTATE_UNKNOWN
= -1,
81 USERINFOSTATE_ABSENT
= 0,
82 USERINFOSTATE_PRESENT
= 1,
85 typedef enum tagINSTALLLEVEL
87 INSTALLLEVEL_DEFAULT
= 0,
88 INSTALLLEVEL_MINIMUM
= 1,
89 INSTALLLEVEL_MAXIMUM
= 0xFFFF
92 typedef enum tagINSTALLMESSAGE
94 INSTALLMESSAGE_FATALEXIT
= 0,
95 INSTALLMESSAGE_ERROR
= 0x01000000,
96 INSTALLMESSAGE_WARNING
= 0x02000000,
97 INSTALLMESSAGE_USER
= 0x03000000,
98 INSTALLMESSAGE_INFO
= 0x04000000,
99 INSTALLMESSAGE_FILESINUSE
= 0x05000000,
100 INSTALLMESSAGE_RESOLVESOURCE
= 0x06000000,
101 INSTALLMESSAGE_OUTOFDISKSPACE
= 0x07000000,
102 INSTALLMESSAGE_ACTIONSTART
= 0x08000000,
103 INSTALLMESSAGE_ACTIONDATA
= 0x09000000,
104 INSTALLMESSAGE_PROGRESS
= 0x0a000000,
105 INSTALLMESSAGE_COMMONDATA
= 0x0b000000,
106 INSTALLMESSAGE_INITIALIZE
= 0x0c000000,
107 INSTALLMESSAGE_TERMINATE
= 0x0d000000,
108 INSTALLMESSAGE_SHOWDIALOG
= 0x0e000000,
109 INSTALLMESSAGE_RMFILESINUSE
= 0x19000000,
110 INSTALLMESSAGE_INSTALLSTART
= 0x1A000000,
111 INSTALLMESSAGE_INSTALLEND
= 0x1B000000,
114 typedef enum tagREINSTALLMODE
116 REINSTALLMODE_REPAIR
= 0x00000001,
117 REINSTALLMODE_FILEMISSING
= 0x00000002,
118 REINSTALLMODE_FILEOLDERVERSION
= 0x00000004,
119 REINSTALLMODE_FILEEQUALVERSION
= 0x00000008,
120 REINSTALLMODE_FILEEXACT
= 0x00000010,
121 REINSTALLMODE_FILEVERIFY
= 0x00000020,
122 REINSTALLMODE_FILEREPLACE
= 0x00000040,
123 REINSTALLMODE_MACHINEDATA
= 0x00000080,
124 REINSTALLMODE_USERDATA
= 0x00000100,
125 REINSTALLMODE_SHORTCUT
= 0x00000200,
126 REINSTALLMODE_PACKAGE
= 0x00000400
129 typedef enum tagINSTALLLOGMODE
131 INSTALLLOGMODE_FATALEXIT
= (1 << (INSTALLMESSAGE_FATALEXIT
>> 24)),
132 INSTALLLOGMODE_ERROR
= (1 << (INSTALLMESSAGE_ERROR
>> 24)),
133 INSTALLLOGMODE_WARNING
= (1 << (INSTALLMESSAGE_WARNING
>> 24)),
134 INSTALLLOGMODE_USER
= (1 << (INSTALLMESSAGE_USER
>> 24)),
135 INSTALLLOGMODE_INFO
= (1 << (INSTALLMESSAGE_INFO
>> 24)),
136 INSTALLLOGMODE_FILESINUSE
= (1 << (INSTALLMESSAGE_FILESINUSE
>> 24)),
137 INSTALLLOGMODE_RESOLVESOURCE
= (1 << (INSTALLMESSAGE_RESOLVESOURCE
>> 24)),
138 INSTALLLOGMODE_OUTOFDISKSPACE
= (1 << (INSTALLMESSAGE_OUTOFDISKSPACE
>> 24)),
139 INSTALLLOGMODE_ACTIONSTART
= (1 << (INSTALLMESSAGE_ACTIONSTART
>> 24)),
140 INSTALLLOGMODE_ACTIONDATA
= (1 << (INSTALLMESSAGE_ACTIONDATA
>> 24)),
141 INSTALLLOGMODE_PROGRESS
= (1 << (INSTALLMESSAGE_PROGRESS
>> 24)),
142 INSTALLLOGMODE_PROPERTYDUMP
= (1 << (INSTALLMESSAGE_PROGRESS
>> 24)),
143 INSTALLLOGMODE_COMMONDATA
= (1 << (INSTALLMESSAGE_COMMONDATA
>> 24)),
144 INSTALLLOGMODE_INITIALIZE
= (1 << (INSTALLMESSAGE_INITIALIZE
>> 24)),
145 INSTALLLOGMODE_VERBOSE
= (1 << (INSTALLMESSAGE_INITIALIZE
>> 24)),
146 INSTALLLOGMODE_TERMINATE
= (1 << (INSTALLMESSAGE_TERMINATE
>> 24)),
147 INSTALLLOGMODE_EXTRADEBUG
= (1 << (INSTALLMESSAGE_TERMINATE
>> 24)),
148 INSTALLLOGMODE_SHOWDIALOG
= (1 << (INSTALLMESSAGE_SHOWDIALOG
>> 24)),
149 INSTALLLOGMODE_RMFILESINUSE
= (1 << (INSTALLMESSAGE_RMFILESINUSE
>> 24)),
150 INSTALLLOGMODE_INSTALLSTART
= (1 << (INSTALLMESSAGE_INSTALLSTART
>> 24)),
151 INSTALLLOGMODE_INSTALLEND
= (1 << (INSTALLMESSAGE_INSTALLEND
>> 24)),
154 typedef enum tagINSTALLLOGATTRIBUTES
156 INSTALLLOGATTRIBUTES_APPEND
= 0x00000001,
157 INSTALLLOGATTRIBUTES_FLUSHEACHLINE
= 0x00000002
158 } INSTALLLOGATTRIBUTES
;
160 typedef enum tagINSTALLMODE
162 INSTALLMODE_NODETECTION_ANY
= -4,
163 INSTALLMODE_NOSOURCERESOLUTION
= -3,
164 INSTALLMODE_NODETECTION
= -2,
165 INSTALLMODE_EXISTING
= -1,
166 INSTALLMODE_DEFAULT
= 0
169 typedef enum tagADVERTISEFLAGS
171 ADVERTISEFLAGS_MACHINEASSIGN
= 0,
172 ADVERTISEFLAGS_USERASSIGN
= 1
175 typedef enum tagSCRIPTFLAGS
177 SCRIPTFLAGS_CACHEINFO
= 1,
178 SCRIPTFLAGS_SHORTCUTS
= 4,
179 SCRIPTFLAGS_MACHINEASSIGN
= 8,
180 SCRIPTFLAGS_REGDATA_APPINFO
= 0x10,
181 SCRIPTFLAGS_REGDATA_CNFGINFO
= 0x20,
182 SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
= 0x40,
183 SCRIPTFLAGS_REGDATA_CLASSINFO
= 0x80,
184 SCRIPTFLAGS_REGDATA_EXTENSIONINFO
= 0x100,
187 typedef enum tagINSTALLTYPE
189 INSTALLTYPE_DEFAULT
= 0,
190 INSTALLTYPE_NETWORK_IMAGE
= 1,
191 INSTALLTYPE_SINGLE_INSTANCE
= 2,
194 typedef enum tagMSIINSTALLCONTEXT
196 MSIINSTALLCONTEXT_FIRSTVISIBLE
= 0,
197 MSIINSTALLCONTEXT_NONE
= 0,
198 MSIINSTALLCONTEXT_USERMANAGED
= 1,
199 MSIINSTALLCONTEXT_USERUNMANAGED
= 2,
200 MSIINSTALLCONTEXT_MACHINE
= 4,
201 MSIINSTALLCONTEXT_ALL
= (MSIINSTALLCONTEXT_USERMANAGED
| MSIINSTALLCONTEXT_USERUNMANAGED
| MSIINSTALLCONTEXT_MACHINE
),
202 MSIINSTALLCONTEXT_ALLUSERMANAGED
= 8,
205 typedef enum tagMSISOURCETYPE
207 MSISOURCETYPE_UNKNOWN
= 0x00000000L
,
208 MSISOURCETYPE_NETWORK
= 0x00000001L
,
209 MSISOURCETYPE_URL
= 0x00000002L
,
210 MSISOURCETYPE_MEDIA
= 0x00000004L
213 typedef enum tagMSICODE
215 MSICODE_PRODUCT
= 0x00000000L
,
216 MSICODE_PATCH
= 0x40000000L
219 typedef enum tagINSTALLFEATUREATTRIBUTE
221 INSTALLFEATUREATTRIBUTE_FAVORLOCAL
= 1 << 0,
222 INSTALLFEATUREATTRIBUTE_FAVORSOURCE
= 1 << 1,
223 INSTALLFEATUREATTRIBUTE_FOLLOWPARENT
= 1 << 2,
224 INSTALLFEATUREATTRIBUTE_FAVORADVERTISE
= 1 << 3,
225 INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE
= 1 << 4,
226 INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE
= 1 << 5
227 } INSTALLFEATUREATTRIBUTE
;
229 typedef struct _MSIFILEHASHINFO
{
230 ULONG dwFileHashInfoSize
;
232 } MSIFILEHASHINFO
, *PMSIFILEHASHINFO
;
234 typedef enum tagMSIPATCHDATATYPE
236 MSIPATCH_DATATYPE_PATCHFILE
= 0,
237 MSIPATCH_DATATYPE_XMLPATH
= 1,
238 MSIPATCH_DATATYPE_XMLBLOB
= 2,
239 } MSIPATCHDATATYPE
, *PMSIPATCHDATATYPE
;
241 typedef struct tagMSIPATCHSEQUENCEINFOA
244 MSIPATCHDATATYPE ePatchDataType
;
247 } MSIPATCHSEQUENCEINFOA
, *PMSIPATCHSEQUENCEINFOA
;
249 typedef struct tagMSIPATCHSEQUENCEINFOW
252 MSIPATCHDATATYPE ePatchDataType
;
255 } MSIPATCHSEQUENCEINFOW
, *PMSIPATCHSEQUENCEINFOW
;
257 #define MAX_FEATURE_CHARS 38
259 #define ERROR_PATCH_TARGET_NOT_FOUND 1642
261 /* Strings defined in msi.h */
262 /* Advertised Information */
264 #define INSTALLPROPERTY_PACKAGENAMEA "PackageName"
265 static const WCHAR INSTALLPROPERTY_PACKAGENAMEW
[] = {'P','a','c','k','a','g','e','N','a','m','e',0};
266 #define INSTALLPROPERTY_PACKAGENAME WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGENAME)
268 #define INSTALLPROPERTY_TRANSFORMSA "Transforms"
269 static const WCHAR INSTALLPROPERTY_TRANSFORMSW
[] = {'T','r','a','n','s','f','o','r','m','s',0};
270 #define INSTALLPROPERTY_TRANSFORMS WINELIB_NAME_AW(INSTALLPROPERTY_TRANSFORMS)
272 #define INSTALLPROPERTY_LANGUAGEA "Language"
273 static const WCHAR INSTALLPROPERTY_LANGUAGEW
[] = {'L','a','n','g','u','a','g','e',0};
274 #define INSTALLPROPERTY_LANGUAGE WINELIB_NAME_AW(INSTALLPROPERTY_LANGUAGE)
276 #define INSTALLPROPERTY_PRODUCTNAMEA "ProductName"
277 static const WCHAR INSTALLPROPERTY_PRODUCTNAMEW
[] = {'P','r','o','d','u','c','t','N','a','m','e',0};
278 #define INSTALLPROPERTY_PRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTNAME)
280 #define INSTALLPROPERTY_ASSIGNMENTTYPEA "AssignmentType"
281 static const WCHAR INSTALLPROPERTY_ASSIGNMENTTYPEW
[] = {'A','s','s','i','g','n','m','e','n','t','T','y','p','e',0};
282 #define INSTALLPROPERTY_ASSIGNMENTTYPE WINELIB_NAME_AW(INSTALLPROPERTY_ASSIGNMENTTYPE)
284 #define INSTALLPROPERTY_PACKAGECODEA "PackageCode"
285 static const WCHAR INSTALLPROPERTY_PACKAGECODEW
[] = {'P','a','c','k','a','g','e','C','o','d','e',0};
286 #define INSTALLPROPERTY_PACKAGECODE WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGECODE)
288 #define INSTALLPROPERTY_VERSIONA "Version"
289 static const WCHAR INSTALLPROPERTY_VERSIONW
[]= {'V','e','r','s','i','o','n',0};
290 #define INSTALLPROPERTY_VERSION WINELIB_NAME_AW(INSTALLPROPERTY_VERSION)
292 /* MSI version 1.1 and above */
294 #define INSTALLPROPERTY_PRODUCTICONA "ProductIcon"
295 static const WCHAR INSTALLPROPERTY_PRODUCTICONW
[] = {'P','r','o','d','u','c','t','I','c','o','n',0};
296 #define INSTALLPROPERTY_PRODUCTICON WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTICON)
298 /* MSI version 1.5 and above */
299 #define INSTALLPROPERTY_INSTANCETYPEA "InstanceType"
300 static const WCHAR INSTALLPROPERTY_INSTANCETYPEW
[] = {'I','n','s','t','a','n','c','e','T','y','p','e',0};
301 #define INSTALLPROPERTY_INSTANCETYPE WINELIB_NAME_AW(INSTALLPROPERTY_INSTANCETYPE)
303 /* MSI version 3 and above */
304 #define INSTALLPROPERTY_AUTHORIZED_LUA_APPA "AuthorizedLUAApp"
305 static const WCHAR INSTALLPROPERTY_AUTHORIZED_LUA_APPW
[] = {'A','u','t','h','o','r','i','z','e','d','L','U','A','A','p','p',0};
306 #define INSTALLPROPERTY_AUTHORIZED_LUA_APP WINELIB_NAME_AW(INSTALLPROPERTY_AUTHORIZED_LUA_APP)
309 /* Installed Information */
310 #define INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA "InstalledProductName"
311 static const WCHAR INSTALLPROPERTY_INSTALLEDPRODUCTNAMEW
[] = {'I','n','s','t','a','l','l','e','d','P','r','o','d','u','c','t','N','a','m','e',0};
312 #define INSTALLPROPERTY_INSTALLEDPRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLEDPRODUCTNAME)
314 #define INSTALLPROPERTY_VERSIONSTRINGA "VersionString"
315 static const WCHAR INSTALLPROPERTY_VERSIONSTRINGW
[] = {'V','e','r','s','i','o','n','S','t','r','i','n','g',0};
316 #define INSTALLPROPERTY_VERSIONSTRING WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONSTRING)
318 #define INSTALLPROPERTY_HELPLINKA "HelpLink"
319 static const WCHAR INSTALLPROPERTY_HELPLINKW
[] = {'H','e','l','p','L','i','n','k',0};
320 #define INSTALLPROPERTY_HELPLINK WINELIB_NAME_AW(INSTALLPROPERTY_HELPLINK)
322 #define INSTALLPROPERTY_HELPTELEPHONEA "HelpTelephone"
323 static const WCHAR INSTALLPROPERTY_HELPTELEPHONEW
[] = {'H','e','l','p','T','e','l','e','p','h','o','n','e',0};
324 #define INSTALLPROPERTY_HELPTELEPHONE WINELIB_NAME_AW(INSTALLPROPERTY_HELPTELEPHONE)
326 #define INSTALLPROPERTY_INSTALLLOCATIONA "InstallLocation"
327 static const WCHAR INSTALLPROPERTY_INSTALLLOCATIONW
[] = {'I','n','s','t','a','l','l','L','o','c','a','t','i','o','n',0};
328 #define INSTALLPROPERTY_INSTALLLOCATION WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLLOCATION)
330 #define INSTALLPROPERTY_INSTALLSOURCEA "InstallSource"
331 static const WCHAR INSTALLPROPERTY_INSTALLSOURCEW
[] = {'I','n','s','t','a','l','l','S','o','u','r','c','e',0};
332 #define INSTALLPROPERTY_INSTALLSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLSOURCE)
334 #define INSTALLPROPERTY_INSTALLDATEA "InstallDate"
335 static const WCHAR INSTALLPROPERTY_INSTALLDATEW
[] = {'I','n','s','t','a','l','l','D','a','t','e',0};
336 #define INSTALLPROPERTY_INSTALLDATE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLDATE)
338 #define INSTALLPROPERTY_PUBLISHERA "Publisher"
339 static const WCHAR INSTALLPROPERTY_PUBLISHERW
[] ={'P','u','b','l','i','s','h','e','r',0};
340 #define INSTALLPROPERTY_PUBLISHER WINELIB_NAME_AW(INSTALLPROPERTY_PUBLISHER)
342 #define INSTALLPROPERTY_LOCALPACKAGEA "LocalPackage"
343 static const WCHAR INSTALLPROPERTY_LOCALPACKAGEW
[] = {'L','o','c','a','l','P','a','c','k','a','g','e',0};
344 #define INSTALLPROPERTY_LOCALPACKAGE WINELIB_NAME_AW(INSTALLPROPERTY_LOCALPACKAGE)
346 #define INSTALLPROPERTY_URLINFOABOUTA "URLInfoAbout"
347 static const WCHAR INSTALLPROPERTY_URLINFOABOUTW
[] = {'U','R','L','I','n','f','o','A','b','o','u','t',0};
348 #define INSTALLPROPERTY_URLINFOABOUT WINELIB_NAME_AW(INSTALLPROPERTY_URLINFOABOUT)
350 #define INSTALLPROPERTY_URLUPDATEINFOA "URLUpdateInfo"
351 static const WCHAR INSTALLPROPERTY_URLUPDATEINFOW
[] = {'U','R','L','U','p','d','a','t','e','I','n','f','o',0};
352 #define INSTALLPROPERTY_URLUPDATEINFO WINELIB_NAME_AW(INSTALLPROPERTY_URLUPDATEINFO)
354 #define INSTALLPROPERTY_VERSIONMINORA "VersionMinor"
355 static const WCHAR INSTALLPROPERTY_VERSIONMINORW
[] = {'V','e','r','s','i','o','n','M','i','n','o','r',0};
356 #define INSTALLPROPERTY_VERSIONMINOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMINOR)
358 #define INSTALLPROPERTY_VERSIONMAJORA "VersionMajor"
359 static const WCHAR INSTALLPROPERTY_VERSIONMAJORW
[] = {'V','e','r','s','i','o','n','M','a','j','o','r',0};
360 #define INSTALLPROPERTY_VERSIONMAJOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMAJOR)
362 #define INSTALLPROPERTY_PRODUCTIDA "ProductID"
363 static const WCHAR INSTALLPROPERTY_PRODUCTIDW
[] = {'P','r','o','d','u','c','t','I','D',0};
364 #define INSTALLPROPERTY_PRODUCTID WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTID)
366 #define INSTALLPROPERTY_REGCOMPANYA "RegCompany"
367 static const WCHAR INSTALLPROPERTY_REGCOMPANYW
[] = {'R','e','g','C','o','m','p','a','n','y',0};
368 #define INSTALLPROPERTY_REGCOMPANY WINELIB_NAME_AW(INSTALLPROPERTY_REGCOMPANY)
370 #define INSTALLPROPERTY_REGOWNERA "RegOwner"
371 static const WCHAR INSTALLPROPERTY_REGOWNERW
[] = {'R','e','g','O','w','n','e','r',0};
372 #define INSTALLPROPERTY_REGOWNER WINELIB_NAME_AW(INSTALLPROPERTY_REGOWNER)
374 /* MSI Version 3.0 and greater */
375 #define INSTALLPROPERTY_UNINSTALLABLEA "Uninstallable"
376 static const WCHAR INSTALLPROPERTY_UNINSTALLABLEW
[] = {'U','n','i','n','s','t','a','l','l','a','b','l','e',0};
377 #define INSTALLPROPERTY_UNINSTALLABLE WINELIB_NAME_AW(INSTALLPROPERTY_UNINSTALLABLE)
379 #define INSTALLPROPERTY_PRODUCTSTATEA "State"
380 static const WCHAR INSTALLPROPERTY_PRODUCTSTATEW
[] = {'S','t','a','t','e',0};
381 #define INSTALLPROPERTY_PRODUCTSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTSTATE)
383 #define INSTALLPROPERTY_PATCHSTATEA "State"
384 static const WCHAR INSTALLPROPERTY_PATCHSTATEW
[] ={'S','t','a','t','e',0};
385 #define INSTALLPROPERTY_PATCHSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHSTATE)
387 #define INSTALLPROPERTY_PATCHTYPEA "PatchType"
388 static const WCHAR INSTALLPROPERTY_PATCHTYPEW
[] = {'P','a','t','c','h','T','y','p','e',0};
389 #define INSTALLPROPERTY_PATCHTYPE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHTYPE)
391 #define INSTALLPROPERTY_LUAENABLEDA "LUAEnabled"
392 static const WCHAR INSTALLPROPERTY_LUAENABLEDW
[] = {'L','U','A','E','n','a','b','l','e','d',0};
393 #define INSTALLPROPERTY_LUAENABLED WINELIB_NAME_AW(INSTALLPROPERTY_LUAENABLED)
395 #define INSTALLPROPERTY_DISPLAYNAMEA "DisplayName"
396 static const WCHAR INSTALLPROPERTY_DISPLAYNAMEW
[] = {'D','i','s','p','l','a','y','N','a','m','e',0};
397 #define INSTALLPROPERTY_DISPLAYNAME WINELIB_NAME_AW(INSTALLPROPERTY_DISPLAYNAME)
399 #define INSTALLPROPERTY_MOREINFOURLA "MoreInfoURL"
400 static const WCHAR INSTALLPROPERTY_MOREINFOURLW
[] = {'M','o','r','e','I','n','f','o','U','R','L',0};
401 #define INSTALLPROPERTY_MOREINFOURL WINELIB_NAME_AW(INSTALLPROPERTY_MOREINFOURL)
403 /* Source List Info */
404 #define INSTALLPROPERTY_LASTUSEDSOURCEA "LastUsedSource"
405 static const WCHAR INSTALLPROPERTY_LASTUSEDSOURCEW
[] = {'L','a','s','t','U','s','e','d','S','o','u','r','c','e',0};
406 #define INSTALLPROPERTY_LASTUSEDSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDSOURCE)
408 #define INSTALLPROPERTY_LASTUSEDTYPEA "LastUsedType"
409 static const WCHAR INSTALLPROPERTY_LASTUSEDTYPEW
[] = {'L','a','s','t','U','s','e','d','T','y','p','e',0};
410 #define INSTALLPROPERTY_LASTUSEDTYPE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDTYPE)
412 #define INSTALLPROPERTY_MEDIAPACKAGEPATHA "MediaPackagePath"
413 static const WCHAR INSTALLPROPERTY_MEDIAPACKAGEPATHW
[] = {'M','e','d','i','a','P','a','c','k','a','g','e','P','a','t','h',0};
414 #define INSTALLPROPERTY_MEDIAPACKAGEPATH WINELIB_NAME_AW(INSTALLPROPERTY_MEDIAPACKAGEPATH)
416 #define INSTALLPROPERTY_DISKPROMPTA "DiskPrompt"
417 static const WCHAR INSTALLPROPERTY_DISKPROMPTW
[] = {'D','i','s','k','P','r','o','m','p','t',0};
418 #define INSTALLPROPERTY_DISKPROMPT WINELIB_NAME_AW(INSTALLPROPERTY_DISKPROMPT)
420 typedef INT (CALLBACK
*INSTALLUI_HANDLERA
)(LPVOID
, UINT
, LPCSTR
);
421 typedef INT (CALLBACK
*INSTALLUI_HANDLERW
)(LPVOID
, UINT
, LPCWSTR
);
422 typedef INT (CALLBACK
*INSTALLUI_HANDLER_RECORD
)(LPVOID
, UINT
, MSIHANDLE
);
423 typedef INSTALLUI_HANDLER_RECORD
* PINSTALLUI_HANDLER_RECORD
;
427 MsiAdvertiseProductA(
435 MsiAdvertiseProductW(
441 #define MsiAdvertiseProduct WINELIB_NAME_AW(MsiAdvertiseProduct)
445 MsiAdvertiseProductExA(
455 MsiAdvertiseProductExW(
463 #define MsiAdvertiseProductEx WINELIB_NAME_AW(MsiAdvertiseProductEx)
465 UINT WINAPI
MsiInstallProductA(_In_ LPCSTR
, _In_opt_ LPCSTR
);
466 UINT WINAPI
MsiInstallProductW(_In_ LPCWSTR
, _In_opt_ LPCWSTR
);
467 #define MsiInstallProduct WINELIB_NAME_AW(MsiInstallProduct)
469 UINT WINAPI
MsiReinstallProductA(_In_ LPCSTR
, _In_ DWORD
);
470 UINT WINAPI
MsiReinstallProductW(_In_ LPCWSTR
, _In_ DWORD
);
471 #define MsiReinstallProduct WINELIB_NAME_AW(MsiReinstallProduct)
489 #define MsiApplyPatch WINELIB_NAME_AW(MsiApplyPatch)
491 UINT WINAPI
MsiEnumComponentCostsA(MSIHANDLE
, LPCSTR
, DWORD
, INSTALLSTATE
, LPSTR
, LPDWORD
, LPINT
, LPINT
);
492 UINT WINAPI
MsiEnumComponentCostsW(MSIHANDLE
, LPCWSTR
, DWORD
, INSTALLSTATE
, LPWSTR
, LPDWORD
, LPINT
, LPINT
);
493 #define MsiEnumComponentCosts WINELIB_NAME_AW(MsiEnumComponentCosts)
499 _Out_writes_(MAX_GUID_CHARS
+ 1) LPSTR
);
505 _Out_writes_(MAX_GUID_CHARS
+ 1) LPWSTR
);
507 #define MsiEnumProducts WINELIB_NAME_AW(MsiEnumProducts)
516 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) CHAR
[39],
517 _Out_opt_ MSIINSTALLCONTEXT
*,
518 _Out_writes_opt_(*pcchSid
) LPSTR
,
519 _Inout_opt_ LPDWORD pcchSid
);
528 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) WCHAR
[39],
529 _Out_opt_ MSIINSTALLCONTEXT
*,
530 _Out_writes_opt_(*pcchSid
) LPWSTR
,
531 _Inout_opt_ LPDWORD pcchSid
);
533 #define MsiEnumProductsEx WINELIB_NAME_AW(MsiEnumProductsEx)
540 _Out_writes_(MAX_FEATURE_CHARS
+ 1) LPSTR
,
541 _Out_writes_opt_(MAX_FEATURE_CHARS
+ 1) LPSTR
);
548 _Out_writes_(MAX_FEATURE_CHARS
+ 1) LPWSTR
,
549 _Out_writes_opt_(MAX_FEATURE_CHARS
+ 1) LPWSTR
);
551 #define MsiEnumFeatures WINELIB_NAME_AW(MsiEnumFeatures)
557 _Out_writes_(MAX_GUID_CHARS
+ 1) LPSTR
);
563 _Out_writes_(MAX_GUID_CHARS
+ 1) LPWSTR
);
565 #define MsiEnumComponents WINELIB_NAME_AW(MsiEnumComponents)
569 MsiEnumComponentsExA(
573 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) CHAR
[39],
574 _Out_opt_ MSIINSTALLCONTEXT
*,
575 _Out_writes_opt_(*pcchSid
) LPSTR
,
576 _Inout_opt_ LPDWORD pcchSid
);
580 MsiEnumComponentsExW(
584 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) WCHAR
[39],
585 _Out_opt_ MSIINSTALLCONTEXT
*,
586 _Out_writes_opt_(*pcchSid
) LPWSTR
,
587 _Inout_opt_ LPDWORD pcchSid
);
589 #define MsiEnumComponentsEx WINELIB_NAME_AW(MsiEnumComponentsEx)
596 _Out_writes_(MAX_GUID_CHARS
+ 1) LPSTR
);
603 _Out_writes_(MAX_GUID_CHARS
+ 1) LPWSTR
);
605 #define MsiEnumClients WINELIB_NAME_AW(MsiEnumClients)
607 UINT WINAPI
MsiOpenPackageA(_In_ LPCSTR
, _Out_ MSIHANDLE
*);
608 UINT WINAPI
MsiOpenPackageW(_In_ LPCWSTR
, _Out_ MSIHANDLE
*);
609 #define MsiOpenPackage WINELIB_NAME_AW(MsiOpenPackage)
611 UINT WINAPI
MsiOpenPackageExA(_In_ LPCSTR
, _In_ DWORD
, _Out_ MSIHANDLE
*);
612 UINT WINAPI
MsiOpenPackageExW(_In_ LPCWSTR
, _In_ DWORD
, _Out_ MSIHANDLE
*);
613 #define MsiOpenPackageEx WINELIB_NAME_AW(MsiOpenPackageEx)
615 UINT WINAPI
MsiOpenProductA(_In_ LPCSTR
, _Out_ MSIHANDLE
*);
616 UINT WINAPI
MsiOpenProductW(_In_ LPCWSTR
, _Out_ MSIHANDLE
*);
617 #define MsiOpenProduct WINELIB_NAME_AW(MsiOpenProduct)
621 MsiGetProductPropertyA(
624 _Out_writes_opt_(*pcchValueBuf
) LPSTR
,
625 _Inout_opt_ LPDWORD pcchValueBuf
);
629 MsiGetProductPropertyW(
632 _Out_writes_opt_(*pcchValueBuf
) LPWSTR
,
633 _Inout_opt_ LPDWORD pcchValueBuf
);
635 #define MsiGetProductProperty WINELIB_NAME_AW(MsiGetProductProperty)
637 UINT WINAPI
MsiVerifyPackageA(_In_ LPCSTR
);
638 UINT WINAPI
MsiVerifyPackageW(_In_ LPCWSTR
);
639 #define MsiVerifyPackage WINELIB_NAME_AW(MsiVerifyPackage)
643 MsiQueryComponentStateA(
646 _In_ MSIINSTALLCONTEXT
,
648 _Out_opt_ INSTALLSTATE
*);
652 MsiQueryComponentStateW(
655 _In_ MSIINSTALLCONTEXT
,
657 _Out_opt_ INSTALLSTATE
*);
659 #define MsiQueryComponentState WINELIB_NAME_AW(MsiQueryComponentState)
661 INSTALLSTATE WINAPI
MsiQueryProductStateA(_In_ LPCSTR
);
662 INSTALLSTATE WINAPI
MsiQueryProductStateW(_In_ LPCWSTR
);
663 #define MsiQueryProductState WINELIB_NAME_AW(MsiQueryProductState)
665 UINT WINAPI
MsiConfigureProductA(_In_ LPCSTR
, _In_
int, _In_ INSTALLSTATE
);
666 UINT WINAPI
MsiConfigureProductW(_In_ LPCWSTR
, _In_
int, _In_ INSTALLSTATE
);
667 #define MsiConfigureProduct WINELIB_NAME_AW(MsiConfigureProduct)
671 MsiConfigureProductExA(
679 MsiConfigureProductExW(
685 #define MsiConfigureProductEx WINELIB_NAME_AW(MsiConfigureProductEx)
689 MsiConfigureFeatureA(
696 MsiConfigureFeatureW(
701 #define MsiConfigureFeature WINELIB_NAME_AW(MsiConfigureFeature)
707 _Out_writes_(MAX_GUID_CHARS
+ 1) LPSTR
);
713 _Out_writes_(MAX_GUID_CHARS
+ 1) LPWSTR
);
715 #define MsiGetProductCode WINELIB_NAME_AW(MsiGetProductCode)
722 _Out_writes_opt_(*pcchValueBuf
) LPSTR
,
723 _Inout_opt_ LPDWORD pcchValueBuf
);
730 _Out_writes_opt_(*pcchValueBuf
) LPWSTR
,
731 _Inout_opt_ LPDWORD pcchValueBuf
);
733 #define MsiGetProductInfo WINELIB_NAME_AW(MsiGetProductInfo)
737 MsiGetProductInfoExA(
740 _In_ MSIINSTALLCONTEXT
,
742 _Out_writes_opt_(*pcchValue
) LPSTR
,
743 _Inout_opt_ LPDWORD pcchValue
);
747 MsiGetProductInfoExW(
750 _In_ MSIINSTALLCONTEXT
,
752 _Out_writes_opt_(*pcchValue
) LPWSTR
,
753 _Inout_opt_ LPDWORD pcchValue
);
755 #define MsiGetProductInfoEx WINELIB_NAME_AW(MsiGetProductInfoEx)
763 _In_ MSIINSTALLCONTEXT
,
765 _Out_writes_opt_(*pcchValue
) LPSTR
,
766 _Inout_opt_ LPDWORD pcchValue
);
774 _In_ MSIINSTALLCONTEXT
,
776 _Out_writes_opt_(*pcchValue
) LPWSTR
,
777 _Inout_opt_ LPDWORD pcchValue
);
779 #define MsiGetPatchInfoEx WINELIB_NAME_AW(MsiGetPatchInfoEx)
786 _Out_writes_opt_(*pcchValueBuf
) LPSTR
,
787 _Inout_opt_ LPDWORD pcchValueBuf
);
794 _Out_writes_opt_(*pcchValueBuf
) LPWSTR
,
795 _Inout_opt_ LPDWORD pcchValueBuf
);
797 #define MsiGetPatchInfo WINELIB_NAME_AW(MsiGetPatchInfo)
799 UINT WINAPI
MsiEnableLogA(_In_ DWORD
, _In_opt_ LPCSTR
, _In_ DWORD
);
800 UINT WINAPI
MsiEnableLogW(_In_ DWORD
, _In_opt_ LPCWSTR
, _In_ DWORD
);
801 #define MsiEnableLog WINELIB_NAME_AW(MsiEnableLog)
806 _In_opt_ INSTALLUI_HANDLERA
,
813 _In_opt_ INSTALLUI_HANDLERW
,
817 #define MsiSetExternalUI WINELIB_NAME_AW(MsiSetExternalUI)
821 MsiGetComponentPathA(
824 _Out_writes_opt_(*pcchBuf
) LPSTR
,
825 _Inout_opt_ LPDWORD pcchBuf
);
829 MsiGetComponentPathW(
832 _Out_writes_opt_(*pcchBuf
) LPWSTR
,
833 _Inout_opt_ LPDWORD pcchBuf
);
835 #define MsiGetComponentPath WINELIB_NAME_AW(MsiGetComponentPath)
837 INSTALLSTATE WINAPI
MsiQueryFeatureStateA(_In_ LPCSTR
, _In_ LPCSTR
);
838 INSTALLSTATE WINAPI
MsiQueryFeatureStateW(_In_ LPCWSTR
, _In_ LPCWSTR
);
839 #define MsiQueryFeatureState WINELIB_NAME_AW(MsiQueryFeatureState)
843 MsiQueryFeatureStateExA(
846 _In_ MSIINSTALLCONTEXT
,
848 _Out_opt_ INSTALLSTATE
*);
852 MsiQueryFeatureStateExW(
855 _In_ MSIINSTALLCONTEXT
,
857 _Out_opt_ INSTALLSTATE
*);
859 #define MsiQueryFeatureStateEx WINELIB_NAME_AW(MsiQueryFeatureStateEx)
867 _Out_writes_opt_(*pcchTitleBuf
) LPSTR
,
868 _Inout_opt_ LPDWORD pcchTitleBuf
,
869 _Out_writes_opt_(*pcchHelpBuf
) LPSTR
,
870 _Inout_opt_ LPDWORD pcchHelpBuf
);
878 _Out_writes_opt_(*pcchTitleBuf
) LPWSTR
,
879 _Inout_opt_ LPDWORD pcchTitleBuf
,
880 _Out_writes_opt_(*pcchHelpBuf
) LPWSTR
,
881 _Inout_opt_ LPDWORD pcchHelpBuf
);
883 #define MsiGetFeatureInfo WINELIB_NAME_AW(MsiGetFeatureInfo)
901 #define MsiGetFeatureUsage WINELIB_NAME_AW(MsiGetFeatureUsage)
905 MsiEnumRelatedProductsA(
909 _Out_writes_(MAX_GUID_CHARS
+ 1) LPSTR
);
913 MsiEnumRelatedProductsW(
917 _Out_writes_(MAX_GUID_CHARS
+ 1) LPWSTR
);
919 #define MsiEnumRelatedProducts WINELIB_NAME_AW(MsiEnumRelatedProducts)
928 _Out_writes_opt_(*pcchPathBuf
) LPSTR
,
929 _Inout_opt_ LPDWORD pcchPathBuf
);
938 _Out_writes_opt_(*pcchPathBuf
) LPWSTR
,
939 _Inout_opt_ LPDWORD pcchPathBuf
);
941 #define MsiProvideAssembly WINELIB_NAME_AW(MsiProvideAssembly)
945 MsiEnumComponentQualifiersA(
948 _Out_writes_(*pcchQualifierBuf
) LPSTR
,
949 _Inout_ LPDWORD pcchQualifierBuf
,
950 _Out_writes_opt_(*pcchApplicationDataBuf
) LPSTR
,
951 _Inout_opt_ LPDWORD pcchApplicationDataBuf
);
955 MsiEnumComponentQualifiersW(
958 _Out_writes_(*pcchQualifierBuf
) LPWSTR
,
959 _Inout_ LPDWORD pcchQualifierBuf
,
960 _Out_writes_opt_(*pcchApplicationDataBuf
) LPWSTR
,
961 _Inout_opt_ LPDWORD pcchApplicationDataBuf
);
963 #define MsiEnumComponentQualifiers WINELIB_NAME_AW(MsiEnumComponentQualifiers)
969 _Out_writes_opt_(*pcchVersionBuf
) LPSTR
,
970 _Inout_opt_ LPDWORD pcchVersionBuf
,
971 _Out_writes_opt_(*pcchLangBuf
) LPSTR
,
972 _Inout_opt_ LPDWORD pcchLangBuf
);
978 _Out_writes_opt_(*pcchVersionBuf
) LPWSTR
,
979 _Inout_opt_ LPDWORD pcchVersionBuf
,
980 _Out_writes_opt_(*pcchLangBuf
) LPWSTR
,
981 _Inout_opt_ LPDWORD pcchLangBuf
);
983 #define MsiGetFileVersion WINELIB_NAME_AW(MsiGetFileVersion)
985 UINT WINAPI
MsiMessageBoxA(HWND
, LPCSTR
, LPCSTR
, UINT
, WORD
, DWORD
);
986 UINT WINAPI
MsiMessageBoxW(HWND
, LPCWSTR
, LPCWSTR
, UINT
, WORD
, DWORD
);
987 #define MsiMessageBox WINELIB_NAME_AW(MsiMessageBox)
991 MsiProvideQualifiedComponentExA(
998 _Out_writes_opt_(*pcchPathBuf
) LPSTR
,
999 _Inout_opt_ LPDWORD pcchPathBuf
);
1003 MsiProvideQualifiedComponentExW(
1010 _Out_writes_opt_(*pcchPathBuf
) LPWSTR
,
1011 _Inout_opt_ LPDWORD pcchPathBuf
);
1013 #define MsiProvideQualifiedComponentEx WINELIB_NAME_AW(MsiProvideQualifiedComponentEx)
1017 MsiProvideQualifiedComponentA(
1021 _Out_writes_opt_(*pcchPathBuf
) LPSTR
,
1022 _Inout_opt_ LPDWORD pcchPathBuf
);
1026 MsiProvideQualifiedComponentW(
1030 _Out_writes_opt_(*pcchPathBuf
) LPWSTR
,
1031 _Inout_opt_ LPDWORD pcchPathBuf
);
1033 #define MsiProvideQualifiedComponent WINELIB_NAME_AW(MsiProvideQualifiedComponent)
1039 _Out_writes_opt_(*pcchUserNameBuf
) LPSTR
,
1040 _Inout_opt_ LPDWORD pcchUserNameBuf
,
1041 _Out_writes_opt_(*pcchOrgNameBuf
) LPSTR
,
1042 _Inout_opt_ LPDWORD pcchOrgNameBuf
,
1043 _Out_writes_opt_(*pcchSerialBuf
) LPSTR
,
1044 _Inout_opt_ LPDWORD pcchSerialBuf
);
1050 _Out_writes_opt_(*pcchUserNameBuf
) LPWSTR
,
1051 _Inout_opt_ LPDWORD pcchUserNameBuf
,
1052 _Out_writes_opt_(*pcchOrgNameBuf
) LPWSTR
,
1053 _Inout_opt_ LPDWORD pcchOrgNameBuf
,
1054 _Out_writes_opt_(*pcchSerialBuf
) LPWSTR
,
1055 _Inout_opt_ LPDWORD pcchSerialBuf
);
1057 #define MsiGetUserInfo WINELIB_NAME_AW(MsiGetUserInfo)
1059 UINT WINAPI
MsiProvidedComponentA(LPCSTR
, LPCSTR
, LPCSTR
, DWORD
, LPSTR
, LPDWORD
);
1060 UINT WINAPI
MsiProvideComponentW(LPCWSTR
, LPCWSTR
, LPCWSTR
, DWORD
, LPWSTR
, LPDWORD
);
1061 #define MsiProvideComponent WINELIB_NAME_AW(MsiProvideComponent)
1063 UINT WINAPI
MsiCollectUserInfoA(_In_ LPCSTR
);
1064 UINT WINAPI
MsiCollectUserInfoW(_In_ LPCWSTR
);
1065 #define MsiCollectUserInfo WINELIB_NAME_AW(MsiCollectUserInfo)
1067 UINT WINAPI
MsiReinstallFeatureA(_In_ LPCSTR
, _In_ LPCSTR
, _In_ DWORD
);
1068 UINT WINAPI
MsiReinstallFeatureW(_In_ LPCWSTR
, _In_ LPCWSTR
, _In_ DWORD
);
1069 #define MsiReinstallFeature WINELIB_NAME_AW(MsiReinstallFeature)
1073 MsiGetShortcutTargetA(
1075 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPSTR
,
1076 _Out_writes_opt_(MAX_FEATURE_CHARS
+ 1) LPSTR
,
1077 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPSTR
);
1081 MsiGetShortcutTargetW(
1083 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPWSTR
,
1084 _Out_writes_opt_(MAX_FEATURE_CHARS
+ 1) LPWSTR
,
1085 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPWSTR
);
1087 #define MsiGetShortcutTarget WINELIB_NAME_AW(MsiGetShortcutTarget)
1089 INSTALLSTATE WINAPI
MsiUseFeatureW(_In_ LPCWSTR
, _In_ LPCWSTR
);
1090 INSTALLSTATE WINAPI
MsiUseFeatureA(_In_ LPCSTR
, _In_ LPCSTR
);
1091 #define MsiUseFeature WINELIB_NAME_AW(MsiUseFeature)
1109 #define MsiUseFeatureEx WINELIB_NAME_AW(MsiUseFeatureEx)
1113 MsiGetFileSignatureInformationA(
1116 _Outptr_ PCCERT_CONTEXT
*,
1117 _Out_writes_bytes_opt_(*pcbHashData
) LPBYTE
,
1118 _Inout_opt_ LPDWORD pcbHashData
);
1122 MsiGetFileSignatureInformationW(
1125 _Outptr_ PCCERT_CONTEXT
*,
1126 _Out_writes_bytes_opt_(*pcbHashData
) LPBYTE
,
1127 _Inout_opt_ LPDWORD pcbHashData
);
1129 #define MsiGetFileSignatureInformation WINELIB_NAME_AW(MsiGetFileSignatureInformation)
1133 MsiLocateComponentA(
1135 _Out_writes_opt_(*pcchBuf
) LPSTR
,
1136 _Inout_opt_ LPDWORD pcchBuf
);
1140 MsiLocateComponentW(
1142 _Out_writes_opt_(*pcchBuf
) LPWSTR
,
1143 _Inout_opt_ LPDWORD pcchBuf
);
1145 #define MsiLocateComponent WINELIB_NAME_AW(MsiLocateComponent)
1149 MsiSourceListAddSourceA(
1157 MsiSourceListAddSourceW(
1163 #define MsiSourceListAddSource WINELIB_NAME_AW(MsiSourceListAddSource)
1167 MsiSourceListEnumMediaDisksA(
1170 _In_ MSIINSTALLCONTEXT
,
1174 _Out_writes_opt_(*pcchVolumeLabel
) LPSTR
,
1175 _Inout_opt_ LPDWORD pcchVolumeLabel
,
1176 _Out_writes_opt_(*pcchDiskPrompt
) LPSTR
,
1177 _Inout_opt_ LPDWORD pcchDiskPrompt
);
1181 MsiSourceListEnumMediaDisksW(
1184 _In_ MSIINSTALLCONTEXT
,
1188 _Out_writes_opt_(*pcchVolumeLabel
) LPWSTR
,
1189 _Inout_opt_ LPDWORD pcchVolumeLabel
,
1190 _Out_writes_opt_(*pcchDiskPrompt
) LPWSTR
,
1191 _Inout_opt_ LPDWORD pcchDiskPrompt
);
1193 #define MsiSourceListEnumMediaDisks WINELIB_NAME_AW(MsiSourceListEnumMediaDisks)
1197 MsiSourceListEnumSourcesA(
1200 _In_ MSIINSTALLCONTEXT
,
1203 _Out_writes_opt_(*pcchSource
) LPSTR
,
1204 _Inout_opt_ LPDWORD pcchSource
);
1208 MsiSourceListEnumSourcesW(
1211 _In_ MSIINSTALLCONTEXT
,
1214 _Out_writes_opt_(*pcchSource
) LPWSTR
,
1215 _Inout_opt_ LPDWORD pcchSource
);
1217 #define MsiSourceListEnumSources WINELIB_NAME_AW(MsiSourceListEnumSources)
1221 MsiSourceListClearSourceA(
1224 _In_ MSIINSTALLCONTEXT
,
1230 MsiSourceListClearSourceW(
1233 _In_ MSIINSTALLCONTEXT
,
1237 #define MsiSourceListClearSource WINELIB_NAME_AW(MsiSourceListClearSource)
1241 MsiSourceListClearAllA(
1248 MsiSourceListClearAllW(
1253 #define MsiSourceListClearAll WINELIB_NAME_AW(MsiSourceListClearAll)
1257 MsiSourceListGetInfoA(
1260 _In_ MSIINSTALLCONTEXT
,
1263 _Out_writes_opt_(*pcchValue
) LPSTR
,
1264 _Inout_opt_ LPDWORD pcchValue
);
1268 MsiSourceListGetInfoW(
1271 _In_ MSIINSTALLCONTEXT
,
1274 _Out_writes_opt_(*pcchValue
) LPWSTR
,
1275 _Inout_opt_ LPDWORD pcchValue
);
1277 #define MsiSourceListGetInfo WINELIB_NAME_AW(MsiSourceListGetInfo)
1281 MsiSourceListSetInfoA(
1284 _In_ MSIINSTALLCONTEXT
,
1291 MsiSourceListSetInfoW(
1294 _In_ MSIINSTALLCONTEXT
,
1299 #define MsiSourceListSetInfo WINELIB_NAME_AW(MsiSourceListSetInfo)
1303 MsiSourceListAddSourceExA(
1306 _In_ MSIINSTALLCONTEXT
,
1313 MsiSourceListAddSourceExW(
1316 _In_ MSIINSTALLCONTEXT
,
1321 #define MsiSourceListAddSourceEx WINELIB_NAME_AW(MsiSourceListAddSourceEx)
1325 MsiSourceListAddMediaDiskA(
1328 _In_ MSIINSTALLCONTEXT
,
1336 MsiSourceListAddMediaDiskW(
1339 _In_ MSIINSTALLCONTEXT
,
1345 #define MsiSourceListAddMediaDisk WINELIB_NAME_AW(MsiSourceListAddMediaDisk)
1352 _Out_writes_(MAX_GUID_CHARS
+ 1) LPSTR
,
1353 _Out_writes_(*pcchTransformsBuf
) LPSTR
,
1354 _Inout_ LPDWORD pcchTransformsBuf
);
1361 _Out_writes_(MAX_GUID_CHARS
+ 1) LPWSTR
,
1362 _Out_writes_(*pcchTransformsBuf
) LPWSTR
,
1363 _Inout_ LPDWORD pcchTransformsBuf
);
1365 #define MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches)
1375 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPSTR
,
1376 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPSTR
,
1377 _Out_opt_ MSIINSTALLCONTEXT
*,
1378 _Out_writes_opt_(*pcchTargetUserSid
) LPSTR
,
1379 _Inout_opt_ LPDWORD pcchTargetUserSid
);
1389 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPWSTR
,
1390 _Out_writes_opt_(MAX_GUID_CHARS
+ 1) LPWSTR
,
1391 _Out_opt_ MSIINSTALLCONTEXT
*,
1392 _Out_writes_opt_(*pcchTargetUserSid
) LPWSTR
,
1393 _Inout_opt_ LPDWORD pcchTargetUserSid
);
1395 #define MsiEnumPatchesEx WINELIB_NAME_AW(MsiEnumPatchesEx)
1402 _Inout_ PMSIFILEHASHINFO
);
1409 _Inout_ PMSIFILEHASHINFO
);
1411 #define MsiGetFileHash WINELIB_NAME_AW(MsiGetFileHash)
1415 MsiAdvertiseScriptA(
1423 MsiAdvertiseScriptW(
1429 #define MsiAdvertiseScript WINELIB_NAME_AW(MsiAdvertiseScript)
1431 UINT WINAPI
MsiIsProductElevatedA(_In_ LPCSTR
, _Out_ BOOL
*);
1432 UINT WINAPI
MsiIsProductElevatedW(_In_ LPCWSTR
, _Out_ BOOL
*);
1433 #define MsiIsProductElevated WINELIB_NAME_AW(MsiIsProductElevated)
1435 UINT WINAPI
MsiDatabaseMergeA(MSIHANDLE
, MSIHANDLE
, LPCSTR
);
1436 UINT WINAPI
MsiDatabaseMergeW(MSIHANDLE
, MSIHANDLE
, LPCWSTR
);
1437 #define MsiDatabaseMerge WINELIB_NAME_AW(MsiDatabaseMerge)
1441 MsiInstallMissingComponentA(
1448 MsiInstallMissingComponentW(
1453 #define MsiInstallMissingComponent WINELIB_NAME_AW(MsiInstallMissingComponent)
1457 MsiDetermineApplicablePatchesA(
1459 _In_ DWORD cPatchInfo
,
1460 _Inout_updates_(cPatchInfo
) PMSIPATCHSEQUENCEINFOA
);
1464 MsiDetermineApplicablePatchesW(
1466 _In_ DWORD cPatchInfo
,
1467 _Inout_updates_(cPatchInfo
) PMSIPATCHSEQUENCEINFOW
);
1469 #define MsiDetermineApplicablePatches WINELIB_NAME_AW(MsiDetermineApplicablePatches)
1473 MsiDeterminePatchSequenceA(
1476 _In_ MSIINSTALLCONTEXT
,
1477 _In_ DWORD cPatchInfo
,
1478 _Inout_updates_(cPatchInfo
) PMSIPATCHSEQUENCEINFOA
);
1482 MsiDeterminePatchSequenceW(
1485 _In_ MSIINSTALLCONTEXT
,
1486 _In_ DWORD cPatchInfo
,
1487 _Inout_updates_(cPatchInfo
) PMSIPATCHSEQUENCEINFOW
);
1489 #define MsiDeterminePatchSequence WINELIB_NAME_AW(MsiDeterminePatchSequence)
1493 MsiApplyMultiplePatchesA(
1500 MsiApplyMultiplePatchesW(
1505 #define MsiApplyMultiplePatches WINELIB_NAME_AW(MsiApplyMultiplePatches)
1509 MsiBeginTransactionA(
1517 MsiBeginTransactionW(
1523 #define MsiBeginTransaction WINELIB_NAME_AW(MsiBeginTransaction)
1525 UINT WINAPI
MsiEndTransaction(_In_ DWORD
);
1528 UINT WINAPI
MsiCloseHandle(MSIHANDLE
);
1529 UINT WINAPI
MsiCloseAllHandles(void);
1530 INSTALLUILEVEL WINAPI
MsiSetInternalUI(_In_ INSTALLUILEVEL
, _Inout_opt_ HWND
*);
1534 MsiSetExternalUIRecord(
1535 _In_opt_ INSTALLUI_HANDLER_RECORD
,
1538 _Out_opt_ PINSTALLUI_HANDLER_RECORD
);
1544 #endif /* __WINE_MSI_H */