1 /* 2 * Copyright (C) 2002,2003 Mike McCormack 3 * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19 #ifndef __WINE_MSI_H 20 #define __WINE_MSI_H 21 22 #ifndef _MSI_NO_CRYPTO 23 #include <wincrypt.h> 24 #endif 25 26 #define MAX_GUID_CHARS 38 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 typedef ULONG MSIHANDLE; 33 34 typedef enum tagINSTALLSTATE 35 { 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 49 } INSTALLSTATE; 50 51 typedef enum tagMSIPATCHSTATE 52 { 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) 60 } MSIPATCHSTATE; 61 62 typedef enum tagINSTALLUILEVEL 63 { 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 74 } INSTALLUILEVEL; 75 76 typedef enum tagUSERINFOSTATE 77 { 78 USERINFOSTATE_MOREDATA = -3, 79 USERINFOSTATE_INVALIDARG = -2, 80 USERINFOSTATE_UNKNOWN = -1, 81 USERINFOSTATE_ABSENT = 0, 82 USERINFOSTATE_PRESENT = 1, 83 } USERINFOSTATE; 84 85 typedef enum tagINSTALLLEVEL 86 { 87 INSTALLLEVEL_DEFAULT = 0, 88 INSTALLLEVEL_MINIMUM = 1, 89 INSTALLLEVEL_MAXIMUM = 0xFFFF 90 } INSTALLLEVEL; 91 92 typedef enum tagINSTALLMESSAGE 93 { 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, 112 } INSTALLMESSAGE; 113 114 typedef enum tagREINSTALLMODE 115 { 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 127 } REINSTALLMODE; 128 129 typedef enum tagINSTALLLOGMODE 130 { 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)), 152 } INSTALLLOGMODE; 153 154 typedef enum tagINSTALLLOGATTRIBUTES 155 { 156 INSTALLLOGATTRIBUTES_APPEND = 0x00000001, 157 INSTALLLOGATTRIBUTES_FLUSHEACHLINE = 0x00000002 158 } INSTALLLOGATTRIBUTES; 159 160 typedef enum tagINSTALLMODE 161 { 162 INSTALLMODE_NODETECTION_ANY = -4, 163 INSTALLMODE_NOSOURCERESOLUTION = -3, 164 INSTALLMODE_NODETECTION = -2, 165 INSTALLMODE_EXISTING = -1, 166 INSTALLMODE_DEFAULT = 0 167 } INSTALLMODE; 168 169 typedef enum tagADVERTISEFLAGS 170 { 171 ADVERTISEFLAGS_MACHINEASSIGN = 0, 172 ADVERTISEFLAGS_USERASSIGN = 1 173 } ADVERTISEFLAGS; 174 175 typedef enum tagSCRIPTFLAGS 176 { 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, 185 } SCRIPTFLAGS; 186 187 typedef enum tagINSTALLTYPE 188 { 189 INSTALLTYPE_DEFAULT = 0, 190 INSTALLTYPE_NETWORK_IMAGE = 1, 191 INSTALLTYPE_SINGLE_INSTANCE = 2, 192 } INSTALLTYPE; 193 194 typedef enum tagMSIINSTALLCONTEXT 195 { 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, 203 } MSIINSTALLCONTEXT; 204 205 typedef enum tagMSISOURCETYPE 206 { 207 MSISOURCETYPE_UNKNOWN = 0x00000000L, 208 MSISOURCETYPE_NETWORK = 0x00000001L, 209 MSISOURCETYPE_URL = 0x00000002L, 210 MSISOURCETYPE_MEDIA = 0x00000004L 211 } MSISOURCETYPE; 212 213 typedef enum tagMSICODE 214 { 215 MSICODE_PRODUCT = 0x00000000L, 216 MSICODE_PATCH = 0x40000000L 217 } MSICODE; 218 219 typedef enum tagINSTALLFEATUREATTRIBUTE 220 { 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; 228 229 typedef struct _MSIFILEHASHINFO { 230 ULONG dwFileHashInfoSize; 231 ULONG dwData[4]; 232 } MSIFILEHASHINFO, *PMSIFILEHASHINFO; 233 234 typedef enum tagMSIPATCHDATATYPE 235 { 236 MSIPATCH_DATATYPE_PATCHFILE = 0, 237 MSIPATCH_DATATYPE_XMLPATH = 1, 238 MSIPATCH_DATATYPE_XMLBLOB = 2, 239 } MSIPATCHDATATYPE, *PMSIPATCHDATATYPE; 240 241 typedef struct tagMSIPATCHSEQUENCEINFOA 242 { 243 LPCSTR szPatchData; 244 MSIPATCHDATATYPE ePatchDataType; 245 DWORD dwOrder; 246 UINT uStatus; 247 } MSIPATCHSEQUENCEINFOA, *PMSIPATCHSEQUENCEINFOA; 248 249 typedef struct tagMSIPATCHSEQUENCEINFOW 250 { 251 LPCWSTR szPatchData; 252 MSIPATCHDATATYPE ePatchDataType; 253 DWORD dwOrder; 254 UINT uStatus; 255 } MSIPATCHSEQUENCEINFOW, *PMSIPATCHSEQUENCEINFOW; 256 257 #define MAX_FEATURE_CHARS 38 258 259 #define ERROR_PATCH_TARGET_NOT_FOUND 1642 260 261 /* Strings defined in msi.h */ 262 /* Advertised Information */ 263 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) 267 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) 271 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) 275 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) 279 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) 283 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) 287 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) 291 292 /* MSI version 1.1 and above */ 293 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) 297 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) 302 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) 307 308 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) 313 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) 317 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) 321 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) 325 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) 329 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) 333 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) 337 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) 341 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) 345 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) 349 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) 353 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) 357 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) 361 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) 365 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) 369 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) 373 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) 378 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) 382 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) 386 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) 390 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) 394 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) 398 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) 402 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) 407 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) 411 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) 415 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) 419 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; 424 425 UINT 426 WINAPI 427 MsiAdvertiseProductA( 428 _In_ LPCSTR, 429 _In_opt_ LPCSTR, 430 _In_opt_ LPCSTR, 431 _In_ LANGID); 432 433 UINT 434 WINAPI 435 MsiAdvertiseProductW( 436 _In_ LPCWSTR, 437 _In_opt_ LPCWSTR, 438 _In_opt_ LPCWSTR, 439 _In_ LANGID); 440 441 #define MsiAdvertiseProduct WINELIB_NAME_AW(MsiAdvertiseProduct) 442 443 UINT 444 WINAPI 445 MsiAdvertiseProductExA( 446 _In_ LPCSTR, 447 _In_opt_ LPCSTR, 448 _In_opt_ LPCSTR, 449 _In_ LANGID, 450 _In_ DWORD, 451 _In_ DWORD); 452 453 UINT 454 WINAPI 455 MsiAdvertiseProductExW( 456 _In_ LPCWSTR, 457 _In_opt_ LPCWSTR, 458 _In_opt_ LPCWSTR, 459 _In_ LANGID, 460 _In_ DWORD, 461 _In_ DWORD); 462 463 #define MsiAdvertiseProductEx WINELIB_NAME_AW(MsiAdvertiseProductEx) 464 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) 468 469 UINT WINAPI MsiReinstallProductA(_In_ LPCSTR, _In_ DWORD); 470 UINT WINAPI MsiReinstallProductW(_In_ LPCWSTR, _In_ DWORD); 471 #define MsiReinstallProduct WINELIB_NAME_AW(MsiReinstallProduct) 472 473 UINT 474 WINAPI 475 MsiApplyPatchA( 476 _In_ LPCSTR, 477 _In_opt_ LPCSTR, 478 _In_ INSTALLTYPE, 479 _In_opt_ LPCSTR); 480 481 UINT 482 WINAPI 483 MsiApplyPatchW( 484 _In_ LPCWSTR, 485 _In_opt_ LPCWSTR, 486 _In_ INSTALLTYPE, 487 _In_opt_ LPCWSTR); 488 489 #define MsiApplyPatch WINELIB_NAME_AW(MsiApplyPatch) 490 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) 494 495 UINT 496 WINAPI 497 MsiEnumProductsA( 498 _In_ DWORD, 499 _Out_writes_(MAX_GUID_CHARS + 1) LPSTR); 500 501 UINT 502 WINAPI 503 MsiEnumProductsW( 504 _In_ DWORD, 505 _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR); 506 507 #define MsiEnumProducts WINELIB_NAME_AW(MsiEnumProducts) 508 509 UINT 510 WINAPI 511 MsiEnumProductsExA( 512 _In_opt_ LPCSTR, 513 _In_opt_ LPCSTR, 514 _In_ DWORD, 515 _In_ DWORD, 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); 520 521 UINT 522 WINAPI 523 MsiEnumProductsExW( 524 _In_opt_ LPCWSTR, 525 _In_opt_ LPCWSTR, 526 _In_ DWORD, 527 _In_ DWORD, 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); 532 533 #define MsiEnumProductsEx WINELIB_NAME_AW(MsiEnumProductsEx) 534 535 UINT 536 WINAPI 537 MsiEnumFeaturesA( 538 _In_ LPCSTR, 539 _In_ DWORD, 540 _Out_writes_(MAX_FEATURE_CHARS + 1) LPSTR, 541 _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPSTR); 542 543 UINT 544 WINAPI 545 MsiEnumFeaturesW( 546 _In_ LPCWSTR, 547 _In_ DWORD, 548 _Out_writes_(MAX_FEATURE_CHARS + 1) LPWSTR, 549 _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPWSTR); 550 551 #define MsiEnumFeatures WINELIB_NAME_AW(MsiEnumFeatures) 552 553 UINT 554 WINAPI 555 MsiEnumComponentsA( 556 _In_ DWORD, 557 _Out_writes_(MAX_GUID_CHARS + 1) LPSTR); 558 559 UINT 560 WINAPI 561 MsiEnumComponentsW( 562 _In_ DWORD, 563 _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR); 564 565 #define MsiEnumComponents WINELIB_NAME_AW(MsiEnumComponents) 566 567 UINT 568 WINAPI 569 MsiEnumComponentsExA( 570 _In_opt_ LPCSTR, 571 _In_ DWORD, 572 _In_ DWORD, 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); 577 578 UINT 579 WINAPI 580 MsiEnumComponentsExW( 581 _In_opt_ LPCWSTR, 582 _In_ DWORD, 583 _In_ DWORD, 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); 588 589 #define MsiEnumComponentsEx WINELIB_NAME_AW(MsiEnumComponentsEx) 590 591 UINT 592 WINAPI 593 MsiEnumClientsA( 594 _In_ LPCSTR, 595 _In_ DWORD, 596 _Out_writes_(MAX_GUID_CHARS + 1) LPSTR); 597 598 UINT 599 WINAPI 600 MsiEnumClientsW( 601 _In_ LPCWSTR, 602 _In_ DWORD, 603 _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR); 604 605 #define MsiEnumClients WINELIB_NAME_AW(MsiEnumClients) 606 607 UINT WINAPI MsiEnumClientsExA(_In_ LPCSTR szComponent, _In_opt_ LPCSTR szUserSid, _In_ DWORD dwContext, _In_ DWORD dwProductIndex, _Out_opt_ CHAR szProductBuf[39], _Out_opt_ MSIINSTALLCONTEXT* pdwInstalledContext, _Out_opt_ LPSTR szSid, _Inout_opt_ LPDWORD pcchSid); 608 UINT WINAPI MsiEnumClientsExW(_In_ LPCWSTR szComponent, _In_opt_ LPCWSTR szUserSid, _In_ DWORD dwContext, _In_ DWORD dwProductIndex, _Out_opt_ WCHAR szProductBuf[39], _Out_opt_ MSIINSTALLCONTEXT* pdwInstalledContext, _Out_opt_ LPWSTR szSid, _Inout_opt_ LPDWORD pcchSid); 609 #define MsiEnumClientsEx WINELIB_NAME_AW(MsiEnumClientsEx) 610 611 UINT WINAPI MsiOpenPackageA(_In_ LPCSTR, _Out_ MSIHANDLE*); 612 UINT WINAPI MsiOpenPackageW(_In_ LPCWSTR, _Out_ MSIHANDLE*); 613 #define MsiOpenPackage WINELIB_NAME_AW(MsiOpenPackage) 614 615 UINT WINAPI MsiOpenPackageExA(_In_ LPCSTR, _In_ DWORD, _Out_ MSIHANDLE*); 616 UINT WINAPI MsiOpenPackageExW(_In_ LPCWSTR, _In_ DWORD, _Out_ MSIHANDLE*); 617 #define MsiOpenPackageEx WINELIB_NAME_AW(MsiOpenPackageEx) 618 619 UINT WINAPI MsiOpenProductA(_In_ LPCSTR, _Out_ MSIHANDLE*); 620 UINT WINAPI MsiOpenProductW(_In_ LPCWSTR, _Out_ MSIHANDLE*); 621 #define MsiOpenProduct WINELIB_NAME_AW(MsiOpenProduct) 622 623 UINT 624 WINAPI 625 MsiGetProductPropertyA( 626 _In_ MSIHANDLE, 627 _In_ LPCSTR, 628 _Out_writes_opt_(*pcchValueBuf) LPSTR, 629 _Inout_opt_ LPDWORD pcchValueBuf); 630 631 UINT 632 WINAPI 633 MsiGetProductPropertyW( 634 _In_ MSIHANDLE, 635 _In_ LPCWSTR, 636 _Out_writes_opt_(*pcchValueBuf) LPWSTR, 637 _Inout_opt_ LPDWORD pcchValueBuf); 638 639 #define MsiGetProductProperty WINELIB_NAME_AW(MsiGetProductProperty) 640 641 UINT WINAPI MsiVerifyPackageA(_In_ LPCSTR); 642 UINT WINAPI MsiVerifyPackageW(_In_ LPCWSTR); 643 #define MsiVerifyPackage WINELIB_NAME_AW(MsiVerifyPackage) 644 645 UINT 646 WINAPI 647 MsiQueryComponentStateA( 648 _In_ LPCSTR, 649 _In_opt_ LPCSTR, 650 _In_ MSIINSTALLCONTEXT, 651 _In_ LPCSTR, 652 _Out_opt_ INSTALLSTATE*); 653 654 UINT 655 WINAPI 656 MsiQueryComponentStateW( 657 _In_ LPCWSTR, 658 _In_opt_ LPCWSTR, 659 _In_ MSIINSTALLCONTEXT, 660 _In_ LPCWSTR, 661 _Out_opt_ INSTALLSTATE*); 662 663 #define MsiQueryComponentState WINELIB_NAME_AW(MsiQueryComponentState) 664 665 INSTALLSTATE WINAPI MsiQueryProductStateA(_In_ LPCSTR); 666 INSTALLSTATE WINAPI MsiQueryProductStateW(_In_ LPCWSTR); 667 #define MsiQueryProductState WINELIB_NAME_AW(MsiQueryProductState) 668 669 UINT WINAPI MsiConfigureProductA(_In_ LPCSTR, _In_ int, _In_ INSTALLSTATE); 670 UINT WINAPI MsiConfigureProductW(_In_ LPCWSTR, _In_ int, _In_ INSTALLSTATE); 671 #define MsiConfigureProduct WINELIB_NAME_AW(MsiConfigureProduct) 672 673 UINT 674 WINAPI 675 MsiConfigureProductExA( 676 _In_ LPCSTR, 677 _In_ int, 678 _In_ INSTALLSTATE, 679 _In_opt_ LPCSTR); 680 681 UINT 682 WINAPI 683 MsiConfigureProductExW( 684 _In_ LPCWSTR, 685 _In_ int, 686 _In_ INSTALLSTATE, 687 _In_opt_ LPCWSTR); 688 689 #define MsiConfigureProductEx WINELIB_NAME_AW(MsiConfigureProductEx) 690 691 UINT 692 WINAPI 693 MsiConfigureFeatureA( 694 _In_ LPCSTR, 695 _In_ LPCSTR, 696 _In_ INSTALLSTATE); 697 698 UINT 699 WINAPI 700 MsiConfigureFeatureW( 701 _In_ LPCWSTR, 702 _In_ LPCWSTR, 703 _In_ INSTALLSTATE); 704 705 #define MsiConfigureFeature WINELIB_NAME_AW(MsiConfigureFeature) 706 707 UINT 708 WINAPI 709 MsiGetProductCodeA( 710 _In_ LPCSTR, 711 _Out_writes_(MAX_GUID_CHARS + 1) LPSTR); 712 713 UINT 714 WINAPI 715 MsiGetProductCodeW( 716 _In_ LPCWSTR, 717 _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR); 718 719 #define MsiGetProductCode WINELIB_NAME_AW(MsiGetProductCode) 720 721 UINT 722 WINAPI 723 MsiGetProductInfoA( 724 _In_ LPCSTR, 725 _In_ LPCSTR, 726 _Out_writes_opt_(*pcchValueBuf) LPSTR, 727 _Inout_opt_ LPDWORD pcchValueBuf); 728 729 UINT 730 WINAPI 731 MsiGetProductInfoW( 732 _In_ LPCWSTR, 733 _In_ LPCWSTR, 734 _Out_writes_opt_(*pcchValueBuf) LPWSTR, 735 _Inout_opt_ LPDWORD pcchValueBuf); 736 737 #define MsiGetProductInfo WINELIB_NAME_AW(MsiGetProductInfo) 738 739 UINT 740 WINAPI 741 MsiGetProductInfoExA( 742 _In_ LPCSTR, 743 _In_opt_ LPCSTR, 744 _In_ MSIINSTALLCONTEXT, 745 _In_ LPCSTR, 746 _Out_writes_opt_(*pcchValue) LPSTR, 747 _Inout_opt_ LPDWORD pcchValue); 748 749 UINT 750 WINAPI 751 MsiGetProductInfoExW( 752 _In_ LPCWSTR, 753 _In_opt_ LPCWSTR, 754 _In_ MSIINSTALLCONTEXT, 755 _In_ LPCWSTR, 756 _Out_writes_opt_(*pcchValue) LPWSTR, 757 _Inout_opt_ LPDWORD pcchValue); 758 759 #define MsiGetProductInfoEx WINELIB_NAME_AW(MsiGetProductInfoEx) 760 761 UINT 762 WINAPI 763 MsiGetPatchInfoExA( 764 _In_ LPCSTR, 765 _In_ LPCSTR, 766 _In_opt_ LPCSTR, 767 _In_ MSIINSTALLCONTEXT, 768 _In_ LPCSTR, 769 _Out_writes_opt_(*pcchValue) LPSTR, 770 _Inout_opt_ LPDWORD pcchValue); 771 772 UINT 773 WINAPI 774 MsiGetPatchInfoExW( 775 _In_ LPCWSTR, 776 _In_ LPCWSTR, 777 _In_opt_ LPCWSTR, 778 _In_ MSIINSTALLCONTEXT, 779 _In_ LPCWSTR, 780 _Out_writes_opt_(*pcchValue) LPWSTR, 781 _Inout_opt_ LPDWORD pcchValue); 782 783 #define MsiGetPatchInfoEx WINELIB_NAME_AW(MsiGetPatchInfoEx) 784 785 UINT 786 WINAPI 787 MsiGetPatchInfoA( 788 _In_ LPCSTR, 789 _In_ LPCSTR, 790 _Out_writes_opt_(*pcchValueBuf) LPSTR, 791 _Inout_opt_ LPDWORD pcchValueBuf); 792 793 UINT 794 WINAPI 795 MsiGetPatchInfoW( 796 _In_ LPCWSTR, 797 _In_ LPCWSTR, 798 _Out_writes_opt_(*pcchValueBuf) LPWSTR, 799 _Inout_opt_ LPDWORD pcchValueBuf); 800 801 #define MsiGetPatchInfo WINELIB_NAME_AW(MsiGetPatchInfo) 802 803 UINT WINAPI MsiEnableLogA(_In_ DWORD, _In_opt_ LPCSTR, _In_ DWORD); 804 UINT WINAPI MsiEnableLogW(_In_ DWORD, _In_opt_ LPCWSTR, _In_ DWORD); 805 #define MsiEnableLog WINELIB_NAME_AW(MsiEnableLog) 806 807 INSTALLUI_HANDLERA 808 WINAPI 809 MsiSetExternalUIA( 810 _In_opt_ INSTALLUI_HANDLERA, 811 _In_ DWORD, 812 _In_opt_ LPVOID); 813 814 INSTALLUI_HANDLERW 815 WINAPI 816 MsiSetExternalUIW( 817 _In_opt_ INSTALLUI_HANDLERW, 818 _In_ DWORD, 819 _In_opt_ LPVOID); 820 821 #define MsiSetExternalUI WINELIB_NAME_AW(MsiSetExternalUI) 822 823 INSTALLSTATE 824 WINAPI 825 MsiGetComponentPathA( 826 _In_ LPCSTR, 827 _In_ LPCSTR, 828 _Out_writes_opt_(*pcchBuf) LPSTR, 829 _Inout_opt_ LPDWORD pcchBuf); 830 831 INSTALLSTATE 832 WINAPI 833 MsiGetComponentPathW( 834 _In_ LPCWSTR, 835 _In_ LPCWSTR, 836 _Out_writes_opt_(*pcchBuf) LPWSTR, 837 _Inout_opt_ LPDWORD pcchBuf); 838 839 #define MsiGetComponentPath WINELIB_NAME_AW(MsiGetComponentPath) 840 841 INSTALLSTATE WINAPI MsiGetComponentPathExA(LPCSTR, LPCSTR, LPCSTR, MSIINSTALLCONTEXT, LPSTR, LPDWORD); 842 INSTALLSTATE WINAPI MsiGetComponentPathExW(LPCWSTR, LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, LPWSTR, LPDWORD); 843 #define MsiGetComponentPathEx WINELIB_NAME_AW(MsiGetComponentPathEx) 844 845 INSTALLSTATE WINAPI MsiQueryFeatureStateA(_In_ LPCSTR, _In_ LPCSTR); 846 INSTALLSTATE WINAPI MsiQueryFeatureStateW(_In_ LPCWSTR, _In_ LPCWSTR); 847 #define MsiQueryFeatureState WINELIB_NAME_AW(MsiQueryFeatureState) 848 849 UINT 850 WINAPI 851 MsiQueryFeatureStateExA( 852 _In_ LPCSTR, 853 _In_opt_ LPCSTR, 854 _In_ MSIINSTALLCONTEXT, 855 _In_ LPCSTR, 856 _Out_opt_ INSTALLSTATE*); 857 858 UINT 859 WINAPI 860 MsiQueryFeatureStateExW( 861 _In_ LPCWSTR, 862 _In_opt_ LPCWSTR, 863 _In_ MSIINSTALLCONTEXT, 864 _In_ LPCWSTR, 865 _Out_opt_ INSTALLSTATE*); 866 867 #define MsiQueryFeatureStateEx WINELIB_NAME_AW(MsiQueryFeatureStateEx) 868 869 UINT 870 WINAPI 871 MsiGetFeatureInfoA( 872 _In_ MSIHANDLE, 873 _In_ LPCSTR, 874 _Out_opt_ LPDWORD, 875 _Out_writes_opt_(*pcchTitleBuf) LPSTR, 876 _Inout_opt_ LPDWORD pcchTitleBuf, 877 _Out_writes_opt_(*pcchHelpBuf) LPSTR, 878 _Inout_opt_ LPDWORD pcchHelpBuf); 879 880 UINT 881 WINAPI 882 MsiGetFeatureInfoW( 883 _In_ MSIHANDLE, 884 _In_ LPCWSTR, 885 _Out_opt_ LPDWORD, 886 _Out_writes_opt_(*pcchTitleBuf) LPWSTR, 887 _Inout_opt_ LPDWORD pcchTitleBuf, 888 _Out_writes_opt_(*pcchHelpBuf) LPWSTR, 889 _Inout_opt_ LPDWORD pcchHelpBuf); 890 891 #define MsiGetFeatureInfo WINELIB_NAME_AW(MsiGetFeatureInfo) 892 893 UINT 894 WINAPI 895 MsiGetFeatureUsageA( 896 _In_ LPCSTR, 897 _In_ LPCSTR, 898 _Out_opt_ LPDWORD, 899 _Out_opt_ LPWORD); 900 901 UINT 902 WINAPI 903 MsiGetFeatureUsageW( 904 _In_ LPCWSTR, 905 _In_ LPCWSTR, 906 _Out_opt_ LPDWORD, 907 _Out_opt_ LPWORD); 908 909 #define MsiGetFeatureUsage WINELIB_NAME_AW(MsiGetFeatureUsage) 910 911 UINT 912 WINAPI 913 MsiEnumRelatedProductsA( 914 _In_ LPCSTR, 915 _Reserved_ DWORD, 916 _In_ DWORD, 917 _Out_writes_(MAX_GUID_CHARS + 1) LPSTR); 918 919 UINT 920 WINAPI 921 MsiEnumRelatedProductsW( 922 _In_ LPCWSTR, 923 _Reserved_ DWORD, 924 _In_ DWORD, 925 _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR); 926 927 #define MsiEnumRelatedProducts WINELIB_NAME_AW(MsiEnumRelatedProducts) 928 929 UINT 930 WINAPI 931 MsiProvideAssemblyA( 932 _In_ LPCSTR, 933 _In_opt_ LPCSTR, 934 _In_ DWORD, 935 _In_ DWORD, 936 _Out_writes_opt_(*pcchPathBuf) LPSTR, 937 _Inout_opt_ LPDWORD pcchPathBuf); 938 939 UINT 940 WINAPI 941 MsiProvideAssemblyW( 942 _In_ LPCWSTR, 943 _In_opt_ LPCWSTR, 944 _In_ DWORD, 945 _In_ DWORD, 946 _Out_writes_opt_(*pcchPathBuf) LPWSTR, 947 _Inout_opt_ LPDWORD pcchPathBuf); 948 949 #define MsiProvideAssembly WINELIB_NAME_AW(MsiProvideAssembly) 950 951 UINT 952 WINAPI 953 MsiEnumComponentQualifiersA( 954 _In_ LPCSTR, 955 _In_ DWORD, 956 _Out_writes_(*pcchQualifierBuf) LPSTR, 957 _Inout_ LPDWORD pcchQualifierBuf, 958 _Out_writes_opt_(*pcchApplicationDataBuf) LPSTR, 959 _Inout_opt_ LPDWORD pcchApplicationDataBuf); 960 961 UINT 962 WINAPI 963 MsiEnumComponentQualifiersW( 964 _In_ LPCWSTR, 965 _In_ DWORD, 966 _Out_writes_(*pcchQualifierBuf) LPWSTR, 967 _Inout_ LPDWORD pcchQualifierBuf, 968 _Out_writes_opt_(*pcchApplicationDataBuf) LPWSTR, 969 _Inout_opt_ LPDWORD pcchApplicationDataBuf); 970 971 #define MsiEnumComponentQualifiers WINELIB_NAME_AW(MsiEnumComponentQualifiers) 972 973 UINT 974 WINAPI 975 MsiGetFileVersionA( 976 _In_ LPCSTR, 977 _Out_writes_opt_(*pcchVersionBuf) LPSTR, 978 _Inout_opt_ LPDWORD pcchVersionBuf, 979 _Out_writes_opt_(*pcchLangBuf) LPSTR, 980 _Inout_opt_ LPDWORD pcchLangBuf); 981 982 UINT 983 WINAPI 984 MsiGetFileVersionW( 985 _In_ LPCWSTR, 986 _Out_writes_opt_(*pcchVersionBuf) LPWSTR, 987 _Inout_opt_ LPDWORD pcchVersionBuf, 988 _Out_writes_opt_(*pcchLangBuf) LPWSTR, 989 _Inout_opt_ LPDWORD pcchLangBuf); 990 991 #define MsiGetFileVersion WINELIB_NAME_AW(MsiGetFileVersion) 992 993 UINT WINAPI MsiMessageBoxA(HWND, LPCSTR, LPCSTR, UINT, WORD, DWORD); 994 UINT WINAPI MsiMessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT, WORD, DWORD); 995 #define MsiMessageBox WINELIB_NAME_AW(MsiMessageBox) 996 997 UINT 998 WINAPI 999 MsiProvideQualifiedComponentExA( 1000 _In_ LPCSTR, 1001 _In_ LPCSTR, 1002 _In_ DWORD, 1003 _In_opt_ LPCSTR, 1004 _Reserved_ DWORD, 1005 _Reserved_ DWORD, 1006 _Out_writes_opt_(*pcchPathBuf) LPSTR, 1007 _Inout_opt_ LPDWORD pcchPathBuf); 1008 1009 UINT 1010 WINAPI 1011 MsiProvideQualifiedComponentExW( 1012 _In_ LPCWSTR, 1013 _In_ LPCWSTR, 1014 _In_ DWORD, 1015 _In_opt_ LPCWSTR, 1016 _Reserved_ DWORD, 1017 _Reserved_ DWORD, 1018 _Out_writes_opt_(*pcchPathBuf) LPWSTR, 1019 _Inout_opt_ LPDWORD pcchPathBuf); 1020 1021 #define MsiProvideQualifiedComponentEx WINELIB_NAME_AW(MsiProvideQualifiedComponentEx) 1022 1023 UINT 1024 WINAPI 1025 MsiProvideQualifiedComponentA( 1026 _In_ LPCSTR, 1027 _In_ LPCSTR, 1028 _In_ DWORD, 1029 _Out_writes_opt_(*pcchPathBuf) LPSTR, 1030 _Inout_opt_ LPDWORD pcchPathBuf); 1031 1032 UINT 1033 WINAPI 1034 MsiProvideQualifiedComponentW( 1035 _In_ LPCWSTR, 1036 _In_ LPCWSTR, 1037 _In_ DWORD, 1038 _Out_writes_opt_(*pcchPathBuf) LPWSTR, 1039 _Inout_opt_ LPDWORD pcchPathBuf); 1040 1041 #define MsiProvideQualifiedComponent WINELIB_NAME_AW(MsiProvideQualifiedComponent) 1042 1043 USERINFOSTATE 1044 WINAPI 1045 MsiGetUserInfoA( 1046 _In_ LPCSTR, 1047 _Out_writes_opt_(*pcchUserNameBuf) LPSTR, 1048 _Inout_opt_ LPDWORD pcchUserNameBuf, 1049 _Out_writes_opt_(*pcchOrgNameBuf) LPSTR, 1050 _Inout_opt_ LPDWORD pcchOrgNameBuf, 1051 _Out_writes_opt_(*pcchSerialBuf) LPSTR, 1052 _Inout_opt_ LPDWORD pcchSerialBuf); 1053 1054 USERINFOSTATE 1055 WINAPI 1056 MsiGetUserInfoW( 1057 _In_ LPCWSTR, 1058 _Out_writes_opt_(*pcchUserNameBuf) LPWSTR, 1059 _Inout_opt_ LPDWORD pcchUserNameBuf, 1060 _Out_writes_opt_(*pcchOrgNameBuf) LPWSTR, 1061 _Inout_opt_ LPDWORD pcchOrgNameBuf, 1062 _Out_writes_opt_(*pcchSerialBuf) LPWSTR, 1063 _Inout_opt_ LPDWORD pcchSerialBuf); 1064 1065 #define MsiGetUserInfo WINELIB_NAME_AW(MsiGetUserInfo) 1066 1067 UINT WINAPI MsiProvideComponentA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPDWORD); 1068 UINT WINAPI MsiProvideComponentW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPDWORD); 1069 #define MsiProvideComponent WINELIB_NAME_AW(MsiProvideComponent) 1070 1071 UINT WINAPI MsiCollectUserInfoA(_In_ LPCSTR); 1072 UINT WINAPI MsiCollectUserInfoW(_In_ LPCWSTR); 1073 #define MsiCollectUserInfo WINELIB_NAME_AW(MsiCollectUserInfo) 1074 1075 UINT WINAPI MsiReinstallFeatureA(_In_ LPCSTR, _In_ LPCSTR, _In_ DWORD); 1076 UINT WINAPI MsiReinstallFeatureW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD); 1077 #define MsiReinstallFeature WINELIB_NAME_AW(MsiReinstallFeature) 1078 1079 UINT 1080 WINAPI 1081 MsiGetShortcutTargetA( 1082 _In_ LPCSTR, 1083 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR, 1084 _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPSTR, 1085 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR); 1086 1087 UINT 1088 WINAPI 1089 MsiGetShortcutTargetW( 1090 _In_ LPCWSTR, 1091 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR, 1092 _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPWSTR, 1093 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR); 1094 1095 #define MsiGetShortcutTarget WINELIB_NAME_AW(MsiGetShortcutTarget) 1096 1097 INSTALLSTATE WINAPI MsiUseFeatureW(_In_ LPCWSTR, _In_ LPCWSTR); 1098 INSTALLSTATE WINAPI MsiUseFeatureA(_In_ LPCSTR, _In_ LPCSTR); 1099 #define MsiUseFeature WINELIB_NAME_AW(MsiUseFeature) 1100 1101 INSTALLSTATE 1102 WINAPI 1103 MsiUseFeatureExW( 1104 _In_ LPCWSTR, 1105 _In_ LPCWSTR, 1106 _In_ DWORD, 1107 _Reserved_ DWORD); 1108 1109 INSTALLSTATE 1110 WINAPI 1111 MsiUseFeatureExA( 1112 _In_ LPCSTR, 1113 _In_ LPCSTR, 1114 _In_ DWORD, 1115 _Reserved_ DWORD); 1116 1117 #define MsiUseFeatureEx WINELIB_NAME_AW(MsiUseFeatureEx) 1118 1119 HRESULT 1120 WINAPI 1121 MsiGetFileSignatureInformationA( 1122 _In_ LPCSTR, 1123 _In_ DWORD, 1124 _Outptr_ PCCERT_CONTEXT*, 1125 _Out_writes_bytes_opt_(*pcbHashData) LPBYTE, 1126 _Inout_opt_ LPDWORD pcbHashData); 1127 1128 HRESULT 1129 WINAPI 1130 MsiGetFileSignatureInformationW( 1131 _In_ LPCWSTR, 1132 _In_ DWORD, 1133 _Outptr_ PCCERT_CONTEXT*, 1134 _Out_writes_bytes_opt_(*pcbHashData) LPBYTE, 1135 _Inout_opt_ LPDWORD pcbHashData); 1136 1137 #define MsiGetFileSignatureInformation WINELIB_NAME_AW(MsiGetFileSignatureInformation) 1138 1139 INSTALLSTATE 1140 WINAPI 1141 MsiLocateComponentA( 1142 _In_ LPCSTR, 1143 _Out_writes_opt_(*pcchBuf) LPSTR, 1144 _Inout_opt_ LPDWORD pcchBuf); 1145 1146 INSTALLSTATE 1147 WINAPI 1148 MsiLocateComponentW( 1149 _In_ LPCWSTR, 1150 _Out_writes_opt_(*pcchBuf) LPWSTR, 1151 _Inout_opt_ LPDWORD pcchBuf); 1152 1153 #define MsiLocateComponent WINELIB_NAME_AW(MsiLocateComponent) 1154 1155 UINT 1156 WINAPI 1157 MsiSourceListAddSourceA( 1158 _In_ LPCSTR, 1159 _In_opt_ LPCSTR, 1160 _Reserved_ DWORD, 1161 _In_ LPCSTR); 1162 1163 UINT 1164 WINAPI 1165 MsiSourceListAddSourceW( 1166 _In_ LPCWSTR, 1167 _In_opt_ LPCWSTR, 1168 _Reserved_ DWORD, 1169 _In_ LPCWSTR); 1170 1171 #define MsiSourceListAddSource WINELIB_NAME_AW(MsiSourceListAddSource) 1172 1173 UINT 1174 WINAPI 1175 MsiSourceListEnumMediaDisksA( 1176 _In_ LPCSTR, 1177 _In_opt_ LPCSTR, 1178 _In_ MSIINSTALLCONTEXT, 1179 _In_ DWORD, 1180 _In_ DWORD, 1181 _Out_opt_ LPDWORD, 1182 _Out_writes_opt_(*pcchVolumeLabel) LPSTR, 1183 _Inout_opt_ LPDWORD pcchVolumeLabel, 1184 _Out_writes_opt_(*pcchDiskPrompt) LPSTR, 1185 _Inout_opt_ LPDWORD pcchDiskPrompt); 1186 1187 UINT 1188 WINAPI 1189 MsiSourceListEnumMediaDisksW( 1190 _In_ LPCWSTR, 1191 _In_opt_ LPCWSTR, 1192 _In_ MSIINSTALLCONTEXT, 1193 _In_ DWORD, 1194 _In_ DWORD, 1195 _Out_opt_ LPDWORD, 1196 _Out_writes_opt_(*pcchVolumeLabel) LPWSTR, 1197 _Inout_opt_ LPDWORD pcchVolumeLabel, 1198 _Out_writes_opt_(*pcchDiskPrompt) LPWSTR, 1199 _Inout_opt_ LPDWORD pcchDiskPrompt); 1200 1201 #define MsiSourceListEnumMediaDisks WINELIB_NAME_AW(MsiSourceListEnumMediaDisks) 1202 1203 UINT 1204 WINAPI 1205 MsiSourceListEnumSourcesA( 1206 _In_ LPCSTR, 1207 _In_opt_ LPCSTR, 1208 _In_ MSIINSTALLCONTEXT, 1209 _In_ DWORD, 1210 _In_ DWORD, 1211 _Out_writes_opt_(*pcchSource) LPSTR, 1212 _Inout_opt_ LPDWORD pcchSource); 1213 1214 UINT 1215 WINAPI 1216 MsiSourceListEnumSourcesW( 1217 _In_ LPCWSTR, 1218 _In_opt_ LPCWSTR, 1219 _In_ MSIINSTALLCONTEXT, 1220 _In_ DWORD, 1221 _In_ DWORD, 1222 _Out_writes_opt_(*pcchSource) LPWSTR, 1223 _Inout_opt_ LPDWORD pcchSource); 1224 1225 #define MsiSourceListEnumSources WINELIB_NAME_AW(MsiSourceListEnumSources) 1226 1227 UINT 1228 WINAPI 1229 MsiSourceListClearSourceA( 1230 _In_ LPCSTR, 1231 _In_opt_ LPCSTR, 1232 _In_ MSIINSTALLCONTEXT, 1233 _In_ DWORD, 1234 _In_ LPCSTR); 1235 1236 UINT 1237 WINAPI 1238 MsiSourceListClearSourceW( 1239 _In_ LPCWSTR, 1240 _In_opt_ LPCWSTR, 1241 _In_ MSIINSTALLCONTEXT, 1242 _In_ DWORD, 1243 _In_ LPCWSTR); 1244 1245 #define MsiSourceListClearSource WINELIB_NAME_AW(MsiSourceListClearSource) 1246 1247 UINT 1248 WINAPI 1249 MsiSourceListClearAllA( 1250 _In_ LPCSTR, 1251 _In_opt_ LPCSTR, 1252 _Reserved_ DWORD); 1253 1254 UINT 1255 WINAPI 1256 MsiSourceListClearAllW( 1257 _In_ LPCWSTR, 1258 _In_opt_ LPCWSTR, 1259 _Reserved_ DWORD); 1260 1261 #define MsiSourceListClearAll WINELIB_NAME_AW(MsiSourceListClearAll) 1262 1263 UINT 1264 WINAPI 1265 MsiSourceListGetInfoA( 1266 _In_ LPCSTR, 1267 _In_opt_ LPCSTR, 1268 _In_ MSIINSTALLCONTEXT, 1269 _In_ DWORD, 1270 _In_ LPCSTR, 1271 _Out_writes_opt_(*pcchValue) LPSTR, 1272 _Inout_opt_ LPDWORD pcchValue); 1273 1274 UINT 1275 WINAPI 1276 MsiSourceListGetInfoW( 1277 _In_ LPCWSTR, 1278 _In_opt_ LPCWSTR, 1279 _In_ MSIINSTALLCONTEXT, 1280 _In_ DWORD, 1281 _In_ LPCWSTR, 1282 _Out_writes_opt_(*pcchValue) LPWSTR, 1283 _Inout_opt_ LPDWORD pcchValue); 1284 1285 #define MsiSourceListGetInfo WINELIB_NAME_AW(MsiSourceListGetInfo) 1286 1287 UINT 1288 WINAPI 1289 MsiSourceListSetInfoA( 1290 _In_ LPCSTR, 1291 _In_opt_ LPCSTR, 1292 _In_ MSIINSTALLCONTEXT, 1293 _In_ DWORD, 1294 _In_ LPCSTR, 1295 _In_ LPCSTR); 1296 1297 UINT 1298 WINAPI 1299 MsiSourceListSetInfoW( 1300 _In_ LPCWSTR, 1301 _In_opt_ LPCWSTR, 1302 _In_ MSIINSTALLCONTEXT, 1303 _In_ DWORD, 1304 _In_ LPCWSTR, 1305 _In_ LPCWSTR); 1306 1307 #define MsiSourceListSetInfo WINELIB_NAME_AW(MsiSourceListSetInfo) 1308 1309 UINT 1310 WINAPI 1311 MsiSourceListAddSourceExA( 1312 _In_ LPCSTR, 1313 _In_opt_ LPCSTR, 1314 _In_ MSIINSTALLCONTEXT, 1315 _In_ DWORD, 1316 _In_ LPCSTR, 1317 _In_ DWORD); 1318 1319 UINT 1320 WINAPI 1321 MsiSourceListAddSourceExW( 1322 _In_ LPCWSTR, 1323 _In_opt_ LPCWSTR, 1324 _In_ MSIINSTALLCONTEXT, 1325 _In_ DWORD, 1326 _In_ LPCWSTR, 1327 _In_ DWORD); 1328 1329 #define MsiSourceListAddSourceEx WINELIB_NAME_AW(MsiSourceListAddSourceEx) 1330 1331 UINT 1332 WINAPI 1333 MsiSourceListAddMediaDiskA( 1334 _In_ LPCSTR, 1335 _In_opt_ LPCSTR, 1336 _In_ MSIINSTALLCONTEXT, 1337 _In_ DWORD, 1338 _In_ DWORD, 1339 _In_opt_ LPCSTR, 1340 _In_opt_ LPCSTR); 1341 1342 UINT 1343 WINAPI 1344 MsiSourceListAddMediaDiskW( 1345 _In_ LPCWSTR, 1346 _In_opt_ LPCWSTR, 1347 _In_ MSIINSTALLCONTEXT, 1348 _In_ DWORD, 1349 _In_ DWORD, 1350 _In_opt_ LPCWSTR, 1351 _In_opt_ LPCWSTR); 1352 1353 #define MsiSourceListAddMediaDisk WINELIB_NAME_AW(MsiSourceListAddMediaDisk) 1354 1355 UINT WINAPI MsiSourceListForceResolutionA(const CHAR*, const CHAR*, DWORD); 1356 UINT WINAPI MsiSourceListForceResolutionW(const WCHAR*, const WCHAR*, DWORD); 1357 #define MsiSourceListForceResolution WINELIB_NAME_AW(MsiSourceListForceResolution) 1358 1359 UINT 1360 WINAPI 1361 MsiEnumPatchesA( 1362 _In_ LPCSTR, 1363 _In_ DWORD, 1364 _Out_writes_(MAX_GUID_CHARS + 1) LPSTR, 1365 _Out_writes_(*pcchTransformsBuf) LPSTR, 1366 _Inout_ LPDWORD pcchTransformsBuf); 1367 1368 UINT 1369 WINAPI 1370 MsiEnumPatchesW( 1371 _In_ LPCWSTR, 1372 _In_ DWORD, 1373 _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR, 1374 _Out_writes_(*pcchTransformsBuf) LPWSTR, 1375 _Inout_ LPDWORD pcchTransformsBuf); 1376 1377 #define MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches) 1378 1379 UINT 1380 WINAPI 1381 MsiEnumPatchesExA( 1382 _In_opt_ LPCSTR, 1383 _In_opt_ LPCSTR, 1384 _In_ DWORD, 1385 _In_ DWORD, 1386 _In_ DWORD, 1387 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR, 1388 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR, 1389 _Out_opt_ MSIINSTALLCONTEXT*, 1390 _Out_writes_opt_(*pcchTargetUserSid) LPSTR, 1391 _Inout_opt_ LPDWORD pcchTargetUserSid); 1392 1393 UINT 1394 WINAPI 1395 MsiEnumPatchesExW( 1396 _In_opt_ LPCWSTR, 1397 _In_opt_ LPCWSTR, 1398 _In_ DWORD, 1399 _In_ DWORD, 1400 _In_ DWORD, 1401 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR, 1402 _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR, 1403 _Out_opt_ MSIINSTALLCONTEXT*, 1404 _Out_writes_opt_(*pcchTargetUserSid) LPWSTR, 1405 _Inout_opt_ LPDWORD pcchTargetUserSid); 1406 1407 #define MsiEnumPatchesEx WINELIB_NAME_AW(MsiEnumPatchesEx) 1408 1409 UINT 1410 WINAPI 1411 MsiGetFileHashA( 1412 _In_ LPCSTR, 1413 _In_ DWORD, 1414 _Inout_ PMSIFILEHASHINFO); 1415 1416 UINT 1417 WINAPI 1418 MsiGetFileHashW( 1419 _In_ LPCWSTR, 1420 _In_ DWORD, 1421 _Inout_ PMSIFILEHASHINFO); 1422 1423 #define MsiGetFileHash WINELIB_NAME_AW(MsiGetFileHash) 1424 1425 UINT 1426 WINAPI 1427 MsiAdvertiseScriptA( 1428 _In_ LPCSTR, 1429 _In_ DWORD, 1430 _In_opt_ PHKEY, 1431 _In_ BOOL); 1432 1433 UINT 1434 WINAPI 1435 MsiAdvertiseScriptW( 1436 _In_ LPCWSTR, 1437 _In_ DWORD, 1438 _In_opt_ PHKEY, 1439 _In_ BOOL); 1440 1441 #define MsiAdvertiseScript WINELIB_NAME_AW(MsiAdvertiseScript) 1442 1443 UINT WINAPI MsiIsProductElevatedA(_In_ LPCSTR, _Out_ BOOL *); 1444 UINT WINAPI MsiIsProductElevatedW(_In_ LPCWSTR, _Out_ BOOL *); 1445 #define MsiIsProductElevated WINELIB_NAME_AW(MsiIsProductElevated) 1446 1447 UINT WINAPI MsiDatabaseMergeA(MSIHANDLE, MSIHANDLE, LPCSTR); 1448 UINT WINAPI MsiDatabaseMergeW(MSIHANDLE, MSIHANDLE, LPCWSTR); 1449 #define MsiDatabaseMerge WINELIB_NAME_AW(MsiDatabaseMerge) 1450 1451 UINT 1452 WINAPI 1453 MsiInstallMissingComponentA( 1454 _In_ LPCSTR, 1455 _In_ LPCSTR, 1456 _In_ INSTALLSTATE); 1457 1458 UINT 1459 WINAPI 1460 MsiInstallMissingComponentW( 1461 _In_ LPCWSTR, 1462 _In_ LPCWSTR, 1463 _In_ INSTALLSTATE); 1464 1465 #define MsiInstallMissingComponent WINELIB_NAME_AW(MsiInstallMissingComponent) 1466 1467 UINT 1468 WINAPI 1469 MsiDetermineApplicablePatchesA( 1470 _In_ LPCSTR, 1471 _In_ DWORD cPatchInfo, 1472 _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOA); 1473 1474 UINT 1475 WINAPI 1476 MsiDetermineApplicablePatchesW( 1477 _In_ LPCWSTR, 1478 _In_ DWORD cPatchInfo, 1479 _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOW); 1480 1481 #define MsiDetermineApplicablePatches WINELIB_NAME_AW(MsiDetermineApplicablePatches) 1482 1483 UINT 1484 WINAPI 1485 MsiDeterminePatchSequenceA( 1486 _In_ LPCSTR, 1487 _In_opt_ LPCSTR, 1488 _In_ MSIINSTALLCONTEXT, 1489 _In_ DWORD cPatchInfo, 1490 _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOA); 1491 1492 UINT 1493 WINAPI 1494 MsiDeterminePatchSequenceW( 1495 _In_ LPCWSTR, 1496 _In_opt_ LPCWSTR, 1497 _In_ MSIINSTALLCONTEXT, 1498 _In_ DWORD cPatchInfo, 1499 _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOW); 1500 1501 #define MsiDeterminePatchSequence WINELIB_NAME_AW(MsiDeterminePatchSequence) 1502 1503 UINT 1504 WINAPI 1505 MsiApplyMultiplePatchesA( 1506 _In_ LPCSTR, 1507 _In_opt_ LPCSTR, 1508 _In_opt_ LPCSTR); 1509 1510 UINT 1511 WINAPI 1512 MsiApplyMultiplePatchesW( 1513 _In_ LPCWSTR, 1514 _In_opt_ LPCWSTR, 1515 _In_opt_ LPCWSTR); 1516 1517 #define MsiApplyMultiplePatches WINELIB_NAME_AW(MsiApplyMultiplePatches) 1518 1519 UINT 1520 WINAPI 1521 MsiBeginTransactionA( 1522 _In_ LPCSTR, 1523 _In_ DWORD, 1524 _Out_ MSIHANDLE *, 1525 _Out_ HANDLE *); 1526 1527 UINT 1528 WINAPI 1529 MsiBeginTransactionW( 1530 _In_ LPCWSTR, 1531 _In_ DWORD, 1532 _Out_ MSIHANDLE *, 1533 _Out_ HANDLE *); 1534 1535 #define MsiBeginTransaction WINELIB_NAME_AW(MsiBeginTransaction) 1536 1537 UINT WINAPI MsiEndTransaction(_In_ DWORD); 1538 1539 /* Non Unicode */ 1540 UINT WINAPI MsiCloseHandle(MSIHANDLE); 1541 UINT WINAPI MsiCloseAllHandles(void); 1542 INSTALLUILEVEL WINAPI MsiSetInternalUI(_In_ INSTALLUILEVEL, _Inout_opt_ HWND*); 1543 1544 UINT 1545 WINAPI 1546 MsiSetExternalUIRecord( 1547 _In_opt_ INSTALLUI_HANDLER_RECORD, 1548 _In_ DWORD, 1549 _In_opt_ LPVOID, 1550 _Out_opt_ PINSTALLUI_HANDLER_RECORD); 1551 1552 #ifdef __cplusplus 1553 } 1554 #endif 1555 1556 #endif /* __WINE_MSI_H */ 1557