Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557/* * Copyright (C) 2002,2003 Mike McCormack * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
#ifndef __WINE_MSI_H#define __WINE_MSI_H
#ifndef _MSI_NO_CRYPTO#include <wincrypt.h>#endif
#define MAX_GUID_CHARS 38
#ifdef __cplusplusextern "C" {#endif
typedef ULONG MSIHANDLE;
typedef enum tagINSTALLSTATE{ INSTALLSTATE_NOTUSED = -7, INSTALLSTATE_BADCONFIG = -6, INSTALLSTATE_INCOMPLETE = -5, INSTALLSTATE_SOURCEABSENT = -4, INSTALLSTATE_MOREDATA = -3, INSTALLSTATE_INVALIDARG = -2, INSTALLSTATE_UNKNOWN = -1, INSTALLSTATE_BROKEN = 0, INSTALLSTATE_ADVERTISED = 1, INSTALLSTATE_ABSENT = 2, INSTALLSTATE_LOCAL = 3, INSTALLSTATE_SOURCE = 4, INSTALLSTATE_DEFAULT = 5} INSTALLSTATE;
typedef enum tagMSIPATCHSTATE{ MSIPATCHSTATE_INVALID = 0, MSIPATCHSTATE_APPLIED = 1, MSIPATCHSTATE_SUPERSEDED = 2, MSIPATCHSTATE_OBSOLETED = 4, MSIPATCHSTATE_REGISTERED = 8, MSIPATCHSTATE_ALL = (MSIPATCHSTATE_APPLIED | MSIPATCHSTATE_SUPERSEDED | MSIPATCHSTATE_OBSOLETED | MSIPATCHSTATE_REGISTERED)} MSIPATCHSTATE;
typedef enum tagINSTALLUILEVEL{ INSTALLUILEVEL_NOCHANGE = 0, INSTALLUILEVEL_DEFAULT = 1, INSTALLUILEVEL_NONE = 2, INSTALLUILEVEL_BASIC = 3, INSTALLUILEVEL_REDUCED = 4, INSTALLUILEVEL_FULL = 5, INSTALLUILEVEL_HIDECANCEL = 0x20, INSTALLUILEVEL_PROGRESSONLY = 0x40, INSTALLUILEVEL_ENDDIALOG = 0x80, INSTALLUILEVEL_SOURCERESONLY = 0x100} INSTALLUILEVEL;
typedef enum tagUSERINFOSTATE{ USERINFOSTATE_MOREDATA = -3, USERINFOSTATE_INVALIDARG = -2, USERINFOSTATE_UNKNOWN = -1, USERINFOSTATE_ABSENT = 0, USERINFOSTATE_PRESENT = 1,} USERINFOSTATE;
typedef enum tagINSTALLLEVEL{ INSTALLLEVEL_DEFAULT = 0, INSTALLLEVEL_MINIMUM = 1, INSTALLLEVEL_MAXIMUM = 0xFFFF} INSTALLLEVEL;
typedef enum tagINSTALLMESSAGE{ INSTALLMESSAGE_FATALEXIT = 0, INSTALLMESSAGE_ERROR = 0x01000000, INSTALLMESSAGE_WARNING = 0x02000000, INSTALLMESSAGE_USER = 0x03000000, INSTALLMESSAGE_INFO = 0x04000000, INSTALLMESSAGE_FILESINUSE = 0x05000000, INSTALLMESSAGE_RESOLVESOURCE = 0x06000000, INSTALLMESSAGE_OUTOFDISKSPACE = 0x07000000, INSTALLMESSAGE_ACTIONSTART = 0x08000000, INSTALLMESSAGE_ACTIONDATA = 0x09000000, INSTALLMESSAGE_PROGRESS = 0x0a000000, INSTALLMESSAGE_COMMONDATA = 0x0b000000, INSTALLMESSAGE_INITIALIZE = 0x0c000000, INSTALLMESSAGE_TERMINATE = 0x0d000000, INSTALLMESSAGE_SHOWDIALOG = 0x0e000000, INSTALLMESSAGE_RMFILESINUSE = 0x19000000, INSTALLMESSAGE_INSTALLSTART = 0x1A000000, INSTALLMESSAGE_INSTALLEND = 0x1B000000,} INSTALLMESSAGE;
typedef enum tagREINSTALLMODE{ REINSTALLMODE_REPAIR = 0x00000001, REINSTALLMODE_FILEMISSING = 0x00000002, REINSTALLMODE_FILEOLDERVERSION = 0x00000004, REINSTALLMODE_FILEEQUALVERSION = 0x00000008, REINSTALLMODE_FILEEXACT = 0x00000010, REINSTALLMODE_FILEVERIFY = 0x00000020, REINSTALLMODE_FILEREPLACE = 0x00000040, REINSTALLMODE_MACHINEDATA = 0x00000080, REINSTALLMODE_USERDATA = 0x00000100, REINSTALLMODE_SHORTCUT = 0x00000200, REINSTALLMODE_PACKAGE = 0x00000400} REINSTALLMODE;
typedef enum tagINSTALLLOGMODE{ INSTALLLOGMODE_FATALEXIT = (1 << (INSTALLMESSAGE_FATALEXIT >> 24)), INSTALLLOGMODE_ERROR = (1 << (INSTALLMESSAGE_ERROR >> 24)), INSTALLLOGMODE_WARNING = (1 << (INSTALLMESSAGE_WARNING >> 24)), INSTALLLOGMODE_USER = (1 << (INSTALLMESSAGE_USER >> 24)), INSTALLLOGMODE_INFO = (1 << (INSTALLMESSAGE_INFO >> 24)), INSTALLLOGMODE_FILESINUSE = (1 << (INSTALLMESSAGE_FILESINUSE >> 24)), INSTALLLOGMODE_RESOLVESOURCE = (1 << (INSTALLMESSAGE_RESOLVESOURCE >> 24)), INSTALLLOGMODE_OUTOFDISKSPACE = (1 << (INSTALLMESSAGE_OUTOFDISKSPACE >> 24)), INSTALLLOGMODE_ACTIONSTART = (1 << (INSTALLMESSAGE_ACTIONSTART >> 24)), INSTALLLOGMODE_ACTIONDATA = (1 << (INSTALLMESSAGE_ACTIONDATA >> 24)), INSTALLLOGMODE_PROGRESS = (1 << (INSTALLMESSAGE_PROGRESS >> 24)), INSTALLLOGMODE_PROPERTYDUMP = (1 << (INSTALLMESSAGE_PROGRESS >> 24)), INSTALLLOGMODE_COMMONDATA = (1 << (INSTALLMESSAGE_COMMONDATA >> 24)), INSTALLLOGMODE_INITIALIZE = (1 << (INSTALLMESSAGE_INITIALIZE >> 24)), INSTALLLOGMODE_VERBOSE = (1 << (INSTALLMESSAGE_INITIALIZE >> 24)), INSTALLLOGMODE_TERMINATE = (1 << (INSTALLMESSAGE_TERMINATE >> 24)), INSTALLLOGMODE_EXTRADEBUG = (1 << (INSTALLMESSAGE_TERMINATE >> 24)), INSTALLLOGMODE_SHOWDIALOG = (1 << (INSTALLMESSAGE_SHOWDIALOG >> 24)), INSTALLLOGMODE_RMFILESINUSE = (1 << (INSTALLMESSAGE_RMFILESINUSE >> 24)), INSTALLLOGMODE_INSTALLSTART = (1 << (INSTALLMESSAGE_INSTALLSTART >> 24)), INSTALLLOGMODE_INSTALLEND = (1 << (INSTALLMESSAGE_INSTALLEND >> 24)),} INSTALLLOGMODE;
typedef enum tagINSTALLLOGATTRIBUTES{ INSTALLLOGATTRIBUTES_APPEND = 0x00000001, INSTALLLOGATTRIBUTES_FLUSHEACHLINE = 0x00000002} INSTALLLOGATTRIBUTES;
typedef enum tagINSTALLMODE{ INSTALLMODE_NODETECTION_ANY = -4, INSTALLMODE_NOSOURCERESOLUTION = -3, INSTALLMODE_NODETECTION = -2, INSTALLMODE_EXISTING = -1, INSTALLMODE_DEFAULT = 0} INSTALLMODE;
typedef enum tagADVERTISEFLAGS{ ADVERTISEFLAGS_MACHINEASSIGN = 0, ADVERTISEFLAGS_USERASSIGN = 1} ADVERTISEFLAGS;
typedef enum tagSCRIPTFLAGS{ SCRIPTFLAGS_CACHEINFO = 1, SCRIPTFLAGS_SHORTCUTS = 4, SCRIPTFLAGS_MACHINEASSIGN = 8, SCRIPTFLAGS_REGDATA_APPINFO = 0x10, SCRIPTFLAGS_REGDATA_CNFGINFO = 0x20, SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST = 0x40, SCRIPTFLAGS_REGDATA_CLASSINFO = 0x80, SCRIPTFLAGS_REGDATA_EXTENSIONINFO = 0x100,} SCRIPTFLAGS;
typedef enum tagINSTALLTYPE{ INSTALLTYPE_DEFAULT = 0, INSTALLTYPE_NETWORK_IMAGE = 1, INSTALLTYPE_SINGLE_INSTANCE = 2,} INSTALLTYPE;
typedef enum tagMSIINSTALLCONTEXT{ MSIINSTALLCONTEXT_FIRSTVISIBLE = 0, MSIINSTALLCONTEXT_NONE = 0, MSIINSTALLCONTEXT_USERMANAGED = 1, MSIINSTALLCONTEXT_USERUNMANAGED = 2, MSIINSTALLCONTEXT_MACHINE = 4, MSIINSTALLCONTEXT_ALL = (MSIINSTALLCONTEXT_USERMANAGED | MSIINSTALLCONTEXT_USERUNMANAGED | MSIINSTALLCONTEXT_MACHINE), MSIINSTALLCONTEXT_ALLUSERMANAGED= 8,} MSIINSTALLCONTEXT;
typedef enum tagMSISOURCETYPE{ MSISOURCETYPE_UNKNOWN = 0x00000000L, MSISOURCETYPE_NETWORK = 0x00000001L, MSISOURCETYPE_URL = 0x00000002L, MSISOURCETYPE_MEDIA = 0x00000004L} MSISOURCETYPE;
typedef enum tagMSICODE{ MSICODE_PRODUCT = 0x00000000L, MSICODE_PATCH = 0x40000000L} MSICODE;
typedef enum tagINSTALLFEATUREATTRIBUTE{ INSTALLFEATUREATTRIBUTE_FAVORLOCAL = 1 << 0, INSTALLFEATUREATTRIBUTE_FAVORSOURCE = 1 << 1, INSTALLFEATUREATTRIBUTE_FOLLOWPARENT = 1 << 2, INSTALLFEATUREATTRIBUTE_FAVORADVERTISE = 1 << 3, INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE = 1 << 4, INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE = 1 << 5} INSTALLFEATUREATTRIBUTE;
typedef struct _MSIFILEHASHINFO { ULONG dwFileHashInfoSize; ULONG dwData[4];} MSIFILEHASHINFO, *PMSIFILEHASHINFO;
typedef enum tagMSIPATCHDATATYPE{ MSIPATCH_DATATYPE_PATCHFILE = 0, MSIPATCH_DATATYPE_XMLPATH = 1, MSIPATCH_DATATYPE_XMLBLOB = 2,} MSIPATCHDATATYPE, *PMSIPATCHDATATYPE;
typedef struct tagMSIPATCHSEQUENCEINFOA{ LPCSTR szPatchData; MSIPATCHDATATYPE ePatchDataType; DWORD dwOrder; UINT uStatus;} MSIPATCHSEQUENCEINFOA, *PMSIPATCHSEQUENCEINFOA;
typedef struct tagMSIPATCHSEQUENCEINFOW{ LPCWSTR szPatchData; MSIPATCHDATATYPE ePatchDataType; DWORD dwOrder; UINT uStatus;} MSIPATCHSEQUENCEINFOW, *PMSIPATCHSEQUENCEINFOW;
#define MAX_FEATURE_CHARS 38
#define ERROR_PATCH_TARGET_NOT_FOUND 1642
/* Strings defined in msi.h *//* Advertised Information */
#define INSTALLPROPERTY_PACKAGENAMEA "PackageName"static const WCHAR INSTALLPROPERTY_PACKAGENAMEW[] = {'P','a','c','k','a','g','e','N','a','m','e',0};#define INSTALLPROPERTY_PACKAGENAME WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGENAME)
#define INSTALLPROPERTY_TRANSFORMSA "Transforms"static const WCHAR INSTALLPROPERTY_TRANSFORMSW[] = {'T','r','a','n','s','f','o','r','m','s',0};#define INSTALLPROPERTY_TRANSFORMS WINELIB_NAME_AW(INSTALLPROPERTY_TRANSFORMS)
#define INSTALLPROPERTY_LANGUAGEA "Language"static const WCHAR INSTALLPROPERTY_LANGUAGEW[] = {'L','a','n','g','u','a','g','e',0};#define INSTALLPROPERTY_LANGUAGE WINELIB_NAME_AW(INSTALLPROPERTY_LANGUAGE)
#define INSTALLPROPERTY_PRODUCTNAMEA "ProductName"static const WCHAR INSTALLPROPERTY_PRODUCTNAMEW[] = {'P','r','o','d','u','c','t','N','a','m','e',0};#define INSTALLPROPERTY_PRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTNAME)
#define INSTALLPROPERTY_ASSIGNMENTTYPEA "AssignmentType"static const WCHAR INSTALLPROPERTY_ASSIGNMENTTYPEW[] = {'A','s','s','i','g','n','m','e','n','t','T','y','p','e',0};#define INSTALLPROPERTY_ASSIGNMENTTYPE WINELIB_NAME_AW(INSTALLPROPERTY_ASSIGNMENTTYPE)
#define INSTALLPROPERTY_PACKAGECODEA "PackageCode"static const WCHAR INSTALLPROPERTY_PACKAGECODEW[] = {'P','a','c','k','a','g','e','C','o','d','e',0};#define INSTALLPROPERTY_PACKAGECODE WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGECODE)
#define INSTALLPROPERTY_VERSIONA "Version"static const WCHAR INSTALLPROPERTY_VERSIONW[]= {'V','e','r','s','i','o','n',0};#define INSTALLPROPERTY_VERSION WINELIB_NAME_AW(INSTALLPROPERTY_VERSION)
/* MSI version 1.1 and above */
#define INSTALLPROPERTY_PRODUCTICONA "ProductIcon"static const WCHAR INSTALLPROPERTY_PRODUCTICONW[] = {'P','r','o','d','u','c','t','I','c','o','n',0};#define INSTALLPROPERTY_PRODUCTICON WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTICON)
/* MSI version 1.5 and above */#define INSTALLPROPERTY_INSTANCETYPEA "InstanceType"static const WCHAR INSTALLPROPERTY_INSTANCETYPEW[] = {'I','n','s','t','a','n','c','e','T','y','p','e',0};#define INSTALLPROPERTY_INSTANCETYPE WINELIB_NAME_AW(INSTALLPROPERTY_INSTANCETYPE)
/* MSI version 3 and above */#define INSTALLPROPERTY_AUTHORIZED_LUA_APPA "AuthorizedLUAApp"static const WCHAR INSTALLPROPERTY_AUTHORIZED_LUA_APPW[] = {'A','u','t','h','o','r','i','z','e','d','L','U','A','A','p','p',0};#define INSTALLPROPERTY_AUTHORIZED_LUA_APP WINELIB_NAME_AW(INSTALLPROPERTY_AUTHORIZED_LUA_APP)
/* Installed Information */#define INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA "InstalledProductName"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};#define INSTALLPROPERTY_INSTALLEDPRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLEDPRODUCTNAME)
#define INSTALLPROPERTY_VERSIONSTRINGA "VersionString"static const WCHAR INSTALLPROPERTY_VERSIONSTRINGW[] = {'V','e','r','s','i','o','n','S','t','r','i','n','g',0};#define INSTALLPROPERTY_VERSIONSTRING WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONSTRING)
#define INSTALLPROPERTY_HELPLINKA "HelpLink"static const WCHAR INSTALLPROPERTY_HELPLINKW[] = {'H','e','l','p','L','i','n','k',0};#define INSTALLPROPERTY_HELPLINK WINELIB_NAME_AW(INSTALLPROPERTY_HELPLINK)
#define INSTALLPROPERTY_HELPTELEPHONEA "HelpTelephone"static const WCHAR INSTALLPROPERTY_HELPTELEPHONEW[] = {'H','e','l','p','T','e','l','e','p','h','o','n','e',0};#define INSTALLPROPERTY_HELPTELEPHONE WINELIB_NAME_AW(INSTALLPROPERTY_HELPTELEPHONE)
#define INSTALLPROPERTY_INSTALLLOCATIONA "InstallLocation"static const WCHAR INSTALLPROPERTY_INSTALLLOCATIONW[] = {'I','n','s','t','a','l','l','L','o','c','a','t','i','o','n',0};#define INSTALLPROPERTY_INSTALLLOCATION WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLLOCATION)
#define INSTALLPROPERTY_INSTALLSOURCEA "InstallSource"static const WCHAR INSTALLPROPERTY_INSTALLSOURCEW[] = {'I','n','s','t','a','l','l','S','o','u','r','c','e',0};#define INSTALLPROPERTY_INSTALLSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLSOURCE)
#define INSTALLPROPERTY_INSTALLDATEA "InstallDate"static const WCHAR INSTALLPROPERTY_INSTALLDATEW[] = {'I','n','s','t','a','l','l','D','a','t','e',0};#define INSTALLPROPERTY_INSTALLDATE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLDATE)
#define INSTALLPROPERTY_PUBLISHERA "Publisher"static const WCHAR INSTALLPROPERTY_PUBLISHERW[] ={'P','u','b','l','i','s','h','e','r',0};#define INSTALLPROPERTY_PUBLISHER WINELIB_NAME_AW(INSTALLPROPERTY_PUBLISHER)
#define INSTALLPROPERTY_LOCALPACKAGEA "LocalPackage"static const WCHAR INSTALLPROPERTY_LOCALPACKAGEW[] = {'L','o','c','a','l','P','a','c','k','a','g','e',0};#define INSTALLPROPERTY_LOCALPACKAGE WINELIB_NAME_AW(INSTALLPROPERTY_LOCALPACKAGE)
#define INSTALLPROPERTY_URLINFOABOUTA "URLInfoAbout"static const WCHAR INSTALLPROPERTY_URLINFOABOUTW[] = {'U','R','L','I','n','f','o','A','b','o','u','t',0};#define INSTALLPROPERTY_URLINFOABOUT WINELIB_NAME_AW(INSTALLPROPERTY_URLINFOABOUT)
#define INSTALLPROPERTY_URLUPDATEINFOA "URLUpdateInfo"static const WCHAR INSTALLPROPERTY_URLUPDATEINFOW[] = {'U','R','L','U','p','d','a','t','e','I','n','f','o',0};#define INSTALLPROPERTY_URLUPDATEINFO WINELIB_NAME_AW(INSTALLPROPERTY_URLUPDATEINFO)
#define INSTALLPROPERTY_VERSIONMINORA "VersionMinor"static const WCHAR INSTALLPROPERTY_VERSIONMINORW[] = {'V','e','r','s','i','o','n','M','i','n','o','r',0};#define INSTALLPROPERTY_VERSIONMINOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMINOR)
#define INSTALLPROPERTY_VERSIONMAJORA "VersionMajor"static const WCHAR INSTALLPROPERTY_VERSIONMAJORW[] = {'V','e','r','s','i','o','n','M','a','j','o','r',0};#define INSTALLPROPERTY_VERSIONMAJOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMAJOR)
#define INSTALLPROPERTY_PRODUCTIDA "ProductID"static const WCHAR INSTALLPROPERTY_PRODUCTIDW[] = {'P','r','o','d','u','c','t','I','D',0};#define INSTALLPROPERTY_PRODUCTID WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTID)
#define INSTALLPROPERTY_REGCOMPANYA "RegCompany"static const WCHAR INSTALLPROPERTY_REGCOMPANYW[] = {'R','e','g','C','o','m','p','a','n','y',0};#define INSTALLPROPERTY_REGCOMPANY WINELIB_NAME_AW(INSTALLPROPERTY_REGCOMPANY)
#define INSTALLPROPERTY_REGOWNERA "RegOwner"static const WCHAR INSTALLPROPERTY_REGOWNERW[] = {'R','e','g','O','w','n','e','r',0};#define INSTALLPROPERTY_REGOWNER WINELIB_NAME_AW(INSTALLPROPERTY_REGOWNER)
/* MSI Version 3.0 and greater */#define INSTALLPROPERTY_UNINSTALLABLEA "Uninstallable"static const WCHAR INSTALLPROPERTY_UNINSTALLABLEW[] = {'U','n','i','n','s','t','a','l','l','a','b','l','e',0};#define INSTALLPROPERTY_UNINSTALLABLE WINELIB_NAME_AW(INSTALLPROPERTY_UNINSTALLABLE)
#define INSTALLPROPERTY_PRODUCTSTATEA "State"static const WCHAR INSTALLPROPERTY_PRODUCTSTATEW[] = {'S','t','a','t','e',0};#define INSTALLPROPERTY_PRODUCTSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTSTATE)
#define INSTALLPROPERTY_PATCHSTATEA "State"static const WCHAR INSTALLPROPERTY_PATCHSTATEW[] ={'S','t','a','t','e',0};#define INSTALLPROPERTY_PATCHSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHSTATE)
#define INSTALLPROPERTY_PATCHTYPEA "PatchType"static const WCHAR INSTALLPROPERTY_PATCHTYPEW[] = {'P','a','t','c','h','T','y','p','e',0};#define INSTALLPROPERTY_PATCHTYPE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHTYPE)
#define INSTALLPROPERTY_LUAENABLEDA "LUAEnabled"static const WCHAR INSTALLPROPERTY_LUAENABLEDW[] = {'L','U','A','E','n','a','b','l','e','d',0};#define INSTALLPROPERTY_LUAENABLED WINELIB_NAME_AW(INSTALLPROPERTY_LUAENABLED)
#define INSTALLPROPERTY_DISPLAYNAMEA "DisplayName"static const WCHAR INSTALLPROPERTY_DISPLAYNAMEW[] = {'D','i','s','p','l','a','y','N','a','m','e',0};#define INSTALLPROPERTY_DISPLAYNAME WINELIB_NAME_AW(INSTALLPROPERTY_DISPLAYNAME)
#define INSTALLPROPERTY_MOREINFOURLA "MoreInfoURL"static const WCHAR INSTALLPROPERTY_MOREINFOURLW[] = {'M','o','r','e','I','n','f','o','U','R','L',0};#define INSTALLPROPERTY_MOREINFOURL WINELIB_NAME_AW(INSTALLPROPERTY_MOREINFOURL)
/* Source List Info */#define INSTALLPROPERTY_LASTUSEDSOURCEA "LastUsedSource"static const WCHAR INSTALLPROPERTY_LASTUSEDSOURCEW[] = {'L','a','s','t','U','s','e','d','S','o','u','r','c','e',0};#define INSTALLPROPERTY_LASTUSEDSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDSOURCE)
#define INSTALLPROPERTY_LASTUSEDTYPEA "LastUsedType"static const WCHAR INSTALLPROPERTY_LASTUSEDTYPEW[] = {'L','a','s','t','U','s','e','d','T','y','p','e',0};#define INSTALLPROPERTY_LASTUSEDTYPE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDTYPE)
#define INSTALLPROPERTY_MEDIAPACKAGEPATHA "MediaPackagePath"static const WCHAR INSTALLPROPERTY_MEDIAPACKAGEPATHW[] = {'M','e','d','i','a','P','a','c','k','a','g','e','P','a','t','h',0};#define INSTALLPROPERTY_MEDIAPACKAGEPATH WINELIB_NAME_AW(INSTALLPROPERTY_MEDIAPACKAGEPATH)
#define INSTALLPROPERTY_DISKPROMPTA "DiskPrompt"static const WCHAR INSTALLPROPERTY_DISKPROMPTW[] = {'D','i','s','k','P','r','o','m','p','t',0};#define INSTALLPROPERTY_DISKPROMPT WINELIB_NAME_AW(INSTALLPROPERTY_DISKPROMPT)
typedef INT (CALLBACK *INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR);typedef INT (CALLBACK *INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR);typedef INT (CALLBACK *INSTALLUI_HANDLER_RECORD)(LPVOID, UINT, MSIHANDLE);typedef INSTALLUI_HANDLER_RECORD* PINSTALLUI_HANDLER_RECORD;
UINTWINAPIMsiAdvertiseProductA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ LANGID);
UINTWINAPIMsiAdvertiseProductW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ LANGID);
#define MsiAdvertiseProduct WINELIB_NAME_AW(MsiAdvertiseProduct)
UINTWINAPIMsiAdvertiseProductExA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ LANGID, _In_ DWORD, _In_ DWORD);
UINTWINAPIMsiAdvertiseProductExW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ LANGID, _In_ DWORD, _In_ DWORD);
#define MsiAdvertiseProductEx WINELIB_NAME_AW(MsiAdvertiseProductEx)
UINT WINAPI MsiInstallProductA(_In_ LPCSTR, _In_opt_ LPCSTR);UINT WINAPI MsiInstallProductW(_In_ LPCWSTR, _In_opt_ LPCWSTR);#define MsiInstallProduct WINELIB_NAME_AW(MsiInstallProduct)
UINT WINAPI MsiReinstallProductA(_In_ LPCSTR, _In_ DWORD);UINT WINAPI MsiReinstallProductW(_In_ LPCWSTR, _In_ DWORD);#define MsiReinstallProduct WINELIB_NAME_AW(MsiReinstallProduct)
UINTWINAPIMsiApplyPatchA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ INSTALLTYPE, _In_opt_ LPCSTR);
UINTWINAPIMsiApplyPatchW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ INSTALLTYPE, _In_opt_ LPCWSTR);
#define MsiApplyPatch WINELIB_NAME_AW(MsiApplyPatch)
UINT WINAPI MsiEnumComponentCostsA(MSIHANDLE, LPCSTR, DWORD, INSTALLSTATE, LPSTR, LPDWORD, LPINT, LPINT);UINT WINAPI MsiEnumComponentCostsW(MSIHANDLE, LPCWSTR, DWORD, INSTALLSTATE, LPWSTR, LPDWORD, LPINT, LPINT);#define MsiEnumComponentCosts WINELIB_NAME_AW(MsiEnumComponentCosts)
UINTWINAPIMsiEnumProductsA( _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPSTR);
UINTWINAPIMsiEnumProductsW( _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR);
#define MsiEnumProducts WINELIB_NAME_AW(MsiEnumProducts)
UINTWINAPIMsiEnumProductsExA( _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(MAX_GUID_CHARS + 1) CHAR[39], _Out_opt_ MSIINSTALLCONTEXT*, _Out_writes_opt_(*pcchSid) LPSTR, _Inout_opt_ LPDWORD pcchSid);
UINTWINAPIMsiEnumProductsExW( _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(MAX_GUID_CHARS + 1) WCHAR[39], _Out_opt_ MSIINSTALLCONTEXT*, _Out_writes_opt_(*pcchSid) LPWSTR, _Inout_opt_ LPDWORD pcchSid);
#define MsiEnumProductsEx WINELIB_NAME_AW(MsiEnumProductsEx)
UINTWINAPIMsiEnumFeaturesA( _In_ LPCSTR, _In_ DWORD, _Out_writes_(MAX_FEATURE_CHARS + 1) LPSTR, _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPSTR);
UINTWINAPIMsiEnumFeaturesW( _In_ LPCWSTR, _In_ DWORD, _Out_writes_(MAX_FEATURE_CHARS + 1) LPWSTR, _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPWSTR);
#define MsiEnumFeatures WINELIB_NAME_AW(MsiEnumFeatures)
UINTWINAPIMsiEnumComponentsA( _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPSTR);
UINTWINAPIMsiEnumComponentsW( _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR);
#define MsiEnumComponents WINELIB_NAME_AW(MsiEnumComponents)
UINTWINAPIMsiEnumComponentsExA( _In_opt_ LPCSTR, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(MAX_GUID_CHARS + 1) CHAR[39], _Out_opt_ MSIINSTALLCONTEXT *, _Out_writes_opt_(*pcchSid) LPSTR, _Inout_opt_ LPDWORD pcchSid);
UINTWINAPIMsiEnumComponentsExW( _In_opt_ LPCWSTR, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(MAX_GUID_CHARS + 1) WCHAR[39], _Out_opt_ MSIINSTALLCONTEXT *, _Out_writes_opt_(*pcchSid) LPWSTR, _Inout_opt_ LPDWORD pcchSid);
#define MsiEnumComponentsEx WINELIB_NAME_AW(MsiEnumComponentsEx)
UINTWINAPIMsiEnumClientsA( _In_ LPCSTR, _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPSTR);
UINTWINAPIMsiEnumClientsW( _In_ LPCWSTR, _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR);
#define MsiEnumClients WINELIB_NAME_AW(MsiEnumClients)
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);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);#define MsiEnumClientsEx WINELIB_NAME_AW(MsiEnumClientsEx)
UINT WINAPI MsiOpenPackageA(_In_ LPCSTR, _Out_ MSIHANDLE*);UINT WINAPI MsiOpenPackageW(_In_ LPCWSTR, _Out_ MSIHANDLE*);#define MsiOpenPackage WINELIB_NAME_AW(MsiOpenPackage)
UINT WINAPI MsiOpenPackageExA(_In_ LPCSTR, _In_ DWORD, _Out_ MSIHANDLE*);UINT WINAPI MsiOpenPackageExW(_In_ LPCWSTR, _In_ DWORD, _Out_ MSIHANDLE*);#define MsiOpenPackageEx WINELIB_NAME_AW(MsiOpenPackageEx)
UINT WINAPI MsiOpenProductA(_In_ LPCSTR, _Out_ MSIHANDLE*);UINT WINAPI MsiOpenProductW(_In_ LPCWSTR, _Out_ MSIHANDLE*);#define MsiOpenProduct WINELIB_NAME_AW(MsiOpenProduct)
UINTWINAPIMsiGetProductPropertyA( _In_ MSIHANDLE, _In_ LPCSTR, _Out_writes_opt_(*pcchValueBuf) LPSTR, _Inout_opt_ LPDWORD pcchValueBuf);
UINTWINAPIMsiGetProductPropertyW( _In_ MSIHANDLE, _In_ LPCWSTR, _Out_writes_opt_(*pcchValueBuf) LPWSTR, _Inout_opt_ LPDWORD pcchValueBuf);
#define MsiGetProductProperty WINELIB_NAME_AW(MsiGetProductProperty)
UINT WINAPI MsiVerifyPackageA(_In_ LPCSTR);UINT WINAPI MsiVerifyPackageW(_In_ LPCWSTR);#define MsiVerifyPackage WINELIB_NAME_AW(MsiVerifyPackage)
UINTWINAPIMsiQueryComponentStateA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCSTR, _Out_opt_ INSTALLSTATE*);
UINTWINAPIMsiQueryComponentStateW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCWSTR, _Out_opt_ INSTALLSTATE*);
#define MsiQueryComponentState WINELIB_NAME_AW(MsiQueryComponentState)
INSTALLSTATE WINAPI MsiQueryProductStateA(_In_ LPCSTR);INSTALLSTATE WINAPI MsiQueryProductStateW(_In_ LPCWSTR);#define MsiQueryProductState WINELIB_NAME_AW(MsiQueryProductState)
UINT WINAPI MsiConfigureProductA(_In_ LPCSTR, _In_ int, _In_ INSTALLSTATE);UINT WINAPI MsiConfigureProductW(_In_ LPCWSTR, _In_ int, _In_ INSTALLSTATE);#define MsiConfigureProduct WINELIB_NAME_AW(MsiConfigureProduct)
UINTWINAPIMsiConfigureProductExA( _In_ LPCSTR, _In_ int, _In_ INSTALLSTATE, _In_opt_ LPCSTR);
UINTWINAPIMsiConfigureProductExW( _In_ LPCWSTR, _In_ int, _In_ INSTALLSTATE, _In_opt_ LPCWSTR);
#define MsiConfigureProductEx WINELIB_NAME_AW(MsiConfigureProductEx)
UINTWINAPIMsiConfigureFeatureA( _In_ LPCSTR, _In_ LPCSTR, _In_ INSTALLSTATE);
UINTWINAPIMsiConfigureFeatureW( _In_ LPCWSTR, _In_ LPCWSTR, _In_ INSTALLSTATE);
#define MsiConfigureFeature WINELIB_NAME_AW(MsiConfigureFeature)
UINTWINAPIMsiGetProductCodeA( _In_ LPCSTR, _Out_writes_(MAX_GUID_CHARS + 1) LPSTR);
UINTWINAPIMsiGetProductCodeW( _In_ LPCWSTR, _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR);
#define MsiGetProductCode WINELIB_NAME_AW(MsiGetProductCode)
UINTWINAPIMsiGetProductInfoA( _In_ LPCSTR, _In_ LPCSTR, _Out_writes_opt_(*pcchValueBuf) LPSTR, _Inout_opt_ LPDWORD pcchValueBuf);
UINTWINAPIMsiGetProductInfoW( _In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_opt_(*pcchValueBuf) LPWSTR, _Inout_opt_ LPDWORD pcchValueBuf);
#define MsiGetProductInfo WINELIB_NAME_AW(MsiGetProductInfo)
UINTWINAPIMsiGetProductInfoExA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCSTR, _Out_writes_opt_(*pcchValue) LPSTR, _Inout_opt_ LPDWORD pcchValue);
UINTWINAPIMsiGetProductInfoExW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCWSTR, _Out_writes_opt_(*pcchValue) LPWSTR, _Inout_opt_ LPDWORD pcchValue);
#define MsiGetProductInfoEx WINELIB_NAME_AW(MsiGetProductInfoEx)
UINTWINAPIMsiGetPatchInfoExA( _In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCSTR, _Out_writes_opt_(*pcchValue) LPSTR, _Inout_opt_ LPDWORD pcchValue);
UINTWINAPIMsiGetPatchInfoExW( _In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCWSTR, _Out_writes_opt_(*pcchValue) LPWSTR, _Inout_opt_ LPDWORD pcchValue);
#define MsiGetPatchInfoEx WINELIB_NAME_AW(MsiGetPatchInfoEx)
UINTWINAPIMsiGetPatchInfoA( _In_ LPCSTR, _In_ LPCSTR, _Out_writes_opt_(*pcchValueBuf) LPSTR, _Inout_opt_ LPDWORD pcchValueBuf);
UINTWINAPIMsiGetPatchInfoW( _In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_opt_(*pcchValueBuf) LPWSTR, _Inout_opt_ LPDWORD pcchValueBuf);
#define MsiGetPatchInfo WINELIB_NAME_AW(MsiGetPatchInfo)
UINT WINAPI MsiEnableLogA(_In_ DWORD, _In_opt_ LPCSTR, _In_ DWORD);UINT WINAPI MsiEnableLogW(_In_ DWORD, _In_opt_ LPCWSTR, _In_ DWORD);#define MsiEnableLog WINELIB_NAME_AW(MsiEnableLog)
INSTALLUI_HANDLERAWINAPIMsiSetExternalUIA( _In_opt_ INSTALLUI_HANDLERA, _In_ DWORD, _In_opt_ LPVOID);
INSTALLUI_HANDLERWWINAPIMsiSetExternalUIW( _In_opt_ INSTALLUI_HANDLERW, _In_ DWORD, _In_opt_ LPVOID);
#define MsiSetExternalUI WINELIB_NAME_AW(MsiSetExternalUI)
INSTALLSTATEWINAPIMsiGetComponentPathA( _In_ LPCSTR, _In_ LPCSTR, _Out_writes_opt_(*pcchBuf) LPSTR, _Inout_opt_ LPDWORD pcchBuf);
INSTALLSTATEWINAPIMsiGetComponentPathW( _In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_opt_(*pcchBuf) LPWSTR, _Inout_opt_ LPDWORD pcchBuf);
#define MsiGetComponentPath WINELIB_NAME_AW(MsiGetComponentPath)
INSTALLSTATE WINAPI MsiGetComponentPathExA(LPCSTR, LPCSTR, LPCSTR, MSIINSTALLCONTEXT, LPSTR, LPDWORD);INSTALLSTATE WINAPI MsiGetComponentPathExW(LPCWSTR, LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, LPWSTR, LPDWORD);#define MsiGetComponentPathEx WINELIB_NAME_AW(MsiGetComponentPathEx)
INSTALLSTATE WINAPI MsiQueryFeatureStateA(_In_ LPCSTR, _In_ LPCSTR);INSTALLSTATE WINAPI MsiQueryFeatureStateW(_In_ LPCWSTR, _In_ LPCWSTR);#define MsiQueryFeatureState WINELIB_NAME_AW(MsiQueryFeatureState)
UINTWINAPIMsiQueryFeatureStateExA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCSTR, _Out_opt_ INSTALLSTATE*);
UINTWINAPIMsiQueryFeatureStateExW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ LPCWSTR, _Out_opt_ INSTALLSTATE*);
#define MsiQueryFeatureStateEx WINELIB_NAME_AW(MsiQueryFeatureStateEx)
UINTWINAPIMsiGetFeatureInfoA( _In_ MSIHANDLE, _In_ LPCSTR, _Out_opt_ LPDWORD, _Out_writes_opt_(*pcchTitleBuf) LPSTR, _Inout_opt_ LPDWORD pcchTitleBuf, _Out_writes_opt_(*pcchHelpBuf) LPSTR, _Inout_opt_ LPDWORD pcchHelpBuf);
UINTWINAPIMsiGetFeatureInfoW( _In_ MSIHANDLE, _In_ LPCWSTR, _Out_opt_ LPDWORD, _Out_writes_opt_(*pcchTitleBuf) LPWSTR, _Inout_opt_ LPDWORD pcchTitleBuf, _Out_writes_opt_(*pcchHelpBuf) LPWSTR, _Inout_opt_ LPDWORD pcchHelpBuf);
#define MsiGetFeatureInfo WINELIB_NAME_AW(MsiGetFeatureInfo)
UINTWINAPIMsiGetFeatureUsageA( _In_ LPCSTR, _In_ LPCSTR, _Out_opt_ LPDWORD, _Out_opt_ LPWORD);
UINTWINAPIMsiGetFeatureUsageW( _In_ LPCWSTR, _In_ LPCWSTR, _Out_opt_ LPDWORD, _Out_opt_ LPWORD);
#define MsiGetFeatureUsage WINELIB_NAME_AW(MsiGetFeatureUsage)
UINTWINAPIMsiEnumRelatedProductsA( _In_ LPCSTR, _Reserved_ DWORD, _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPSTR);
UINTWINAPIMsiEnumRelatedProductsW( _In_ LPCWSTR, _Reserved_ DWORD, _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR);
#define MsiEnumRelatedProducts WINELIB_NAME_AW(MsiEnumRelatedProducts)
UINTWINAPIMsiProvideAssemblyA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(*pcchPathBuf) LPSTR, _Inout_opt_ LPDWORD pcchPathBuf);
UINTWINAPIMsiProvideAssemblyW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(*pcchPathBuf) LPWSTR, _Inout_opt_ LPDWORD pcchPathBuf);
#define MsiProvideAssembly WINELIB_NAME_AW(MsiProvideAssembly)
UINTWINAPIMsiEnumComponentQualifiersA( _In_ LPCSTR, _In_ DWORD, _Out_writes_(*pcchQualifierBuf) LPSTR, _Inout_ LPDWORD pcchQualifierBuf, _Out_writes_opt_(*pcchApplicationDataBuf) LPSTR, _Inout_opt_ LPDWORD pcchApplicationDataBuf);
UINTWINAPIMsiEnumComponentQualifiersW( _In_ LPCWSTR, _In_ DWORD, _Out_writes_(*pcchQualifierBuf) LPWSTR, _Inout_ LPDWORD pcchQualifierBuf, _Out_writes_opt_(*pcchApplicationDataBuf) LPWSTR, _Inout_opt_ LPDWORD pcchApplicationDataBuf);
#define MsiEnumComponentQualifiers WINELIB_NAME_AW(MsiEnumComponentQualifiers)
UINTWINAPIMsiGetFileVersionA( _In_ LPCSTR, _Out_writes_opt_(*pcchVersionBuf) LPSTR, _Inout_opt_ LPDWORD pcchVersionBuf, _Out_writes_opt_(*pcchLangBuf) LPSTR, _Inout_opt_ LPDWORD pcchLangBuf);
UINTWINAPIMsiGetFileVersionW( _In_ LPCWSTR, _Out_writes_opt_(*pcchVersionBuf) LPWSTR, _Inout_opt_ LPDWORD pcchVersionBuf, _Out_writes_opt_(*pcchLangBuf) LPWSTR, _Inout_opt_ LPDWORD pcchLangBuf);
#define MsiGetFileVersion WINELIB_NAME_AW(MsiGetFileVersion)
UINT WINAPI MsiMessageBoxA(HWND, LPCSTR, LPCSTR, UINT, WORD, DWORD);UINT WINAPI MsiMessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT, WORD, DWORD);#define MsiMessageBox WINELIB_NAME_AW(MsiMessageBox)
UINTWINAPIMsiProvideQualifiedComponentExA( _In_ LPCSTR, _In_ LPCSTR, _In_ DWORD, _In_opt_ LPCSTR, _Reserved_ DWORD, _Reserved_ DWORD, _Out_writes_opt_(*pcchPathBuf) LPSTR, _Inout_opt_ LPDWORD pcchPathBuf);
UINTWINAPIMsiProvideQualifiedComponentExW( _In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD, _In_opt_ LPCWSTR, _Reserved_ DWORD, _Reserved_ DWORD, _Out_writes_opt_(*pcchPathBuf) LPWSTR, _Inout_opt_ LPDWORD pcchPathBuf);
#define MsiProvideQualifiedComponentEx WINELIB_NAME_AW(MsiProvideQualifiedComponentEx)
UINTWINAPIMsiProvideQualifiedComponentA( _In_ LPCSTR, _In_ LPCSTR, _In_ DWORD, _Out_writes_opt_(*pcchPathBuf) LPSTR, _Inout_opt_ LPDWORD pcchPathBuf);
UINTWINAPIMsiProvideQualifiedComponentW( _In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD, _Out_writes_opt_(*pcchPathBuf) LPWSTR, _Inout_opt_ LPDWORD pcchPathBuf);
#define MsiProvideQualifiedComponent WINELIB_NAME_AW(MsiProvideQualifiedComponent)
USERINFOSTATEWINAPIMsiGetUserInfoA( _In_ LPCSTR, _Out_writes_opt_(*pcchUserNameBuf) LPSTR, _Inout_opt_ LPDWORD pcchUserNameBuf, _Out_writes_opt_(*pcchOrgNameBuf) LPSTR, _Inout_opt_ LPDWORD pcchOrgNameBuf, _Out_writes_opt_(*pcchSerialBuf) LPSTR, _Inout_opt_ LPDWORD pcchSerialBuf);
USERINFOSTATEWINAPIMsiGetUserInfoW( _In_ LPCWSTR, _Out_writes_opt_(*pcchUserNameBuf) LPWSTR, _Inout_opt_ LPDWORD pcchUserNameBuf, _Out_writes_opt_(*pcchOrgNameBuf) LPWSTR, _Inout_opt_ LPDWORD pcchOrgNameBuf, _Out_writes_opt_(*pcchSerialBuf) LPWSTR, _Inout_opt_ LPDWORD pcchSerialBuf);
#define MsiGetUserInfo WINELIB_NAME_AW(MsiGetUserInfo)
UINT WINAPI MsiProvideComponentA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPDWORD);UINT WINAPI MsiProvideComponentW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPDWORD);#define MsiProvideComponent WINELIB_NAME_AW(MsiProvideComponent)
UINT WINAPI MsiCollectUserInfoA(_In_ LPCSTR);UINT WINAPI MsiCollectUserInfoW(_In_ LPCWSTR);#define MsiCollectUserInfo WINELIB_NAME_AW(MsiCollectUserInfo)
UINT WINAPI MsiReinstallFeatureA(_In_ LPCSTR, _In_ LPCSTR, _In_ DWORD);UINT WINAPI MsiReinstallFeatureW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD);#define MsiReinstallFeature WINELIB_NAME_AW(MsiReinstallFeature)
UINTWINAPIMsiGetShortcutTargetA( _In_ LPCSTR, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR, _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPSTR, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR);
UINTWINAPIMsiGetShortcutTargetW( _In_ LPCWSTR, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR, _Out_writes_opt_(MAX_FEATURE_CHARS + 1) LPWSTR, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR);
#define MsiGetShortcutTarget WINELIB_NAME_AW(MsiGetShortcutTarget)
INSTALLSTATE WINAPI MsiUseFeatureW(_In_ LPCWSTR, _In_ LPCWSTR);INSTALLSTATE WINAPI MsiUseFeatureA(_In_ LPCSTR, _In_ LPCSTR);#define MsiUseFeature WINELIB_NAME_AW(MsiUseFeature)
INSTALLSTATEWINAPIMsiUseFeatureExW( _In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD, _Reserved_ DWORD);
INSTALLSTATEWINAPIMsiUseFeatureExA( _In_ LPCSTR, _In_ LPCSTR, _In_ DWORD, _Reserved_ DWORD);
#define MsiUseFeatureEx WINELIB_NAME_AW(MsiUseFeatureEx)
HRESULTWINAPIMsiGetFileSignatureInformationA( _In_ LPCSTR, _In_ DWORD, _Outptr_ PCCERT_CONTEXT*, _Out_writes_bytes_opt_(*pcbHashData) LPBYTE, _Inout_opt_ LPDWORD pcbHashData);
HRESULTWINAPIMsiGetFileSignatureInformationW( _In_ LPCWSTR, _In_ DWORD, _Outptr_ PCCERT_CONTEXT*, _Out_writes_bytes_opt_(*pcbHashData) LPBYTE, _Inout_opt_ LPDWORD pcbHashData);
#define MsiGetFileSignatureInformation WINELIB_NAME_AW(MsiGetFileSignatureInformation)
INSTALLSTATEWINAPIMsiLocateComponentA( _In_ LPCSTR, _Out_writes_opt_(*pcchBuf) LPSTR, _Inout_opt_ LPDWORD pcchBuf);
INSTALLSTATEWINAPIMsiLocateComponentW( _In_ LPCWSTR, _Out_writes_opt_(*pcchBuf) LPWSTR, _Inout_opt_ LPDWORD pcchBuf);
#define MsiLocateComponent WINELIB_NAME_AW(MsiLocateComponent)
UINTWINAPIMsiSourceListAddSourceA( _In_ LPCSTR, _In_opt_ LPCSTR, _Reserved_ DWORD, _In_ LPCSTR);
UINTWINAPIMsiSourceListAddSourceW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _Reserved_ DWORD, _In_ LPCWSTR);
#define MsiSourceListAddSource WINELIB_NAME_AW(MsiSourceListAddSource)
UINTWINAPIMsiSourceListEnumMediaDisksA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ DWORD, _Out_opt_ LPDWORD, _Out_writes_opt_(*pcchVolumeLabel) LPSTR, _Inout_opt_ LPDWORD pcchVolumeLabel, _Out_writes_opt_(*pcchDiskPrompt) LPSTR, _Inout_opt_ LPDWORD pcchDiskPrompt);
UINTWINAPIMsiSourceListEnumMediaDisksW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ DWORD, _Out_opt_ LPDWORD, _Out_writes_opt_(*pcchVolumeLabel) LPWSTR, _Inout_opt_ LPDWORD pcchVolumeLabel, _Out_writes_opt_(*pcchDiskPrompt) LPWSTR, _Inout_opt_ LPDWORD pcchDiskPrompt);
#define MsiSourceListEnumMediaDisks WINELIB_NAME_AW(MsiSourceListEnumMediaDisks)
UINTWINAPIMsiSourceListEnumSourcesA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(*pcchSource) LPSTR, _Inout_opt_ LPDWORD pcchSource);
UINTWINAPIMsiSourceListEnumSourcesW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(*pcchSource) LPWSTR, _Inout_opt_ LPDWORD pcchSource);
#define MsiSourceListEnumSources WINELIB_NAME_AW(MsiSourceListEnumSources)
UINTWINAPIMsiSourceListClearSourceA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCSTR);
UINTWINAPIMsiSourceListClearSourceW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCWSTR);
#define MsiSourceListClearSource WINELIB_NAME_AW(MsiSourceListClearSource)
UINTWINAPIMsiSourceListClearAllA( _In_ LPCSTR, _In_opt_ LPCSTR, _Reserved_ DWORD);
UINTWINAPIMsiSourceListClearAllW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _Reserved_ DWORD);
#define MsiSourceListClearAll WINELIB_NAME_AW(MsiSourceListClearAll)
UINTWINAPIMsiSourceListGetInfoA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCSTR, _Out_writes_opt_(*pcchValue) LPSTR, _Inout_opt_ LPDWORD pcchValue);
UINTWINAPIMsiSourceListGetInfoW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCWSTR, _Out_writes_opt_(*pcchValue) LPWSTR, _Inout_opt_ LPDWORD pcchValue);
#define MsiSourceListGetInfo WINELIB_NAME_AW(MsiSourceListGetInfo)
UINTWINAPIMsiSourceListSetInfoA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCSTR, _In_ LPCSTR);
UINTWINAPIMsiSourceListSetInfoW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCWSTR, _In_ LPCWSTR);
#define MsiSourceListSetInfo WINELIB_NAME_AW(MsiSourceListSetInfo)
UINTWINAPIMsiSourceListAddSourceExA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCSTR, _In_ DWORD);
UINTWINAPIMsiSourceListAddSourceExW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ LPCWSTR, _In_ DWORD);
#define MsiSourceListAddSourceEx WINELIB_NAME_AW(MsiSourceListAddSourceEx)
UINTWINAPIMsiSourceListAddMediaDiskA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ DWORD, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
UINTWINAPIMsiSourceListAddMediaDiskW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD, _In_ DWORD, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
#define MsiSourceListAddMediaDisk WINELIB_NAME_AW(MsiSourceListAddMediaDisk)
UINT WINAPI MsiSourceListForceResolutionA(const CHAR*, const CHAR*, DWORD);UINT WINAPI MsiSourceListForceResolutionW(const WCHAR*, const WCHAR*, DWORD);#define MsiSourceListForceResolution WINELIB_NAME_AW(MsiSourceListForceResolution)
UINTWINAPIMsiEnumPatchesA( _In_ LPCSTR, _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPSTR, _Out_writes_(*pcchTransformsBuf) LPSTR, _Inout_ LPDWORD pcchTransformsBuf);
UINTWINAPIMsiEnumPatchesW( _In_ LPCWSTR, _In_ DWORD, _Out_writes_(MAX_GUID_CHARS + 1) LPWSTR, _Out_writes_(*pcchTransformsBuf) LPWSTR, _Inout_ LPDWORD pcchTransformsBuf);
#define MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches)
UINTWINAPIMsiEnumPatchesExA( _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPSTR, _Out_opt_ MSIINSTALLCONTEXT*, _Out_writes_opt_(*pcchTargetUserSid) LPSTR, _Inout_opt_ LPDWORD pcchTargetUserSid);
UINTWINAPIMsiEnumPatchesExW( _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_ DWORD, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR, _Out_writes_opt_(MAX_GUID_CHARS + 1) LPWSTR, _Out_opt_ MSIINSTALLCONTEXT*, _Out_writes_opt_(*pcchTargetUserSid) LPWSTR, _Inout_opt_ LPDWORD pcchTargetUserSid);
#define MsiEnumPatchesEx WINELIB_NAME_AW(MsiEnumPatchesEx)
UINTWINAPIMsiGetFileHashA( _In_ LPCSTR, _In_ DWORD, _Inout_ PMSIFILEHASHINFO);
UINTWINAPIMsiGetFileHashW( _In_ LPCWSTR, _In_ DWORD, _Inout_ PMSIFILEHASHINFO);
#define MsiGetFileHash WINELIB_NAME_AW(MsiGetFileHash)
UINTWINAPIMsiAdvertiseScriptA( _In_ LPCSTR, _In_ DWORD, _In_opt_ PHKEY, _In_ BOOL);
UINTWINAPIMsiAdvertiseScriptW( _In_ LPCWSTR, _In_ DWORD, _In_opt_ PHKEY, _In_ BOOL);
#define MsiAdvertiseScript WINELIB_NAME_AW(MsiAdvertiseScript)
UINT WINAPI MsiIsProductElevatedA(_In_ LPCSTR, _Out_ BOOL *);UINT WINAPI MsiIsProductElevatedW(_In_ LPCWSTR, _Out_ BOOL *);#define MsiIsProductElevated WINELIB_NAME_AW(MsiIsProductElevated)
UINT WINAPI MsiDatabaseMergeA(MSIHANDLE, MSIHANDLE, LPCSTR);UINT WINAPI MsiDatabaseMergeW(MSIHANDLE, MSIHANDLE, LPCWSTR);#define MsiDatabaseMerge WINELIB_NAME_AW(MsiDatabaseMerge)
UINTWINAPIMsiInstallMissingComponentA( _In_ LPCSTR, _In_ LPCSTR, _In_ INSTALLSTATE);
UINTWINAPIMsiInstallMissingComponentW( _In_ LPCWSTR, _In_ LPCWSTR, _In_ INSTALLSTATE);
#define MsiInstallMissingComponent WINELIB_NAME_AW(MsiInstallMissingComponent)
UINTWINAPIMsiDetermineApplicablePatchesA( _In_ LPCSTR, _In_ DWORD cPatchInfo, _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOA);
UINTWINAPIMsiDetermineApplicablePatchesW( _In_ LPCWSTR, _In_ DWORD cPatchInfo, _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOW);
#define MsiDetermineApplicablePatches WINELIB_NAME_AW(MsiDetermineApplicablePatches)
UINTWINAPIMsiDeterminePatchSequenceA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD cPatchInfo, _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOA);
UINTWINAPIMsiDeterminePatchSequenceW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ MSIINSTALLCONTEXT, _In_ DWORD cPatchInfo, _Inout_updates_(cPatchInfo) PMSIPATCHSEQUENCEINFOW);
#define MsiDeterminePatchSequence WINELIB_NAME_AW(MsiDeterminePatchSequence)
UINTWINAPIMsiApplyMultiplePatchesA( _In_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
UINTWINAPIMsiApplyMultiplePatchesW( _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
#define MsiApplyMultiplePatches WINELIB_NAME_AW(MsiApplyMultiplePatches)
UINTWINAPIMsiBeginTransactionA( _In_ LPCSTR, _In_ DWORD, _Out_ MSIHANDLE *, _Out_ HANDLE *);
UINTWINAPIMsiBeginTransactionW( _In_ LPCWSTR, _In_ DWORD, _Out_ MSIHANDLE *, _Out_ HANDLE *);
#define MsiBeginTransaction WINELIB_NAME_AW(MsiBeginTransaction)
UINT WINAPI MsiEndTransaction(_In_ DWORD);
/* Non Unicode */UINT WINAPI MsiCloseHandle(MSIHANDLE);UINT WINAPI MsiCloseAllHandles(void);INSTALLUILEVEL WINAPI MsiSetInternalUI(_In_ INSTALLUILEVEL, _Inout_opt_ HWND*);
UINTWINAPIMsiSetExternalUIRecord( _In_opt_ INSTALLUI_HANDLER_RECORD, _In_ DWORD, _In_opt_ LPVOID, _Out_opt_ PINSTALLUI_HANDLER_RECORD);
#ifdef __cplusplus}#endif
#endif /* __WINE_MSI_H */