blob: 0e2a14f35d7a87c76b2c94115e15ac12cb2f0019 [file] [log] [blame]
Mike McCormack6386edc2003-08-13 01:27:48 +00001/*
Mike McCormackf6125ad2003-09-27 02:19:48 +00002 * Copyright (C) 2002,2003 Mike McCormack
Mike McCormack6386edc2003-08-13 01:27:48 +00003 *
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.
8 *
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.
13 *
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19#ifndef __WINE_MSI_H
20#define __WINE_MSI_H
21
Raphael Junqueira18cdbf12004-04-28 00:29:25 +000022#ifdef __cplusplus
23extern "C" {
24#endif
25
Mike McCormackcac63872005-05-30 11:12:24 +000026#ifndef _MSI_NO_CRYPTO
Vincent Béron56da0c32005-08-10 09:51:40 +000027#include <wincrypt.h>
Mike McCormackcac63872005-05-30 11:12:24 +000028#endif
29
Mike McCormack6386edc2003-08-13 01:27:48 +000030typedef unsigned long MSIHANDLE;
Raphael Junqueira18cdbf12004-04-28 00:29:25 +000031
Mike McCormack6386edc2003-08-13 01:27:48 +000032typedef enum tagINSTALLSTATE
33{
Mike McCormackee5f97c2005-09-20 11:37:05 +000034 INSTALLSTATE_NOTUSED = -7,
Mike McCormack6386edc2003-08-13 01:27:48 +000035 INSTALLSTATE_BADCONFIG = -6,
36 INSTALLSTATE_INCOMPLETE = -5,
37 INSTALLSTATE_SOURCEABSENT = -4,
38 INSTALLSTATE_MOREDATA = -3,
39 INSTALLSTATE_INVALIDARG = -2,
40 INSTALLSTATE_UNKNOWN = -1,
41 INSTALLSTATE_BROKEN = 0,
42 INSTALLSTATE_ADVERTISED = 1,
43 INSTALLSTATE_ABSENT = 2,
44 INSTALLSTATE_LOCAL = 3,
45 INSTALLSTATE_SOURCE = 4,
46 INSTALLSTATE_DEFAULT = 5
47} INSTALLSTATE;
48
49typedef enum tagINSTALLUILEVEL
50{
51 INSTALLUILEVEL_NOCHANGE = 0,
52 INSTALLUILEVEL_DEFAULT = 1,
53 INSTALLUILEVEL_NONE = 2,
54 INSTALLUILEVEL_BASIC = 3,
55 INSTALLUILEVEL_REDUCED = 4,
Vincent Béron72984f12004-07-23 23:24:29 +000056 INSTALLUILEVEL_FULL = 5,
57 INSTALLUILEVEL_HIDECANCEL = 0x20,
58 INSTALLUILEVEL_PROGRESSONLY = 0x40,
59 INSTALLUILEVEL_ENDDIALOG = 0x80,
60 INSTALLUILEVEL_SOURCERESONLY = 0x100
Mike McCormack6386edc2003-08-13 01:27:48 +000061} INSTALLUILEVEL;
62
Mike McCormackb2d79632005-01-19 16:57:38 +000063typedef enum tagUSERINFOSTATE
64{
65 USERINFOSTATE_MOREDATA = -3,
66 USERINFOSTATE_INVALIDARG = -2,
67 USERINFOSTATE_UNKNOWN = -1,
68 USERINFOSTATE_ABSENT = 0,
69 USERINFOSTATE_PRESENT = 1,
70} USERINFOSTATE;
71
Raphael Junqueira18cdbf12004-04-28 00:29:25 +000072typedef enum tagINSTALLLEVEL
73{
74 INSTALLLEVEL_DEFAULT = 0,
75 INSTALLLEVEL_MINIMUM = 1,
76 INSTALLLEVEL_MAXIMUM = 0xFFFF
77} INSTALLLEVEL;
78
Alexandre Julliard495e0c92004-06-26 00:10:40 +000079typedef enum tagINSTALLMESSAGE
80{
81 INSTALLMESSAGE_FATALEXIT = 0,
82 INSTALLMESSAGE_ERROR = 0x01000000,
83 INSTALLMESSAGE_WARNING = 0x02000000,
84 INSTALLMESSAGE_USER = 0x03000000,
85 INSTALLMESSAGE_INFO = 0x04000000,
86 INSTALLMESSAGE_FILESINUSE = 0x05000000,
87 INSTALLMESSAGE_RESOLVESOURCE = 0x06000000,
88 INSTALLMESSAGE_OUTOFDISKSPACE = 0x07000000,
89 INSTALLMESSAGE_ACTIONSTART = 0x08000000,
90 INSTALLMESSAGE_ACTIONDATA = 0x09000000,
91 INSTALLMESSAGE_PROGRESS = 0x0a000000,
92 INSTALLMESSAGE_COMMONDATA = 0x0b000000,
93 INSTALLMESSAGE_INITIALIZE = 0x0c000000,
94 INSTALLMESSAGE_TERMINATE = 0x0d000000,
95 INSTALLMESSAGE_SHOWDIALOG = 0x0e000000
96} INSTALLMESSAGE;
97
Vincent Béron5c605102004-07-19 21:19:45 +000098typedef enum tagREINSTALLMODE
99{
100 REINSTALLMODE_REPAIR = 0x00000001,
101 REINSTALLMODE_FILEMISSING = 0x00000002,
102 REINSTALLMODE_FILEOLDERVERSION = 0x00000004,
103 REINSTALLMODE_FILEEQUALVERSION = 0x00000008,
104 REINSTALLMODE_FILEEXACT = 0x00000010,
105 REINSTALLMODE_FILEVERIFY = 0x00000020,
106 REINSTALLMODE_FILEREPLACE = 0x00000040,
107 REINSTALLMODE_MACHINEDATA = 0x00000080,
108 REINSTALLMODE_USERDATA = 0x00000100,
109 REINSTALLMODE_SHORTCUT = 0x00000200,
110 REINSTALLMODE_PACKAGE = 0x00000400
111} REINSTALLMODE;
112
Alexandre Julliard495e0c92004-06-26 00:10:40 +0000113typedef enum tagINSTALLLOGMODE
114{
115 INSTALLLOGMODE_FATALEXIT = (1 << (INSTALLMESSAGE_FATALEXIT >> 24)),
116 INSTALLLOGMODE_ERROR = (1 << (INSTALLMESSAGE_ERROR >> 24)),
117 INSTALLLOGMODE_WARNING = (1 << (INSTALLMESSAGE_WARNING >> 24)),
118 INSTALLLOGMODE_USER = (1 << (INSTALLMESSAGE_USER >> 24)),
119 INSTALLLOGMODE_INFO = (1 << (INSTALLMESSAGE_INFO >> 24)),
120 INSTALLLOGMODE_RESOLVESOURCE = (1 << (INSTALLMESSAGE_RESOLVESOURCE >> 24)),
121 INSTALLLOGMODE_OUTOFDISKSPACE = (1 << (INSTALLMESSAGE_OUTOFDISKSPACE >> 24)),
122 INSTALLLOGMODE_ACTIONSTART = (1 << (INSTALLMESSAGE_ACTIONSTART >> 24)),
123 INSTALLLOGMODE_ACTIONDATA = (1 << (INSTALLMESSAGE_ACTIONDATA >> 24)),
124 INSTALLLOGMODE_COMMONDATA = (1 << (INSTALLMESSAGE_COMMONDATA >> 24)),
125 INSTALLLOGMODE_PROPERTYDUMP = (1 << (INSTALLMESSAGE_PROGRESS >> 24)),
126 INSTALLLOGMODE_VERBOSE = (1 << (INSTALLMESSAGE_INITIALIZE >> 24)),
127 INSTALLLOGMODE_EXTRADEBUG = (1 << (INSTALLMESSAGE_TERMINATE >> 24)),
128 INSTALLLOGMODE_PROGRESS = (1 << (INSTALLMESSAGE_PROGRESS >> 24)),
129 INSTALLLOGMODE_INITIALIZE = (1 << (INSTALLMESSAGE_INITIALIZE >> 24)),
130 INSTALLLOGMODE_TERMINATE = (1 << (INSTALLMESSAGE_TERMINATE >> 24)),
131 INSTALLLOGMODE_SHOWDIALOG = (1 << (INSTALLMESSAGE_SHOWDIALOG >> 24))
132} INSTALLLOGMODE;
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000133
Vincent Bérond2df24b2004-07-23 23:28:45 +0000134typedef enum tagINSTALLLOGATTRIBUTES
135{
136 INSTALLLOGATTRIBUTES_APPEND = 0x00000001,
137 INSTALLLOGATTRIBUTES_FLUSHEACHLINE = 0x00000002
138} INSTALLLOGATTRIBUTES;
139
Mike McCormack9c1cfe72005-09-06 10:23:24 +0000140typedef enum tagINSTALLMODE
141{
142 INSTALLMODE_NODETECTION_ANY = -4,
143 INSTALLMODE_NOSOURCERESOLUTION = -3,
144 INSTALLMODE_NODETECTION = -2,
145 INSTALLMODE_EXISTING = -1,
146 INSTALLMODE_DEFAULT = 0
147} INSTALLMODE;
148
Vincent Béron1dc308e2004-07-23 23:00:30 +0000149typedef enum tagADVERTISEFLAGS
150{
151 ADVERTISEFLAGS_MACHINEASSIGN = 0,
152 ADVERTISEFLAGS_USERASSIGN = 1
153} ADVERTISEFLAGS;
154
Mike McCormack451ef3a2005-11-02 19:54:31 +0000155typedef enum tagSCRIPTFLAGS
156{
157 SCRIPTFLAGS_CACHEINFO = 1,
158 SCRIPTFLAGS_SHORTCUTS = 4,
159 SCRIPTFLAGS_MACHINEASSIGN = 8,
160 SCRIPTFLAGS_REGDATA_APPINFO = 0x10,
161 SCRIPTFLAGS_REGDATA_CNFGINFO = 0x20,
162 SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST = 0x40,
163 SCRIPTFLAGS_REGDATA_CLASSINFO = 0x80,
164 SCRIPTFLAGS_REGDATA_EXTENSIONINFO = 0x100,
165} SCRIPTFLAGS;
166
Vincent Béronbbc39742004-07-29 02:39:20 +0000167typedef enum tagINSTALLTYPE
168{
169 INSTALLTYPE_DEFAULT = 0,
170 INSTALLTYPE_NETWORK_IMAGE = 1
171} INSTALLTYPE;
172
Aric Stewartb7dc53d2005-07-05 21:00:06 +0000173typedef enum tagMSIINSTALLCONTEXT
174{
175 MSIINSTALLCONTEXT_FIRSTVISIBLE = 0,
176 MSIINSTALLCONTEXT_NONE = 0,
177 MSIINSTALLCONTEXT_USERMANAGED = 1,
178 MSIINSTALLCONTEXT_USERUNMANAGED = 2,
179 MSIINSTALLCONTEXT_MACHINE = 4,
180 MSIINSTALLCONTEXT_ALL = (MSIINSTALLCONTEXT_USERMANAGED | MSIINSTALLCONTEXT_USERUNMANAGED | MSIINSTALLCONTEXT_MACHINE),
181 MSIINSTALLCONTEXT_ALLUSERMANAGED= 8,
182} MSIINSTALLCONTEXT;
183
184typedef enum tagMSISOURCETYPE
185{
186 MSISOURCETYPE_UNKNOWN = 0x00000000L,
187 MSISOURCETYPE_NETWORK = 0x00000001L,
188 MSISOURCETYPE_URL = 0x00000002L,
189 MSISOURCETYPE_MEDIA = 0x00000004
190} MSISOURCETYPE;
191
192typedef enum tagMSICODE
193{
194 MSICODE_PRODUCT = 0x00000000L,
195 MSICODE_PATCH = 0x40000000L
196} MSICODE;
197
Mike McCormack15e578d2005-11-02 10:56:54 +0000198typedef struct _MSIFILEHASHINFO {
199 ULONG dwFileHashInfoSize;
200 ULONG dwData[4];
201} MSIFILEHASHINFO, *PMSIFILEHASHINFO;
202
Mike McCormackd7427c82004-03-15 20:10:50 +0000203#define MAX_FEATURE_CHARS 38
204
Aric Stewartc6f155a2005-07-11 13:22:24 +0000205/* Strings defined in msi.h */
206/* Advertised Information */
207
Aric Stewartc6f155a2005-07-11 13:22:24 +0000208#define INSTALLPROPERTY_PACKAGENAMEA "PackageName"
Alexandre Julliard72589142005-07-13 12:07:41 +0000209static const WCHAR INSTALLPROPERTY_PACKAGENAMEW[] = {'P','a','c','k','a','g','e','N','a','m','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000210#define INSTALLPROPERTY_PACKAGENAME WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGENAME)
211
Aric Stewartc6f155a2005-07-11 13:22:24 +0000212#define INSTALLPROPERTY_TRANSFORMSA "Transforms"
Alexandre Julliard72589142005-07-13 12:07:41 +0000213static const WCHAR INSTALLPROPERTY_TRANSFORMSW[] = {'T','r','a','n','s','f','o','r','m','s',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000214#define INSTALLPROPERTY_TRANSFORMS WINELIB_NAME_AW(INSTALLPROPERTY_TRANSFORMS)
215
Aric Stewartc6f155a2005-07-11 13:22:24 +0000216#define INSTALLPROPERTY_LANGUAGEA "Language"
Alexandre Julliard72589142005-07-13 12:07:41 +0000217static const WCHAR INSTALLPROPERTY_LANGUAGEW[] = {'L','a','n','g','u','a','g','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000218#define INSTALLPROPERTY_LANGUAGE WINELIB_NAME_AW(INSTALLPROPERTY_LANGUAGE)
219
Aric Stewartc6f155a2005-07-11 13:22:24 +0000220#define INSTALLPROPERTY_PRODUCTNAMEA "ProductName"
Alexandre Julliard72589142005-07-13 12:07:41 +0000221static const WCHAR INSTALLPROPERTY_PRODUCTNAMEW[] = {'P','r','o','d','u','c','t','N','a','m','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000222#define INSTALLPROPERTY_PRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTNAME)
223
Aric Stewartc6f155a2005-07-11 13:22:24 +0000224#define INSTALLPROPERTY_ASSIGNMENTTYPEA "AssignmentType"
Alexandre Julliard72589142005-07-13 12:07:41 +0000225static const WCHAR INSTALLPROPERTY_ASSIGNMENTTYPEW[] = {'A','s','s','i','g','n','m','e','n','t','T','y','p','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000226#define INSTALLPROPERTY_ASSIGNMENTTYPE WINELIB_NAME_AW(INSTALLPROPERTY_ASSIGNMENTTYPE)
227
Aric Stewartc6f155a2005-07-11 13:22:24 +0000228#define INSTALLPROPERTY_PACKAGECODEA "PackageCode"
Alexandre Julliard72589142005-07-13 12:07:41 +0000229static const WCHAR INSTALLPROPERTY_PACKAGECODEW[] = {'P','a','c','k','a','g','e','C','o','d','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000230#define INSTALLPROPERTY_PACKAGECODE WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGECODE)
231
Aric Stewartc6f155a2005-07-11 13:22:24 +0000232#define INSTALLPROPERTY_VERSIONA "Version"
Alexandre Julliard72589142005-07-13 12:07:41 +0000233static const WCHAR INSTALLPROPERTY_VERSIONW[]= {'V','e','r','s','i','o','n',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000234#define INSTALLPROPERTY_VERSION WINELIB_NAME_AW(INSTALLPROPERTY_VERSION)
235
236/* MSI version 1.1 and above */
237
Aric Stewartc6f155a2005-07-11 13:22:24 +0000238#define INSTALLPROPERTY_PRODUCTICONA "ProductIcon"
Alexandre Julliard72589142005-07-13 12:07:41 +0000239static const WCHAR INSTALLPROPERTY_PRODUCTICONW[] = {'P','r','o','d','u','c','t','I','c','o','n',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000240#define INSTALLPROPERTY_PRODUCTICON WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTICON)
241
242/* MSI version 1.5 and above */
Aric Stewartc6f155a2005-07-11 13:22:24 +0000243#define INSTALLPROPERTY_INSTANCETYPEA "InstanceType"
Alexandre Julliard72589142005-07-13 12:07:41 +0000244static const WCHAR INSTALLPROPERTY_INSTANCETYPEW[] = {'I','n','s','t','a','n','c','e','T','y','p','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000245#define INSTALLPROPERTY_INSTANCETYPE WINELIB_NAME_AW(INSTALLPROPERTY_INSTANCETYPE)
246
247/* MSI version 3 and above */
Aric Stewartc6f155a2005-07-11 13:22:24 +0000248#define INSTALLPROPERTY_AUTHORIZED_LUA_APPA "AuthorizedLUAApp"
Alexandre Julliard72589142005-07-13 12:07:41 +0000249static const WCHAR INSTALLPROPERTY_AUTHORIZED_LUA_APPW[] = {'A','u','t','h','o','r','i','z','e','d','L','U','A','A','p','p',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000250#define INSTALLPROPERTY_AUTHORIZED_LUA_APP WINELIB_NAME_AW(INSTALLPROPERTY_AUTHORIZED_LUA_APP)
251
252
253/* Installed Information */
Aric Stewartc6f155a2005-07-11 13:22:24 +0000254#define INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA "InstalledProductName"
Alexandre Julliard72589142005-07-13 12:07:41 +0000255static 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};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000256#define INSTALLPROPERTY_INSTALLEDPRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLEDPRODUCTNAME)
257
Aric Stewartc6f155a2005-07-11 13:22:24 +0000258#define INSTALLPROPERTY_VERSIONSTRINGA "VersionString"
Alexandre Julliard72589142005-07-13 12:07:41 +0000259static const WCHAR INSTALLPROPERTY_VERSIONSTRINGW[] = {'V','e','r','s','i','o','n','S','t','r','i','n','g',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000260#define INSTALLPROPERTY_VERSIONSTRING WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONSTRING)
261
Aric Stewartc6f155a2005-07-11 13:22:24 +0000262#define INSTALLPROPERTY_HELPLINKA "HelpLink"
Alexandre Julliard72589142005-07-13 12:07:41 +0000263static const WCHAR INSTALLPROPERTY_HELPLINKW[] = {'H','e','l','p','L','i','n','k',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000264#define INSTALLPROPERTY_HELPLINK WINELIB_NAME_AW(INSTALLPROPERTY_HELPLINK)
265
Aric Stewartc6f155a2005-07-11 13:22:24 +0000266#define INSTALLPROPERTY_HELPTELEPHONEA "HelpTelephone"
Alexandre Julliard72589142005-07-13 12:07:41 +0000267static const WCHAR INSTALLPROPERTY_HELPTELEPHONEW[] = {'H','e','l','p','T','e','l','e','p','h','o','n','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000268#define INSTALLPROPERTY_HELPTELEPHONE WINELIB_NAME_AW(INSTALLPROPERTY_HELPTELEPHONE)
269
Aric Stewartc6f155a2005-07-11 13:22:24 +0000270#define INSTALLPROPERTY_INSTALLLOCATIONA "InstallLocation"
Alexandre Julliard72589142005-07-13 12:07:41 +0000271static const WCHAR INSTALLPROPERTY_INSTALLLOCATIONW[] = {'I','n','s','t','a','l','l','L','o','c','a','t','i','o','n',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000272#define INSTALLPROPERTY_INSTALLLOCATION WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLLOCATION)
273
Aric Stewartc6f155a2005-07-11 13:22:24 +0000274#define INSTALLPROPERTY_INSTALLSOURCEA "InstallSource"
Alexandre Julliard72589142005-07-13 12:07:41 +0000275static const WCHAR INSTALLPROPERTY_INSTALLSOURCEW[] = {'I','n','s','t','a','l','l','S','o','u','r','c','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000276#define INSTALLPROPERTY_INSTALLSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLSOURCE)
277
Aric Stewartc6f155a2005-07-11 13:22:24 +0000278#define INSTALLPROPERTY_INSTALLDATEA "InstallDate"
Alexandre Julliard72589142005-07-13 12:07:41 +0000279static const WCHAR INSTALLPROPERTY_INSTALLDATEW[] = {'I','n','s','t','a','l','l','D','a','t','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000280#define INSTALLPROPERTY_INSTALLDATE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLDATE)
281
Aric Stewartc6f155a2005-07-11 13:22:24 +0000282#define INSTALLPROPERTY_PUBLISHERA "Publisher"
Alexandre Julliard72589142005-07-13 12:07:41 +0000283static const WCHAR INSTALLPROPERTY_PUBLISHERW[] ={'P','u','b','l','i','s','h','e','r',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000284#define INSTALLPROPERTY_PUBLISHER WINELIB_NAME_AW(INSTALLPROPERTY_PUBLISHER)
285
Aric Stewartc6f155a2005-07-11 13:22:24 +0000286#define INSTALLPROPERTY_LOCALPACKAGEA "LocalPackage"
Alexandre Julliard72589142005-07-13 12:07:41 +0000287static const WCHAR INSTALLPROPERTY_LOCALPACKAGEW[] = {'L','o','c','a','l','P','a','c','k','a','g','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000288#define INSTALLPROPERTY_LOCALPACKAGE WINELIB_NAME_AW(INSTALLPROPERTY_LOCALPACKAGE)
289
Aric Stewartc6f155a2005-07-11 13:22:24 +0000290#define INSTALLPROPERTY_URLINFOABOUTA "URLInfoAbout"
Alexandre Julliard72589142005-07-13 12:07:41 +0000291static const WCHAR INSTALLPROPERTY_URLINFOABOUTW[] = {'U','R','L','I','n','f','o','A','b','o','u','t',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000292#define INSTALLPROPERTY_URLINFOABOUT WINELIB_NAME_AW(INSTALLPROPERTY_URLINFOABOUT)
293
Aric Stewartc6f155a2005-07-11 13:22:24 +0000294#define INSTALLPROPERTY_URLUPDATEINFOA "URLUpdateInfo"
Alexandre Julliard72589142005-07-13 12:07:41 +0000295static const WCHAR INSTALLPROPERTY_URLUPDATEINFOW[] = {'U','R','L','U','p','d','a','t','e','I','n','f','o',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000296#define INSTALLPROPERTY_URLUPDATEINFO WINELIB_NAME_AW(INSTALLPROPERTY_URLUPDATEINFO)
297
Aric Stewartc6f155a2005-07-11 13:22:24 +0000298#define INSTALLPROPERTY_VERSIONMINORA "VersionMinor"
Alexandre Julliard72589142005-07-13 12:07:41 +0000299static const WCHAR INSTALLPROPERTY_VERSIONMINORW[] = {'V','e','r','s','i','o','n','M','i','n','o','r',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000300#define INSTALLPROPERTY_VERSIONMINOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMINOR)
301
Aric Stewartc6f155a2005-07-11 13:22:24 +0000302#define INSTALLPROPERTY_VERSIONMAJORA "VersionMajor"
Alexandre Julliard72589142005-07-13 12:07:41 +0000303static const WCHAR INSTALLPROPERTY_VERSIONMAJORW[] = {'V','e','r','s','i','o','n','M','a','j','o','r',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000304#define INSTALLPROPERTY_VERSIONMAJOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMAJOR)
305
Aric Stewartc6f155a2005-07-11 13:22:24 +0000306#define INSTALLPROPERTY_PRODUCTIDA "ProductID"
Alexandre Julliard72589142005-07-13 12:07:41 +0000307static const WCHAR INSTALLPROPERTY_PRODUCTIDW[] = {'P','r','o','d','u','c','t','I','D',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000308#define INSTALLPROPERTY_PRODUCTID WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTID)
309
Aric Stewartc6f155a2005-07-11 13:22:24 +0000310#define INSTALLPROPERTY_REGCOMPANYA "RegCompany"
Alexandre Julliard72589142005-07-13 12:07:41 +0000311static const WCHAR INSTALLPROPERTY_REGCOMPANYW[] = {'R','e','g','C','o','m','p','a','n','y',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000312#define INSTALLPROPERTY_REGCOMPANY WINELIB_NAME_AW(INSTALLPROPERTY_REGCOMPANY)
313
Aric Stewartc6f155a2005-07-11 13:22:24 +0000314#define INSTALLPROPERTY_REGOWNERA "RegOwner"
Alexandre Julliard72589142005-07-13 12:07:41 +0000315static const WCHAR INSTALLPROPERTY_REGOWNERW[] = {'R','e','g','O','w','n','e','r',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000316#define INSTALLPROPERTY_REGOWNER WINELIB_NAME_AW(INSTALLPROPERTY_REGOWNER)
317
318/* MSI Version 3.0 and greater */
Aric Stewartc6f155a2005-07-11 13:22:24 +0000319#define INSTALLPROPERTY_UNINSTALLABLEA "Uninstallable"
Alexandre Julliard72589142005-07-13 12:07:41 +0000320static const WCHAR INSTALLPROPERTY_UNINSTALLABLEW[] = {'U','n','i','n','s','t','a','l','l','a','b','l','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000321#define INSTALLPROPERTY_UNINSTALLABLE WINELIB_NAME_AW(INSTALLPROPERTY_UNINSTALLABLE)
322
Aric Stewartc6f155a2005-07-11 13:22:24 +0000323#define INSTALLPROPERTY_PRODUCTSTATEA "State"
Alexandre Julliard72589142005-07-13 12:07:41 +0000324static const WCHAR INSTALLPROPERTY_PRODUCTSTATEW[] = {'S','t','a','t','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000325#define INSTALLPROPERTY_PRODUCTSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTSTATE)
326
Aric Stewartc6f155a2005-07-11 13:22:24 +0000327#define INSTALLPROPERTY_PATCHSTATEA "State"
Alexandre Julliard72589142005-07-13 12:07:41 +0000328static const WCHAR INSTALLPROPERTY_PATCHSTATEW[] ={'S','t','a','t','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000329#define INSTALLPROPERTY_PATCHSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHSTATE)
330
Aric Stewartc6f155a2005-07-11 13:22:24 +0000331#define INSTALLPROPERTY_PATCHTYPEA "PatchType"
Alexandre Julliard72589142005-07-13 12:07:41 +0000332static const WCHAR INSTALLPROPERTY_PATCHTYPEW[] = {'P','a','t','c','h','T','y','p','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000333#define INSTALLPROPERTY_PATCHTYPE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHTYPE)
334
Aric Stewartc6f155a2005-07-11 13:22:24 +0000335#define INSTALLPROPERTY_LUAENABLEDA "LUAEnabled"
Alexandre Julliard72589142005-07-13 12:07:41 +0000336static const WCHAR INSTALLPROPERTY_LUAENABLEDW[] = {'L','U','A','E','n','a','b','l','e','d',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000337#define INSTALLPROPERTY_LUAENABLED WINELIB_NAME_AW(INSTALLPROPERTY_LUAENABLED)
338
Aric Stewartc6f155a2005-07-11 13:22:24 +0000339#define INSTALLPROPERTY_DISPLAYNAMEA "DisplayName"
Alexandre Julliard72589142005-07-13 12:07:41 +0000340static const WCHAR INSTALLPROPERTY_DISPLAYNAMEW[] = {'D','i','s','p','l','a','y','N','a','m','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000341#define INSTALLPROPERTY_DISPLAYNAME WINELIB_NAME_AW(INSTALLPROPERTY_DISPLAYNAME)
342
Aric Stewartc6f155a2005-07-11 13:22:24 +0000343#define INSTALLPROPERTY_MOREINFOURLA "MoreInfoURL"
Alexandre Julliard72589142005-07-13 12:07:41 +0000344static const WCHAR INSTALLPROPERTY_MOREINFOURLW[] = {'M','o','r','e','I','n','f','o','U','R','L',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000345#define INSTALLPROPERTY_MOREINFOURL WINELIB_NAME_AW(INSTALLPROPERTY_MOREINFOURL)
346
347/* Source List Info */
Aric Stewartc6f155a2005-07-11 13:22:24 +0000348#define INSTALLPROPERTY_LASTUSEDSOURCEA "LastUsedSource"
Alexandre Julliard72589142005-07-13 12:07:41 +0000349static const WCHAR INSTALLPROPERTY_LASTUSEDSOURCEW[] = {'L','a','s','t','U','s','e','d','S','o','u','r','c','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000350#define INSTALLPROPERTY_LASTUSEDSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDSOURCEW)
351
Aric Stewartc6f155a2005-07-11 13:22:24 +0000352#define INSTALLPROPERTY_LASTUSEDTYPEA "LastUsedType"
Alexandre Julliard72589142005-07-13 12:07:41 +0000353static const WCHAR INSTALLPROPERTY_LASTUSEDTYPEW[] = {'L','a','s','t','U','s','e','d','T','y','p','e',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000354#define INSTALLPROPERTY_LASTUSEDTYPE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDTYPE)
355
Aric Stewartc6f155a2005-07-11 13:22:24 +0000356#define INSTALLPROPERTY_MEDIAPACKAGEPATHA "MediaPackagePath"
Alexandre Julliard72589142005-07-13 12:07:41 +0000357static const WCHAR INSTALLPROPERTY_MEDIAPACKAGEPATHW[] = {'M','e','d','i','a','P','a','c','k','a','g','e','P','a','t','h',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000358#define INSTALLPROPERTY_MEDIAPACKAGEPATH WINELIB_NAME_AW(INSTALLPROPERTY_MEDIAPACKAGEPATH)
359
Aric Stewartc6f155a2005-07-11 13:22:24 +0000360#define INSTALLPROPERTY_DISKPROMPTA "DiskPrompt"
Alexandre Julliard72589142005-07-13 12:07:41 +0000361static const WCHAR INSTALLPROPERTY_DISKPROMPTW[] = {'D','i','s','k','P','r','o','m','p','t',0};
Aric Stewartc6f155a2005-07-11 13:22:24 +0000362#define INSTALLPROPERTY_DISKPROMPT WINELIB_NAME_AW(INSTALLPROPERTY_DISKPROMPT)
363
Mike McCormackb84561c2005-01-04 20:31:31 +0000364typedef INT (CALLBACK *INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR);
365typedef INT (CALLBACK *INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR);
Alexandre Julliard495e0c92004-06-26 00:10:40 +0000366
367UINT WINAPI MsiAdvertiseProductA(LPCSTR, LPCSTR, LPCSTR, LANGID);
368UINT WINAPI MsiAdvertiseProductW(LPCWSTR, LPCWSTR, LPCWSTR, LANGID);
369#define MsiAdvertiseProduct WINELIB_NAME_AW(MsiAdvertiseProduct)
Mike McCormack6386edc2003-08-13 01:27:48 +0000370
Mike McCormackbd556842005-01-06 19:44:46 +0000371UINT WINAPI MsiAdvertiseProductExA(LPCSTR, LPCSTR, LPCSTR, LANGID, DWORD, DWORD);
372UINT WINAPI MsiAdvertiseProductExW(LPCWSTR, LPCWSTR, LPCWSTR, LANGID, DWORD, DWORD);
373#define MsiAdvertiseProductEx WINELIB_NAME_AW(MsiAdvertiseProductEx)
374
Mike McCormack6386edc2003-08-13 01:27:48 +0000375UINT WINAPI MsiInstallProductA(LPCSTR, LPCSTR);
376UINT WINAPI MsiInstallProductW(LPCWSTR, LPCWSTR);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000377#define MsiInstallProduct WINELIB_NAME_AW(MsiInstallProduct)
Mike McCormack6386edc2003-08-13 01:27:48 +0000378
Vincent Béron5c605102004-07-19 21:19:45 +0000379UINT WINAPI MsiReinstallProductA(LPCSTR, DWORD);
380UINT WINAPI MsiReinstallProductW(LPCWSTR, DWORD);
381#define MsiReinstallProduct WINELIB_NAME_AW(MsiReinstallProduct)
382
Vincent Béronbbc39742004-07-29 02:39:20 +0000383UINT WINAPI MsiApplyPatchA(LPCSTR, LPCSTR, INSTALLTYPE, LPCSTR);
384UINT WINAPI MsiApplyPatchW(LPCWSTR, LPCWSTR, INSTALLTYPE, LPCWSTR);
385#define MsiApplyPatch WINELIB_NAME_AW(MsiApplyPatch)
386
Mike McCormackbd556842005-01-06 19:44:46 +0000387UINT WINAPI MsiEnumProductsA(DWORD, LPSTR);
388UINT WINAPI MsiEnumProductsW(DWORD, LPWSTR);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000389#define MsiEnumProducts WINELIB_NAME_AW(MsiEnumProducts)
Mike McCormack6386edc2003-08-13 01:27:48 +0000390
391UINT WINAPI MsiEnumFeaturesA(LPCSTR, DWORD, LPSTR, LPSTR);
392UINT WINAPI MsiEnumFeaturesW(LPCWSTR, DWORD, LPWSTR, LPWSTR);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000393#define MsiEnumFeatures WINELIB_NAME_AW(MsiEnumFeatures)
Mike McCormack6386edc2003-08-13 01:27:48 +0000394
395UINT WINAPI MsiEnumComponentsA(DWORD, LPSTR);
396UINT WINAPI MsiEnumComponentsW(DWORD, LPWSTR);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000397#define MsiEnumComponents WINELIB_NAME_AW(MsiEnumComponents)
Mike McCormack6386edc2003-08-13 01:27:48 +0000398
399UINT WINAPI MsiEnumClientsA(LPCSTR, DWORD, LPSTR);
400UINT WINAPI MsiEnumClientsW(LPCWSTR, DWORD, LPWSTR);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000401#define MsiEnumClients WINELIB_NAME_AW(MsiEnumClients)
Mike McCormack6386edc2003-08-13 01:27:48 +0000402
Mike McCormackf6125ad2003-09-27 02:19:48 +0000403UINT WINAPI MsiOpenPackageA(LPCSTR, MSIHANDLE*);
404UINT WINAPI MsiOpenPackageW(LPCWSTR, MSIHANDLE*);
405#define MsiOpenPackage WINELIB_NAME_AW(MsiOpenPackage)
Mike McCormack6386edc2003-08-13 01:27:48 +0000406
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000407UINT WINAPI MsiOpenPackageExA(LPCSTR, DWORD, MSIHANDLE*);
408UINT WINAPI MsiOpenPackageExW(LPCWSTR, DWORD, MSIHANDLE*);
409#define MsiOpenPackageEx WINELIB_NAME_AW(MsiOpenPackageEx)
410
Mike McCormacke40da9f2003-10-30 22:47:42 +0000411UINT WINAPI MsiOpenProductA(LPCSTR, MSIHANDLE*);
412UINT WINAPI MsiOpenProductW(LPCWSTR, MSIHANDLE*);
413#define MsiOpenProduct WINELIB_NAME_AW(MsiOpenProduct)
414
Mike McCormack6386edc2003-08-13 01:27:48 +0000415UINT WINAPI MsiProvideComponentFromDescriptorA(LPCSTR,LPSTR,DWORD*,DWORD*);
416UINT WINAPI MsiProvideComponentFromDescriptorW(LPCWSTR,LPWSTR,DWORD*,DWORD*);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000417#define MsiProvideComponentFromDescriptor WINELIB_NAME_AW(MsiProvideComponentFromDescriptor)
Mike McCormack6386edc2003-08-13 01:27:48 +0000418
Mike McCormackd7427c82004-03-15 20:10:50 +0000419UINT WINAPI MsiGetProductPropertyA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
420UINT WINAPI MsiGetProductPropertyW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
421#define MsiGetProductProperty WINELIB_NAME_AW(MsiGetProductProperty)
422
Mike McCormackd48f3b62003-11-05 01:42:02 +0000423UINT WINAPI MsiVerifyPackageA(LPCSTR);
424UINT WINAPI MsiVerifyPackageW(LPCWSTR);
425#define MsiVerifyPackage WINELIB_NAME_AW(MsiVerifyPackage)
426
Mike McCormackd72bd7e2003-12-01 22:38:43 +0000427INSTALLSTATE WINAPI MsiQueryProductStateA(LPCSTR);
428INSTALLSTATE WINAPI MsiQueryProductStateW(LPCWSTR);
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000429#define MsiQueryProductState WINELIB_NAME_AW(MsiQueryProductState)
430
Mike McCormackb84561c2005-01-04 20:31:31 +0000431UINT WINAPI MsiConfigureProductA(LPCSTR, int, INSTALLSTATE);
432UINT WINAPI MsiConfigureProductW(LPCWSTR, int, INSTALLSTATE);
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000433#define MsiConfigureProduct WINELIB_NAME_AW(MsiConfigureProduct);
434
Mike McCormackd42081f2005-02-10 18:57:42 +0000435UINT WINAPI MsiConfigureProductExA(LPCSTR, int, INSTALLSTATE, LPCSTR);
436UINT WINAPI MsiConfigureProductExW(LPCWSTR, int, INSTALLSTATE, LPCWSTR);
437#define MsiConfigureProductEx WINELIB_NAME_AW(MsiConfigureProductEx);
438
Mike McCormack4a202c22005-09-16 18:45:04 +0000439UINT WINAPI MsiConfigureFeatureA(LPCSTR, LPCSTR, INSTALLSTATE);
440UINT WINAPI MsiConfigureFeatureW(LPCWSTR, LPCWSTR, INSTALLSTATE);
441#define MsiConfigureFeature WINELIB_NAME_AW(MsiConfigureFeature);
442
Mike McCormackb84561c2005-01-04 20:31:31 +0000443UINT WINAPI MsiGetProductCodeA(LPCSTR, LPSTR);
444UINT WINAPI MsiGetProductCodeW(LPCWSTR, LPWSTR);
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000445#define MsiGetProductCode WINELIB_NAME_AW(MsiGetProductCode)
446
Mike McCormackb84561c2005-01-04 20:31:31 +0000447UINT WINAPI MsiGetProductInfoA(LPCSTR, LPCSTR, LPSTR, DWORD *);
448UINT WINAPI MsiGetProductInfoW(LPCWSTR, LPCWSTR, LPWSTR, DWORD *);
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000449#define MsiGetProductInfo WINELIB_NAME_AW(MsiGetProductInfo)
450
Mike McCormackb84561c2005-01-04 20:31:31 +0000451UINT WINAPI MsiEnableLogA(DWORD, LPCSTR, DWORD);
452UINT WINAPI MsiEnableLogW(DWORD, LPCWSTR, DWORD);
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000453#define MsiEnableLog WINELIB_NAME_AW(MsiEnableLog)
454
Alexandre Julliard495e0c92004-06-26 00:10:40 +0000455INSTALLUI_HANDLERA WINAPI MsiSetExternalUIA(INSTALLUI_HANDLERA, DWORD, LPVOID);
456INSTALLUI_HANDLERW WINAPI MsiSetExternalUIW(INSTALLUI_HANDLERW, DWORD, LPVOID);
457#define MsiSetExternalUI WINELIB_NAME_AW(MsiSetExternalUI)
458
459INSTALLSTATE WINAPI MsiGetComponentPathA(LPCSTR, LPCSTR, LPSTR, DWORD*);
460INSTALLSTATE WINAPI MsiGetComponentPathW(LPCWSTR, LPCWSTR, LPWSTR, DWORD*);
461#define MsiGetComponentPath WINELIB_NAME_AW(MsiGetComponentPath)
462
Mike McCormackb84561c2005-01-04 20:31:31 +0000463INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR, LPCSTR);
464INSTALLSTATE WINAPI MsiQueryFeatureStateW(LPCWSTR, LPCWSTR);
Alexandre Julliard495e0c92004-06-26 00:10:40 +0000465#define MsiQueryFeatureState WINELIB_NAME_AW(MsiQueryFeatureState)
466
Mike McCormackb84561c2005-01-04 20:31:31 +0000467UINT WINAPI MsiGetFeatureUsageA(LPCSTR, LPCSTR, DWORD*, WORD*);
468UINT WINAPI MsiGetFeatureUsageW(LPCWSTR, LPCWSTR, DWORD*, WORD*);
469#define MsiGetFeatureUsage WINELIB_NAME_AW(MsiGetFeatureUsage)
470
471UINT WINAPI MsiEnumRelatedProductsA(LPCSTR, DWORD, DWORD, LPSTR);
472UINT WINAPI MsiEnumRelatedProductsW(LPCWSTR, DWORD, DWORD, LPWSTR);
473#define MsiEnumRelatedProducts WINELIB_NAME_AW(MsiEnumRelatedProducts)
474
475UINT WINAPI MsiProvideAssemblyA(LPCSTR, LPCSTR, DWORD, DWORD, LPSTR, DWORD*);
476UINT WINAPI MsiProvideAssemblyW(LPCWSTR, LPCWSTR, DWORD, DWORD, LPWSTR, DWORD*);
477#define MsiProvideAssembly WINELIB_NAME_AW(MsiProvideAssembly)
478
Mike McCormackd78dce72005-11-15 16:55:04 +0000479UINT WINAPI MsiEnumComponentQualifiersA(LPCSTR, DWORD, LPSTR, DWORD*, LPSTR, DWORD*);
480UINT WINAPI MsiEnumComponentQualifiersW(LPCWSTR, DWORD, LPWSTR, DWORD*, LPWSTR, DWORD*);
Mike McCormackb84561c2005-01-04 20:31:31 +0000481#define MsiEnumComponentQualifiers WINELIB_NAME_AW(MsiEnumComponentQualifiers)
482
483UINT WINAPI MsiGetFileVersionA(LPCSTR, LPSTR, DWORD*, LPSTR, DWORD*);
484UINT WINAPI MsiGetFileVersionW(LPCWSTR, LPWSTR, DWORD*, LPWSTR, DWORD*);
Kevin Koltzau3f8d8be2004-09-06 21:25:48 +0000485#define MsiGetFileVersion WINELIB_NAME_AW(MsiGetFileVersion)
486
Mike McCormackbd556842005-01-06 19:44:46 +0000487UINT WINAPI MsiMessageBoxA(HWND, LPCSTR, LPCSTR, UINT, WORD, DWORD);
488UINT WINAPI MsiMessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT, WORD, DWORD);
489#define MsiMessageBox WINELIB_NAME_AW(MsiMessageBox)
490
Mike McCormackd42081f2005-02-10 18:57:42 +0000491UINT WINAPI MsiProvideQualifiedComponentExA(LPCSTR, LPCSTR, DWORD, LPSTR, DWORD, DWORD, LPSTR, DWORD*);
492UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR, LPCWSTR, DWORD, LPWSTR, DWORD, DWORD, LPWSTR, DWORD*);
493#define MsiProvideQualifiedComponentEx WINELIB_NAME_AW(MsiProvideQualifiedComponentEx)
494
495UINT WINAPI MsiProvideQualifiedComponentA(LPCSTR, LPCSTR, DWORD, LPSTR, DWORD*);
496UINT WINAPI MsiProvideQualifiedComponentW(LPCWSTR, LPCWSTR, DWORD, LPWSTR, DWORD*);
497#define MsiProvideQualifiedComponent WINELIB_NAME_AW(MsiProvideQualifiedComponent)
498
499USERINFOSTATE WINAPI MsiGetUserInfoA(LPCSTR, LPSTR, DWORD*, LPSTR, DWORD*, LPSTR, DWORD*);
500USERINFOSTATE WINAPI MsiGetUserInfoW(LPCWSTR, LPWSTR, DWORD*, LPWSTR, DWORD*, LPWSTR, DWORD*);
501#define MsiGetUserInfo WINELIB_NAME_AW(MsiGetUserInfo)
502
Mike McCormackcac63872005-05-30 11:12:24 +0000503UINT WINAPI MsiCollectUserInfoA(LPCSTR);
504UINT WINAPI MsiCollectUserInfoW(LPCWSTR);
Mike McCormackd42081f2005-02-10 18:57:42 +0000505#define MsiCollectUserInfo WINELIB_NAME_AW(MsiCollectUserInfo)
506
Mike McCormackcac63872005-05-30 11:12:24 +0000507UINT WINAPI MsiReinstallFeatureA(LPCSTR, LPCSTR, DWORD);
508UINT WINAPI MsiReinstallFeatureW(LPCWSTR, LPCWSTR, DWORD);
509#define MsiReinstallFeature WINELIB_NAME_AW(MsiReinstallFeature)
510
511UINT WINAPI MsiGetShortcutTargetA(LPCSTR, LPSTR, LPSTR, LPSTR);
512UINT WINAPI MsiGetShortcutTargetW(LPCWSTR, LPWSTR, LPWSTR, LPWSTR);
513#define MsiGetShortcutTarget WINELIB_NAME_AW(MsiGetShortcutTarget)
514
515INSTALLSTATE WINAPI MsiUseFeatureW(LPCWSTR, LPCWSTR);
516INSTALLSTATE WINAPI MsiUseFeatureA(LPCSTR, LPCSTR);
517#define MsiUseFeature WINELIB_NAME_AW(MsiUseFeature)
518
519INSTALLSTATE WINAPI MsiUseFeatureExW(LPCWSTR, LPCWSTR, DWORD, DWORD);
520INSTALLSTATE WINAPI MsiUseFeatureExA(LPCSTR, LPCSTR, DWORD, DWORD);
521#define MsiUseFeatureEx WINELIB_NAME_AW(MsiUseFeatureEx)
522
523HRESULT WINAPI MsiGetFileSignatureInformationA(LPCSTR, DWORD, PCCERT_CONTEXT*, BYTE*, DWORD*);
524HRESULT WINAPI MsiGetFileSignatureInformationW(LPCWSTR, DWORD, PCCERT_CONTEXT*, BYTE*, DWORD*);
525#define MsiGetFileSignatureInformation WINELIB_NAME_AW(MsiGetFileSignatureInformation)
526
527INSTALLSTATE WINAPI MsiLocateComponentA(LPCSTR, LPSTR, DWORD *);
528INSTALLSTATE WINAPI MsiLocateComponentW(LPCWSTR, LPWSTR, DWORD *);
529#define MsiLocateComponent WINELIB_NAME_AW(MsiLocateComponent)
530
Aric Stewartacb5ed02005-07-11 17:59:35 +0000531UINT WINAPI MsiSourceListGetInfoA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR, LPSTR, LPDWORD);
532UINT WINAPI MsiSourceListGetInfoW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, LPCWSTR, LPWSTR, LPDWORD);
533#define MsiSourceListGetInfo WINELIB_NAME_AW(MsiSourceListGetInfo)
534
535UINT WINAPI MsiSourceListSetInfoA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR, LPCSTR);
536UINT WINAPI MsiSourceListSetInfoW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, LPCWSTR, LPCWSTR);
537#define MsiSourceListSetInfo WINELIB_NAME_AW(MsiSourceListSetInfo)
538
539UINT WINAPI MsiSourceListAddSourceExA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR, DWORD);
540UINT WINAPI MsiSourceListAddSourceExW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, LPCWSTR, DWORD);
541#define MsiSourceListAddSourceEx WINELIB_NAME_AW(MsiSourceListAddSourceEx)
542
543UINT WINAPI MsiSourceListAddMediaDiskA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPCSTR, LPCSTR);
544UINT WINAPI MsiSourceListAddMediaDiskW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPCWSTR, LPCWSTR);
545#define MsiSourceListAddMediaDisk WINELIB_NAME_AW(MsiSourceListAddMediaDisk)
546
Aric Stewartd3d5ad62005-09-06 11:05:24 +0000547UINT WINAPI MsiEnumPatchesA(LPCSTR, DWORD, LPSTR, LPSTR, DWORD*);
548UINT WINAPI MsiEnumPatchesW(LPCWSTR, DWORD, LPWSTR, LPWSTR, DWORD*);
549#define MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches)
550
Mike McCormack15e578d2005-11-02 10:56:54 +0000551UINT WINAPI MsiGetFileHashA(LPCSTR, DWORD, PMSIFILEHASHINFO);
552UINT WINAPI MsiGetFileHashW(LPCWSTR, DWORD, PMSIFILEHASHINFO);
553#define MsiGetFileHash WINELIB_NAME_AW(MsiGetFileHash)
554
Mike McCormack451ef3a2005-11-02 19:54:31 +0000555UINT WINAPI MsiAdvertiseScriptA(LPCSTR, DWORD, PHKEY, BOOL);
556UINT WINAPI MsiAdvertiseScriptW(LPCWSTR, DWORD, PHKEY, BOOL);
557#define MsiAdvertiseScript WINELIB_NAME_AW(MsiAdvertiseScript)
558
Mike McCormackb84561c2005-01-04 20:31:31 +0000559/* Non Unicode */
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000560UINT WINAPI MsiCloseHandle(MSIHANDLE);
Eric Pouech4056d7e2004-12-13 21:19:01 +0000561UINT WINAPI MsiCloseAllHandles(void);
Vincent Béron72984f12004-07-23 23:24:29 +0000562INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL, HWND*);
Raphael Junqueira18cdbf12004-04-28 00:29:25 +0000563
564#ifdef __cplusplus
565}
566#endif
Mike McCormackd72bd7e2003-12-01 22:38:43 +0000567
Mike McCormack6386edc2003-08-13 01:27:48 +0000568#endif /* __WINE_MSI_H */