summaryrefslogtreecommitdiffstats
path: root/libmsi
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-10-23 11:03:00 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2012-12-06 20:25:49 +0100
commit18ca110ba1499533be9879c951f5dae85dc34007 (patch)
tree7125c6c1366f99dbd3f51ee3d613c35b8c44b229 /libmsi
parentfc63f22b149a05d28a76fa1d1ad6aa4c33ed1380 (diff)
downloadmsitools-18ca110ba1499533be9879c951f5dae85dc34007.tar.gz
msitools-18ca110ba1499533be9879c951f5dae85dc34007.tar.xz
msitools-18ca110ba1499533be9879c951f5dae85dc34007.zip
header file diet
Diffstat (limited to 'libmsi')
-rw-r--r--libmsi/Makefile.am1
-rw-r--r--libmsi/alter.c1
-rw-r--r--libmsi/create.c1
-rw-r--r--libmsi/database.c1
-rw-r--r--libmsi/delete.c1
-rw-r--r--libmsi/distinct.c1
-rw-r--r--libmsi/drop.c1
-rw-r--r--libmsi/handle.c1
-rw-r--r--libmsi/insert.c1
-rw-r--r--libmsi/msi.h707
-rw-r--r--libmsi/msipriv.h658
-rw-r--r--libmsi/msiquery.c1
-rw-r--r--libmsi/msiquery.h155
-rw-r--r--libmsi/record.c1
-rw-r--r--libmsi/select.c1
-rw-r--r--libmsi/storages.c1
-rw-r--r--libmsi/streams.c1
-rw-r--r--libmsi/string.c1
-rw-r--r--libmsi/suminfo.c1
-rw-r--r--libmsi/table.c1
-rw-r--r--libmsi/update.c1
-rw-r--r--libmsi/where.c1
22 files changed, 41 insertions, 1498 deletions
diff --git a/libmsi/Makefile.am b/libmsi/Makefile.am
index 3a31235..85004cc 100644
--- a/libmsi/Makefile.am
+++ b/libmsi/Makefile.am
@@ -6,7 +6,6 @@ AM_YFLAGS = -d
BUILT_SOURCES = sql-parser.c sql-parser.h
noinst_HEADERS = \
- msi.h \
msipriv.h \
msiquery.h \
msiserver.h \
diff --git a/libmsi/alter.c b/libmsi/alter.c
index d1b1477..8873117 100644
--- a/libmsi/alter.c
+++ b/libmsi/alter.c
@@ -24,7 +24,6 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/create.c b/libmsi/create.c
index 19b51db..cb00366 100644
--- a/libmsi/create.c
+++ b/libmsi/create.c
@@ -25,7 +25,6 @@
#include "winerror.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/database.c b/libmsi/database.c
index 33f3242..6f9f11b 100644
--- a/libmsi/database.c
+++ b/libmsi/database.c
@@ -30,7 +30,6 @@
#include "winnls.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "msipriv.h"
#include "objidl.h"
diff --git a/libmsi/delete.c b/libmsi/delete.c
index dcbdae5..d7ce262 100644
--- a/libmsi/delete.c
+++ b/libmsi/delete.c
@@ -24,7 +24,6 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/distinct.c b/libmsi/distinct.c
index ca63f6b..dba58d8 100644
--- a/libmsi/distinct.c
+++ b/libmsi/distinct.c
@@ -24,7 +24,6 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/drop.c b/libmsi/drop.c
index f79b66a..e2566fb 100644
--- a/libmsi/drop.c
+++ b/libmsi/drop.c
@@ -24,7 +24,6 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/handle.c b/libmsi/handle.c
index 3c38bf8..497ee8e 100644
--- a/libmsi/handle.c
+++ b/libmsi/handle.c
@@ -27,7 +27,6 @@
#include "winreg.h"
#include "shlwapi.h"
#include "wine/debug.h"
-#include "msi.h"
#include "msiquery.h"
#include "msipriv.h"
diff --git a/libmsi/insert.c b/libmsi/insert.c
index 8e07a14..d16aacd 100644
--- a/libmsi/insert.c
+++ b/libmsi/insert.c
@@ -25,7 +25,6 @@
#include "winerror.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/msi.h b/libmsi/msi.h
deleted file mode 100644
index 273b4fc..0000000
--- a/libmsi/msi.h
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
- * 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 __MSI_H
-#define __MSI_H
-
-#ifndef _MSI_NO_CRYPTO
-#include <wincrypt.h>
-#endif
-
-#ifdef __cplusplus
-extern "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;
-
-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_RESOLVESOURCE = (1 << (INSTALLMESSAGE_RESOLVESOURCE >> 24)),
- INSTALLLOGMODE_OUTOFDISKSPACE = (1 << (INSTALLMESSAGE_OUTOFDISKSPACE >> 24)),
- INSTALLLOGMODE_ACTIONSTART = (1 << (INSTALLMESSAGE_ACTIONSTART >> 24)),
- INSTALLLOGMODE_ACTIONDATA = (1 << (INSTALLMESSAGE_ACTIONDATA >> 24)),
- INSTALLLOGMODE_COMMONDATA = (1 << (INSTALLMESSAGE_COMMONDATA >> 24)),
- INSTALLLOGMODE_PROPERTYDUMP = (1 << (INSTALLMESSAGE_PROGRESS >> 24)),
- INSTALLLOGMODE_VERBOSE = (1 << (INSTALLMESSAGE_INITIALIZE >> 24)),
- INSTALLLOGMODE_EXTRADEBUG = (1 << (INSTALLMESSAGE_TERMINATE >> 24)),
- INSTALLLOGMODE_PROGRESS = (1 << (INSTALLMESSAGE_PROGRESS >> 24)),
- INSTALLLOGMODE_INITIALIZE = (1 << (INSTALLMESSAGE_INITIALIZE >> 24)),
- INSTALLLOGMODE_TERMINATE = (1 << (INSTALLMESSAGE_TERMINATE >> 24)),
- INSTALLLOGMODE_SHOWDIALOG = (1 << (INSTALLMESSAGE_SHOWDIALOG >> 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 = __MSABI_LONG(0x00000000),
- MSISOURCETYPE_NETWORK = __MSABI_LONG(0x00000001),
- MSISOURCETYPE_URL = __MSABI_LONG(0x00000002),
- MSISOURCETYPE_MEDIA = __MSABI_LONG(0x00000004)
-} MSISOURCETYPE;
-
-typedef enum tagMSICODE
-{
- MSICODE_PRODUCT = __MSABI_LONG(0x00000000),
- MSICODE_PATCH = __MSABI_LONG(0x40000000)
-} 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
-
-/* 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;
-
-UINT WINAPI MsiAdvertiseProductA(LPCSTR, LPCSTR, LPCSTR, LANGID);
-UINT WINAPI MsiAdvertiseProductW(LPCWSTR, LPCWSTR, LPCWSTR, LANGID);
-#define MsiAdvertiseProduct WINELIB_NAME_AW(MsiAdvertiseProduct)
-
-UINT WINAPI MsiAdvertiseProductExA(LPCSTR, LPCSTR, LPCSTR, LANGID, DWORD, DWORD);
-UINT WINAPI MsiAdvertiseProductExW(LPCWSTR, LPCWSTR, LPCWSTR, LANGID, DWORD, DWORD);
-#define MsiAdvertiseProductEx WINELIB_NAME_AW(MsiAdvertiseProductEx)
-
-UINT WINAPI MsiInstallProductA(LPCSTR, LPCSTR);
-UINT WINAPI MsiInstallProductW(LPCWSTR, LPCWSTR);
-#define MsiInstallProduct WINELIB_NAME_AW(MsiInstallProduct)
-
-UINT WINAPI MsiReinstallProductA(LPCSTR, DWORD);
-UINT WINAPI MsiReinstallProductW(LPCWSTR, DWORD);
-#define MsiReinstallProduct WINELIB_NAME_AW(MsiReinstallProduct)
-
-UINT WINAPI MsiApplyPatchA(LPCSTR, LPCSTR, INSTALLTYPE, LPCSTR);
-UINT WINAPI MsiApplyPatchW(LPCWSTR, LPCWSTR, INSTALLTYPE, 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)
-
-UINT WINAPI MsiEnumProductsA(DWORD, LPSTR);
-UINT WINAPI MsiEnumProductsW(DWORD, LPWSTR);
-#define MsiEnumProducts WINELIB_NAME_AW(MsiEnumProducts)
-
-UINT WINAPI MsiEnumProductsExA(LPCSTR, LPCSTR, DWORD, DWORD, CHAR[39], MSIINSTALLCONTEXT*, LPSTR, LPDWORD);
-UINT WINAPI MsiEnumProductsExW(LPCWSTR, LPCWSTR, DWORD, DWORD, WCHAR[39], MSIINSTALLCONTEXT*, LPWSTR, LPDWORD);
-#define MsiEnumProductsEx WINELIB_NAME_AW(MsiEnumProductsEx)
-
-UINT WINAPI MsiEnumFeaturesA(LPCSTR, DWORD, LPSTR, LPSTR);
-UINT WINAPI MsiEnumFeaturesW(LPCWSTR, DWORD, LPWSTR, LPWSTR);
-#define MsiEnumFeatures WINELIB_NAME_AW(MsiEnumFeatures)
-
-UINT WINAPI MsiEnumComponentsA(DWORD, LPSTR);
-UINT WINAPI MsiEnumComponentsW(DWORD, LPWSTR);
-#define MsiEnumComponents WINELIB_NAME_AW(MsiEnumComponents)
-
-UINT WINAPI MsiEnumComponentsExA(LPCSTR, DWORD, DWORD, CHAR[39],
- MSIINSTALLCONTEXT *, LPSTR, LPDWORD);
-UINT WINAPI MsiEnumComponentsExW(LPCWSTR, DWORD, DWORD, WCHAR[39],
- MSIINSTALLCONTEXT *, LPWSTR, LPDWORD);
-#define MsiEnumComponentsEx WINELIB_NAME_AW(MsiEnumComponentsEx)
-
-UINT WINAPI MsiEnumClientsA(LPCSTR, DWORD, LPSTR);
-UINT WINAPI MsiEnumClientsW(LPCWSTR, DWORD, LPWSTR);
-#define MsiEnumClients WINELIB_NAME_AW(MsiEnumClients)
-
-UINT WINAPI MsiOpenPackageA(LPCSTR, MSIHANDLE*);
-UINT WINAPI MsiOpenPackageW(LPCWSTR, MSIHANDLE*);
-#define MsiOpenPackage WINELIB_NAME_AW(MsiOpenPackage)
-
-UINT WINAPI MsiOpenPackageExA(LPCSTR, DWORD, MSIHANDLE*);
-UINT WINAPI MsiOpenPackageExW(LPCWSTR, DWORD, MSIHANDLE*);
-#define MsiOpenPackageEx WINELIB_NAME_AW(MsiOpenPackageEx)
-
-UINT WINAPI MsiOpenProductA(LPCSTR, MSIHANDLE*);
-UINT WINAPI MsiOpenProductW(LPCWSTR, MSIHANDLE*);
-#define MsiOpenProduct WINELIB_NAME_AW(MsiOpenProduct)
-
-UINT WINAPI MsiGetProductPropertyA(MSIHANDLE,LPCSTR,LPSTR,LPDWORD);
-UINT WINAPI MsiGetProductPropertyW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD);
-#define MsiGetProductProperty WINELIB_NAME_AW(MsiGetProductProperty)
-
-UINT WINAPI MsiVerifyPackageA(LPCSTR);
-UINT WINAPI MsiVerifyPackageW(LPCWSTR);
-#define MsiVerifyPackage WINELIB_NAME_AW(MsiVerifyPackage)
-
-UINT WINAPI MsiQueryComponentStateA(LPCSTR,LPCSTR,MSIINSTALLCONTEXT,LPCSTR,INSTALLSTATE*);
-UINT WINAPI MsiQueryComponentStateW(LPCWSTR,LPCWSTR,MSIINSTALLCONTEXT,LPCWSTR,INSTALLSTATE*);
-#define MsiQueryComponentState WINELIB_NAME_AW(MsiQueryComponentState)
-
-INSTALLSTATE WINAPI MsiQueryProductStateA(LPCSTR);
-INSTALLSTATE WINAPI MsiQueryProductStateW(LPCWSTR);
-#define MsiQueryProductState WINELIB_NAME_AW(MsiQueryProductState)
-
-UINT WINAPI MsiConfigureProductA(LPCSTR, int, INSTALLSTATE);
-UINT WINAPI MsiConfigureProductW(LPCWSTR, int, INSTALLSTATE);
-#define MsiConfigureProduct WINELIB_NAME_AW(MsiConfigureProduct);
-
-UINT WINAPI MsiConfigureProductExA(LPCSTR, int, INSTALLSTATE, LPCSTR);
-UINT WINAPI MsiConfigureProductExW(LPCWSTR, int, INSTALLSTATE, LPCWSTR);
-#define MsiConfigureProductEx WINELIB_NAME_AW(MsiConfigureProductEx);
-
-UINT WINAPI MsiConfigureFeatureA(LPCSTR, LPCSTR, INSTALLSTATE);
-UINT WINAPI MsiConfigureFeatureW(LPCWSTR, LPCWSTR, INSTALLSTATE);
-#define MsiConfigureFeature WINELIB_NAME_AW(MsiConfigureFeature);
-
-UINT WINAPI MsiGetProductCodeA(LPCSTR, LPSTR);
-UINT WINAPI MsiGetProductCodeW(LPCWSTR, LPWSTR);
-#define MsiGetProductCode WINELIB_NAME_AW(MsiGetProductCode)
-
-UINT WINAPI MsiGetProductInfoA(LPCSTR, LPCSTR, LPSTR, LPDWORD);
-UINT WINAPI MsiGetProductInfoW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD);
-#define MsiGetProductInfo WINELIB_NAME_AW(MsiGetProductInfo)
-
-UINT WINAPI MsiGetProductInfoExA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, LPCSTR, LPSTR, LPDWORD);
-UINT WINAPI MsiGetProductInfoExW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, LPCWSTR, LPWSTR, LPDWORD);
-#define MsiGetProductInfoEx WINELIB_NAME_AW(MsiGetProductInfoEx)
-
-UINT WINAPI MsiGetPatchInfoExA(LPCSTR, LPCSTR, LPCSTR, MSIINSTALLCONTEXT, LPCSTR, LPSTR, LPDWORD);
-UINT WINAPI MsiGetPatchInfoExW(LPCWSTR, LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, LPCWSTR, LPWSTR, LPDWORD);
-#define MsiGetPatchInfoEx WINELIB_NAME_AW(MsiGetPatchInfoEx)
-
-UINT WINAPI MsiGetPatchInfoA(LPCSTR, LPCSTR, LPSTR, LPDWORD);
-UINT WINAPI MsiGetPatchInfoW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD);
-#define MsiGetPatchInfo WINELIB_NAME_AW(MsiGetPatchInfo)
-
-UINT WINAPI MsiEnableLogA(DWORD, LPCSTR, DWORD);
-UINT WINAPI MsiEnableLogW(DWORD, LPCWSTR, DWORD);
-#define MsiEnableLog WINELIB_NAME_AW(MsiEnableLog)
-
-INSTALLUI_HANDLERA WINAPI MsiSetExternalUIA(INSTALLUI_HANDLERA, DWORD, LPVOID);
-INSTALLUI_HANDLERW WINAPI MsiSetExternalUIW(INSTALLUI_HANDLERW, DWORD, LPVOID);
-#define MsiSetExternalUI WINELIB_NAME_AW(MsiSetExternalUI)
-
-INSTALLSTATE WINAPI MsiGetComponentPathA(LPCSTR, LPCSTR, LPSTR, LPDWORD);
-INSTALLSTATE WINAPI MsiGetComponentPathW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD);
-#define MsiGetComponentPath WINELIB_NAME_AW(MsiGetComponentPath)
-
-INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR, LPCSTR);
-INSTALLSTATE WINAPI MsiQueryFeatureStateW(LPCWSTR, LPCWSTR);
-#define MsiQueryFeatureState WINELIB_NAME_AW(MsiQueryFeatureState)
-
-UINT WINAPI MsiGetFeatureInfoA(MSIHANDLE, LPCSTR, LPDWORD, LPSTR, LPDWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiGetFeatureInfoW(MSIHANDLE, LPCWSTR, LPDWORD, LPWSTR, LPDWORD, LPWSTR, LPDWORD);
-#define MsiGetFeatureInfo WINELIB_NAME_AW(MsiGetFeatureInfo)
-
-UINT WINAPI MsiGetFeatureUsageA(LPCSTR, LPCSTR, LPDWORD, LPWORD);
-UINT WINAPI MsiGetFeatureUsageW(LPCWSTR, LPCWSTR, LPDWORD, LPWORD);
-#define MsiGetFeatureUsage WINELIB_NAME_AW(MsiGetFeatureUsage)
-
-UINT WINAPI MsiEnumRelatedProductsA(LPCSTR, DWORD, DWORD, LPSTR);
-UINT WINAPI MsiEnumRelatedProductsW(LPCWSTR, DWORD, DWORD, LPWSTR);
-#define MsiEnumRelatedProducts WINELIB_NAME_AW(MsiEnumRelatedProducts)
-
-UINT WINAPI MsiProvideAssemblyA(LPCSTR, LPCSTR, DWORD, DWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiProvideAssemblyW(LPCWSTR, LPCWSTR, DWORD, DWORD, LPWSTR, LPDWORD);
-#define MsiProvideAssembly WINELIB_NAME_AW(MsiProvideAssembly)
-
-UINT WINAPI MsiEnumComponentQualifiersA(LPCSTR, DWORD, LPSTR, LPDWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiEnumComponentQualifiersW(LPCWSTR, DWORD, LPWSTR, LPDWORD, LPWSTR, LPDWORD);
-#define MsiEnumComponentQualifiers WINELIB_NAME_AW(MsiEnumComponentQualifiers)
-
-UINT WINAPI MsiGetFileVersionA(LPCSTR, LPSTR, LPDWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiGetFileVersionW(LPCWSTR, LPWSTR, LPDWORD, LPWSTR, LPDWORD);
-#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)
-
-UINT WINAPI MsiProvideQualifiedComponentExA(LPCSTR, LPCSTR, DWORD, LPCSTR, DWORD, DWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR, LPCWSTR, DWORD, LPCWSTR, DWORD, DWORD, LPWSTR, LPDWORD);
-#define MsiProvideQualifiedComponentEx WINELIB_NAME_AW(MsiProvideQualifiedComponentEx)
-
-UINT WINAPI MsiProvideQualifiedComponentA(LPCSTR, LPCSTR, DWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiProvideQualifiedComponentW(LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPDWORD);
-#define MsiProvideQualifiedComponent WINELIB_NAME_AW(MsiProvideQualifiedComponent)
-
-USERINFOSTATE WINAPI MsiGetUserInfoA(LPCSTR, LPSTR, LPDWORD, LPSTR, LPDWORD, LPSTR, LPDWORD);
-USERINFOSTATE WINAPI MsiGetUserInfoW(LPCWSTR, LPWSTR, LPDWORD, LPWSTR, LPDWORD, LPWSTR, LPDWORD);
-#define MsiGetUserInfo WINELIB_NAME_AW(MsiGetUserInfo)
-
-UINT WINAPI MsiCollectUserInfoA(LPCSTR);
-UINT WINAPI MsiCollectUserInfoW(LPCWSTR);
-#define MsiCollectUserInfo WINELIB_NAME_AW(MsiCollectUserInfo)
-
-UINT WINAPI MsiReinstallFeatureA(LPCSTR, LPCSTR, DWORD);
-UINT WINAPI MsiReinstallFeatureW(LPCWSTR, LPCWSTR, DWORD);
-#define MsiReinstallFeature WINELIB_NAME_AW(MsiReinstallFeature)
-
-UINT WINAPI MsiGetShortcutTargetA(LPCSTR, LPSTR, LPSTR, LPSTR);
-UINT WINAPI MsiGetShortcutTargetW(LPCWSTR, LPWSTR, LPWSTR, LPWSTR);
-#define MsiGetShortcutTarget WINELIB_NAME_AW(MsiGetShortcutTarget)
-
-INSTALLSTATE WINAPI MsiUseFeatureW(LPCWSTR, LPCWSTR);
-INSTALLSTATE WINAPI MsiUseFeatureA(LPCSTR, LPCSTR);
-#define MsiUseFeature WINELIB_NAME_AW(MsiUseFeature)
-
-INSTALLSTATE WINAPI MsiUseFeatureExW(LPCWSTR, LPCWSTR, DWORD, DWORD);
-INSTALLSTATE WINAPI MsiUseFeatureExA(LPCSTR, LPCSTR, DWORD, DWORD);
-#define MsiUseFeatureEx WINELIB_NAME_AW(MsiUseFeatureEx)
-
-HRESULT WINAPI MsiGetFileSignatureInformationA(LPCSTR, DWORD, PCCERT_CONTEXT*, LPBYTE, LPDWORD);
-HRESULT WINAPI MsiGetFileSignatureInformationW(LPCWSTR, DWORD, PCCERT_CONTEXT*, LPBYTE, LPDWORD);
-#define MsiGetFileSignatureInformation WINELIB_NAME_AW(MsiGetFileSignatureInformation)
-
-INSTALLSTATE WINAPI MsiLocateComponentA(LPCSTR, LPSTR, LPDWORD);
-INSTALLSTATE WINAPI MsiLocateComponentW(LPCWSTR, LPWSTR, LPDWORD);
-#define MsiLocateComponent WINELIB_NAME_AW(MsiLocateComponent)
-
-UINT WINAPI MsiSourceListAddSourceA(LPCSTR, LPCSTR, DWORD, LPCSTR);
-UINT WINAPI MsiSourceListAddSourceW(LPCWSTR, LPCWSTR, DWORD, LPCWSTR);
-#define MsiSourceListAddSource WINELIB_NAME_AW(MsiSourceListAddSource)
-
-UINT WINAPI MsiSourceListEnumMediaDisksA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPDWORD,
- LPSTR, LPDWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiSourceListEnumMediaDisksW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPDWORD,
- LPWSTR, LPDWORD, LPWSTR, LPDWORD);
-#define MsiSourceListEnumMediaDisks WINELIB_NAME_AW(MsiSourceListEnumMediaDisks)
-
-UINT WINAPI MsiSourceListEnumSourcesA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiSourceListEnumSourcesW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPWSTR, LPDWORD);
-#define MsiSourceListEnumSources WINELIB_NAME_AW(MsiSourceListEnumSources)
-
-UINT WINAPI MsiSourceListClearSourceA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR);
-UINT WINAPI MsiSourceListClearSourceW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, LPCWSTR);
-#define MsiSourceListClearSource WINELIB_NAME_AW(MsiSourceListClearSource)
-
-UINT WINAPI MsiSourceListClearAllA(LPCSTR, LPCSTR, DWORD);
-UINT WINAPI MsiSourceListClearAllW(LPCWSTR, LPCWSTR, DWORD);
-#define MsiSourceListClearAll WINELIB_NAME_AW(MsiSourceListClearAll)
-
-UINT WINAPI MsiSourceListGetInfoA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR, LPSTR, LPDWORD);
-UINT WINAPI MsiSourceListGetInfoW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, LPCWSTR, LPWSTR, LPDWORD);
-#define MsiSourceListGetInfo WINELIB_NAME_AW(MsiSourceListGetInfo)
-
-UINT WINAPI MsiSourceListSetInfoA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR, LPCSTR);
-UINT WINAPI MsiSourceListSetInfoW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, LPCWSTR, LPCWSTR);
-#define MsiSourceListSetInfo WINELIB_NAME_AW(MsiSourceListSetInfo)
-
-UINT WINAPI MsiSourceListAddSourceExA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR, DWORD);
-UINT WINAPI MsiSourceListAddSourceExW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, LPCWSTR, DWORD);
-#define MsiSourceListAddSourceEx WINELIB_NAME_AW(MsiSourceListAddSourceEx)
-
-UINT WINAPI MsiSourceListAddMediaDiskA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPCSTR, LPCSTR);
-UINT WINAPI MsiSourceListAddMediaDiskW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPCWSTR, LPCWSTR);
-#define MsiSourceListAddMediaDisk WINELIB_NAME_AW(MsiSourceListAddMediaDisk)
-
-UINT WINAPI MsiEnumPatchesA(LPCSTR, DWORD, LPSTR, LPSTR, LPDWORD);
-UINT WINAPI MsiEnumPatchesW(LPCWSTR, DWORD, LPWSTR, LPWSTR, LPDWORD);
-#define MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches)
-
-UINT WINAPI MsiEnumPatchesExA(LPCSTR, LPCSTR, DWORD, DWORD, DWORD, LPSTR, LPSTR,
- MSIINSTALLCONTEXT*, LPSTR, LPDWORD);
-UINT WINAPI MsiEnumPatchesExW(LPCWSTR, LPCWSTR, DWORD, DWORD, DWORD, LPWSTR, LPWSTR,
- MSIINSTALLCONTEXT*, LPWSTR, LPDWORD);
-#define MsiEnumPatchesEx WINELIB_NAME_AW(MsiEnumPatchesEx)
-
-UINT WINAPI MsiGetFileHashA(LPCSTR, DWORD, PMSIFILEHASHINFO);
-UINT WINAPI MsiGetFileHashW(LPCWSTR, DWORD, PMSIFILEHASHINFO);
-#define MsiGetFileHash WINELIB_NAME_AW(MsiGetFileHash)
-
-UINT WINAPI MsiAdvertiseScriptA(LPCSTR, DWORD, PHKEY, BOOL);
-UINT WINAPI MsiAdvertiseScriptW(LPCWSTR, DWORD, PHKEY, BOOL);
-#define MsiAdvertiseScript WINELIB_NAME_AW(MsiAdvertiseScript)
-
-UINT WINAPI MsiIsProductElevatedA(LPCSTR, BOOL *);
-UINT WINAPI MsiIsProductElevatedW(LPCWSTR, 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)
-
-UINT WINAPI MsiInstallMissingComponentA(LPCSTR, LPCSTR, INSTALLSTATE);
-UINT WINAPI MsiInstallMissingComponentW(LPCWSTR, LPCWSTR, INSTALLSTATE);
-#define MsiInstallMissingComponent WINELIB_NAME_AW(MsiInstallMissingComponent)
-
-UINT WINAPI MsiDetermineApplicablePatchesA(LPCSTR, DWORD, PMSIPATCHSEQUENCEINFOA);
-UINT WINAPI MsiDetermineApplicablePatchesW(LPCWSTR, DWORD, PMSIPATCHSEQUENCEINFOW);
-#define MsiDetermineApplicablePatches WINELIB_NAME_AW(MsiDetermineApplicablePatches)
-
-UINT WINAPI MsiDeterminePatchSequenceA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, PMSIPATCHSEQUENCEINFOA);
-UINT WINAPI MsiDeterminePatchSequenceW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, PMSIPATCHSEQUENCEINFOW);
-#define MsiDeterminePatchSequence WINELIB_NAME_AW(MsiDeterminePatchSequence)
-
-UINT WINAPI MsiApplyMultiplePatchesA(LPCSTR, LPCSTR, LPCSTR);
-UINT WINAPI MsiApplyMultiplePatchesW(LPCWSTR, LPCWSTR, LPCWSTR);
-#define MsiApplyMultiplePatches WINELIB_NAME_AW(MsiApplyMultiplePatches)
-
-UINT WINAPI MsiBeginTransactionA(LPCSTR, DWORD, MSIHANDLE *, HANDLE *);
-UINT WINAPI MsiBeginTransactionW(LPCWSTR, DWORD, MSIHANDLE *, HANDLE *);
-#define MsiBeginTransaction WINELIB_NAME_AW(MsiBeginTransaction)
-
-UINT WINAPI MsiEndTransaction(DWORD);
-
-/* Non Unicode */
-UINT WINAPI MsiCloseHandle(MSIHANDLE);
-UINT WINAPI MsiCloseAllHandles(void);
-INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL, HWND*);
-UINT WINAPI MsiSetExternalUIRecord(INSTALLUI_HANDLER_RECORD, DWORD, LPVOID, PINSTALLUI_HANDLER_RECORD);
-
-#define ERROR_INVALID_PATCH_XML 1650
-#define ERROR_UNKNOWN_PATCH 1647
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MSI_H */
diff --git a/libmsi/msipriv.h b/libmsi/msipriv.h
index b35e366..0586369 100644
--- a/libmsi/msipriv.h
+++ b/libmsi/msipriv.h
@@ -39,9 +39,6 @@
#include "winver.h"
#include "wine/list.h"
-static const BOOL is_64bit = sizeof(void *) > sizeof(int);
-BOOL is_wow64;
-
#define MSI_DATASIZEMASK 0x00ff
#define MSITYPE_VALID 0x0100
#define MSITYPE_LOCALIZABLE 0x200
@@ -54,9 +51,6 @@ BOOL is_wow64;
#define MAX_STREAM_NAME_LEN 62
#define LONG_STR_BYTES 3
-/* Install UI level mask for AND operation to exclude flags */
-#define INSTALLUILEVEL_MASK 0x0007
-
#define MSITYPE_IS_BINARY(type) (((type) & ~MSITYPE_NULLABLE) == (MSITYPE_STRING|MSITYPE_VALID))
struct tagMSITABLE;
@@ -128,67 +122,6 @@ typedef struct tagMSIRECORD
MSIFIELD fields[1]; /* nb. array size is count+1 */
} MSIRECORD;
-typedef struct tagMSISOURCELISTINFO
-{
- struct list entry;
- DWORD context;
- DWORD options;
- LPCWSTR property;
- LPWSTR value;
-} MSISOURCELISTINFO;
-
-typedef struct tagMSIMEDIADISK
-{
- struct list entry;
- DWORD context;
- DWORD options;
- DWORD disk_id;
- LPWSTR volume_label;
- LPWSTR disk_prompt;
-} MSIMEDIADISK;
-
-typedef struct tagMSIMEDIAINFO
-{
- UINT disk_id;
- UINT type;
- UINT last_sequence;
- LPWSTR disk_prompt;
- LPWSTR cabinet;
- LPWSTR first_volume;
- LPWSTR volume_label;
- BOOL is_continuous;
- BOOL is_extracted;
- WCHAR sourcedir[MAX_PATH];
-} MSIMEDIAINFO;
-
-typedef struct tagMSICABINETSTREAM
-{
- struct list entry;
- UINT disk_id;
- IStorage *storage;
- WCHAR *stream;
-} MSICABINETSTREAM;
-
-typedef struct tagMSIPATCHINFO
-{
- struct list entry;
- LPWSTR patchcode;
- LPWSTR products;
- LPWSTR transforms;
- LPWSTR filename;
- LPWSTR localfile;
- MSIPATCHSTATE state;
- BOOL delete_on_close;
-} MSIPATCHINFO;
-
-typedef struct tagMSIBINARY
-{
- struct list entry;
- WCHAR *source;
- WCHAR *tmpfile;
- HMODULE module;
-} MSIBINARY;
-
typedef struct _column_info
{
LPCWSTR table;
@@ -333,95 +266,6 @@ struct tagMSIVIEW
const WCHAR *error_column;
};
-struct msi_dialog_tag;
-typedef struct msi_dialog_tag msi_dialog;
-
-enum platform
-{
- PLATFORM_INTEL,
- PLATFORM_INTEL64,
- PLATFORM_X64,
- PLATFORM_ARM
-};
-
-enum clr_version
-{
- CLR_VERSION_V10,
- CLR_VERSION_V11,
- CLR_VERSION_V20,
- CLR_VERSION_V40,
- CLR_VERSION_MAX
-};
-
-typedef struct tagMSIPACKAGE
-{
- MSIOBJECTHDR hdr;
- MSIDATABASE *db;
- INT version;
- enum platform platform;
- UINT num_langids;
- LANGID *langids;
- struct list components;
- struct list features;
- struct list files;
- struct list filepatches;
- struct list tempfiles;
- struct list folders;
- struct list binaries;
- struct list cabinet_streams;
- LPWSTR ActionFormat;
- LPWSTR LastAction;
- UINT action_progress_increment;
- HANDLE log_file;
- IAssemblyCache *cache_net[CLR_VERSION_MAX];
- IAssemblyCache *cache_sxs;
-
- struct list classes;
- struct list extensions;
- struct list progids;
- struct list mimes;
- struct list appids;
-
- struct tagMSISCRIPT *script;
-
- struct list RunningActions;
-
- LPWSTR BaseURL;
- LPWSTR PackagePath;
- LPWSTR ProductCode;
- LPWSTR localfile;
- BOOL delete_on_close;
-
- INSTALLUILEVEL ui_level;
- UINT CurrentInstallState;
- msi_dialog *dialog;
- LPWSTR next_dialog;
- float center_x;
- float center_y;
-
- UINT WordCount;
- UINT Context;
-
- struct list subscriptions;
-
- struct list sourcelist_info;
- struct list sourcelist_media;
-
- unsigned char scheduled_action_running : 1;
- unsigned char commit_action_running : 1;
- unsigned char rollback_action_running : 1;
- unsigned char need_reboot_at_end : 1;
- unsigned char need_reboot_now : 1;
- unsigned char need_rollback : 1;
-} MSIPACKAGE;
-
-typedef struct tagMSIPREVIEW
-{
- MSIOBJECTHDR hdr;
- MSIPACKAGE *package;
- msi_dialog *dialog;
-} MSIPREVIEW;
-
#define MSI_MAX_PROPS 20
typedef struct tagMSISUMMARYINFO
@@ -432,263 +276,6 @@ typedef struct tagMSISUMMARYINFO
PROPVARIANT property[MSI_MAX_PROPS];
} MSISUMMARYINFO;
-typedef struct tagMSIFEATURE
-{
- struct list entry;
- LPWSTR Feature;
- LPWSTR Feature_Parent;
- LPWSTR Title;
- LPWSTR Description;
- INT Display;
- INT Level;
- LPWSTR Directory;
- INT Attributes;
- INSTALLSTATE Installed;
- INSTALLSTATE ActionRequest;
- INSTALLSTATE Action;
- struct list Children;
- struct list Components;
-} MSIFEATURE;
-
-typedef struct tagMSIASSEMBLY
-{
- LPWSTR feature;
- LPWSTR manifest;
- LPWSTR application;
- DWORD attributes;
- LPWSTR display_name;
- LPWSTR tempdir;
- BOOL installed;
- BOOL clr_version[CLR_VERSION_MAX];
-} MSIASSEMBLY;
-
-typedef struct tagMSICOMPONENT
-{
- struct list entry;
- LPWSTR Component;
- LPWSTR ComponentId;
- LPWSTR Directory;
- INT Attributes;
- LPWSTR Condition;
- LPWSTR KeyPath;
- INSTALLSTATE Installed;
- INSTALLSTATE ActionRequest;
- INSTALLSTATE Action;
- BOOL ForceLocalState;
- BOOL Enabled;
- INT Cost;
- INT RefCount;
- LPWSTR FullKeypath;
- LPWSTR AdvertiseString;
- MSIASSEMBLY *assembly;
- int num_clients;
-
- unsigned int anyAbsent:1;
- unsigned int hasAdvertiseFeature:1;
- unsigned int hasLocalFeature:1;
- unsigned int hasSourceFeature:1;
-} MSICOMPONENT;
-
-typedef struct tagComponentList
-{
- struct list entry;
- MSICOMPONENT *component;
-} ComponentList;
-
-typedef struct tagFeatureList
-{
- struct list entry;
- MSIFEATURE *feature;
-} FeatureList;
-
-enum folder_state
-{
- FOLDER_STATE_UNINITIALIZED,
- FOLDER_STATE_EXISTS,
- FOLDER_STATE_CREATED,
- FOLDER_STATE_CREATED_PERSISTENT,
- FOLDER_STATE_REMOVED
-};
-
-typedef struct tagMSIFOLDER
-{
- struct list entry;
- struct list children;
- LPWSTR Directory;
- LPWSTR Parent;
- LPWSTR TargetDefault;
- LPWSTR SourceLongPath;
- LPWSTR SourceShortPath;
- LPWSTR ResolvedTarget;
- LPWSTR ResolvedSource;
- enum folder_state State;
- BOOL persistent;
- INT Cost;
- INT Space;
-} MSIFOLDER;
-
-typedef struct tagFolderList
-{
- struct list entry;
- MSIFOLDER *folder;
-} FolderList;
-
-typedef enum _msi_file_state {
- msifs_invalid,
- msifs_missing,
- msifs_overwrite,
- msifs_present,
- msifs_installed,
- msifs_skipped,
- msifs_hashmatch
-} msi_file_state;
-
-typedef struct tagMSIFILE
-{
- struct list entry;
- LPWSTR File;
- MSICOMPONENT *Component;
- LPWSTR FileName;
- LPWSTR ShortName;
- LPWSTR LongName;
- INT FileSize;
- LPWSTR Version;
- LPWSTR Language;
- INT Attributes;
- INT Sequence;
- msi_file_state state;
- LPWSTR TargetPath;
- BOOL IsCompressed;
- MSIFILEHASHINFO hash;
- UINT disk_id;
-} MSIFILE;
-
-typedef struct tagMSITEMPFILE
-{
- struct list entry;
- LPWSTR Path;
-} MSITEMPFILE;
-
-typedef struct tagMSIFILEPATCH
-{
- struct list entry;
- MSIFILE *File;
- INT Sequence;
- INT PatchSize;
- INT Attributes;
- BOOL IsApplied;
-} MSIFILEPATCH;
-
-typedef struct tagMSIAPPID
-{
- struct list entry;
- LPWSTR AppID; /* Primary key */
- LPWSTR RemoteServerName;
- LPWSTR LocalServer;
- LPWSTR ServiceParameters;
- LPWSTR DllSurrogate;
- BOOL ActivateAtStorage;
- BOOL RunAsInteractiveUser;
-} MSIAPPID;
-
-typedef struct tagMSIPROGID MSIPROGID;
-
-typedef struct tagMSICLASS
-{
- struct list entry;
- LPWSTR clsid; /* Primary Key */
- LPWSTR Context; /* Primary Key */
- MSICOMPONENT *Component;
- MSIPROGID *ProgID;
- LPWSTR ProgIDText;
- LPWSTR Description;
- MSIAPPID *AppID;
- LPWSTR FileTypeMask;
- LPWSTR IconPath;
- LPWSTR DefInprocHandler;
- LPWSTR DefInprocHandler32;
- LPWSTR Argument;
- MSIFEATURE *Feature;
- INT Attributes;
- /* not in the table, set during installation */
- BOOL Installed;
-} MSICLASS;
-
-typedef struct tagMSIMIME MSIMIME;
-
-typedef struct tagMSIEXTENSION
-{
- struct list entry;
- LPWSTR Extension; /* Primary Key */
- MSICOMPONENT *Component;
- MSIPROGID *ProgID;
- LPWSTR ProgIDText;
- MSIMIME *Mime;
- MSIFEATURE *Feature;
- /* not in the table, set during installation */
- BOOL Installed;
- struct list verbs;
-} MSIEXTENSION;
-
-struct tagMSIPROGID
-{
- struct list entry;
- LPWSTR ProgID; /* Primary Key */
- MSIPROGID *Parent;
- MSICLASS *Class;
- LPWSTR Description;
- LPWSTR IconPath;
- /* not in the table, set during installation */
- BOOL InstallMe;
- MSIPROGID *CurVer;
- MSIPROGID *VersionInd;
-};
-
-typedef struct tagMSIVERB
-{
- struct list entry;
- LPWSTR Verb;
- INT Sequence;
- LPWSTR Command;
- LPWSTR Argument;
-} MSIVERB;
-
-struct tagMSIMIME
-{
- struct list entry;
- LPWSTR ContentType; /* Primary Key */
- MSIEXTENSION *Extension;
- LPWSTR suffix;
- LPWSTR clsid;
- MSICLASS *Class;
- /* not in the table, set during installation */
- BOOL InstallMe;
-};
-
-enum SCRIPTS
-{
- SCRIPT_NONE = -1,
- SCRIPT_INSTALL = 0,
- SCRIPT_COMMIT = 1,
- SCRIPT_ROLLBACK = 2,
- SCRIPT_MAX = 3
-};
-
-#define SEQUENCE_UI 0x1
-#define SEQUENCE_EXEC 0x2
-#define SEQUENCE_INSTALL 0x10
-
-typedef struct tagMSISCRIPT
-{
- LPWSTR *Actions[SCRIPT_MAX];
- UINT ActionCount[SCRIPT_MAX];
- BOOL ExecuteSequenceRun;
- BOOL CurrentlyScripting;
- UINT InWhatSequence;
- LPWSTR *UniqueActions;
- UINT UniqueActionsCount;
-} MSISCRIPT;
-
#define MSIHANDLETYPE_ANY 0
#define MSIHANDLETYPE_DATABASE 1
#define MSIHANDLETYPE_SUMMARYINFO 2
@@ -697,13 +284,6 @@ typedef struct tagMSISCRIPT
#define MSIHANDLETYPE_PACKAGE 5
#define MSIHANDLETYPE_PREVIEW 6
-#define MSI_MAJORVERSION 4
-#define MSI_MINORVERSION 5
-#define MSI_BUILDNUMBER 6001
-
-#define GUID_SIZE 39
-#define SQUISH_GUID_SIZE 33
-
#define MSIHANDLE_MAGIC 0x4d434923
/* handle unicode/ascii output in the Msi* API functions */
@@ -725,12 +305,6 @@ typedef struct {
UINT msi_strcpy_to_awstring( LPCWSTR str, awstring *awbuf, DWORD *sz ) DECLSPEC_HIDDEN;
-/* msi server interface */
-extern HRESULT create_msi_custom_remote( IUnknown *pOuter, LPVOID *ppObj ) DECLSPEC_HIDDEN;
-extern HRESULT create_msi_remote_package( IUnknown *pOuter, LPVOID *ppObj ) DECLSPEC_HIDDEN;
-extern HRESULT create_msi_remote_database( IUnknown *pOuter, LPVOID *ppObj ) DECLSPEC_HIDDEN;
-extern IUnknown *msi_get_remote(MSIHANDLE handle) DECLSPEC_HIDDEN;
-
/* handle functions */
extern void *msihandle2msiinfo(MSIHANDLE handle, UINT type) DECLSPEC_HIDDEN;
extern MSIHANDLE alloc_msihandle( MSIOBJECTHDR * ) DECLSPEC_HIDDEN;
@@ -776,27 +350,6 @@ extern UINT msi_table_apply_transform( MSIDATABASE *db, IStorage *stg ) DECLSPEC
extern UINT MSI_DatabaseApplyTransformW( MSIDATABASE *db,
LPCWSTR szTransformFile, int iErrorCond ) DECLSPEC_HIDDEN;
extern void append_storage_to_db( MSIDATABASE *db, IStorage *stg ) DECLSPEC_HIDDEN;
-extern UINT msi_apply_transforms( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
-
-/* patch functions */
-extern UINT msi_check_patch_applicable( MSIPACKAGE *package, MSISUMMARYINFO *si ) DECLSPEC_HIDDEN;
-extern UINT msi_apply_patches( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
-extern UINT msi_apply_registered_patch( MSIPACKAGE *package, LPCWSTR patch_code ) DECLSPEC_HIDDEN;
-extern void msi_free_patchinfo( MSIPATCHINFO *patch ) DECLSPEC_HIDDEN;
-
-/* action internals */
-extern UINT MSI_InstallPackage( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN;
-extern UINT ACTION_DialogBox( MSIPACKAGE*, LPCWSTR) DECLSPEC_HIDDEN;
-extern UINT ACTION_ForceReboot(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT MSI_Sequence( MSIPACKAGE *package, LPCWSTR szTable ) DECLSPEC_HIDDEN;
-extern UINT MSI_SetFeatureStates( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
-extern UINT msi_parse_command_line( MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case ) DECLSPEC_HIDDEN;
-extern UINT msi_schedule_action( MSIPACKAGE *package, UINT script, const WCHAR *action ) DECLSPEC_HIDDEN;
-extern INSTALLSTATE msi_get_component_action( MSIPACKAGE *package, MSICOMPONENT *comp ) DECLSPEC_HIDDEN;
-extern INSTALLSTATE msi_get_feature_action( MSIPACKAGE *package, MSIFEATURE *feature ) DECLSPEC_HIDDEN;
-extern UINT msi_load_all_components( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
-extern UINT msi_load_all_features( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
-extern UINT msi_validate_product_id( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
/* record internals */
extern void MSI_CloseRecord( MSIOBJECTHDR * ) DECLSPEC_HIDDEN;
@@ -848,99 +401,6 @@ extern UINT MSI_ViewModify( MSIQUERY *, MSIMODIFY, MSIRECORD * ) DECLSPEC_HIDDEN
extern UINT VIEW_find_column( MSIVIEW *, LPCWSTR, LPCWSTR, UINT * ) DECLSPEC_HIDDEN;
extern UINT msi_view_get_row(MSIDATABASE *, MSIVIEW *, UINT, MSIRECORD **) DECLSPEC_HIDDEN;
-/* install internals */
-extern UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel ) DECLSPEC_HIDDEN;
-
-/* package internals */
-extern MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *, LPCWSTR ) DECLSPEC_HIDDEN;
-extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE **pPackage ) DECLSPEC_HIDDEN;
-extern UINT MSI_SetTargetPathW( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN;
-extern INT MSI_ProcessMessage( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD * ) DECLSPEC_HIDDEN;
-extern MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *, LPCWSTR ) DECLSPEC_HIDDEN;
-extern UINT MSI_GetComponentStateW( MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE * ) DECLSPEC_HIDDEN;
-extern UINT MSI_GetFeatureStateW( MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE * ) DECLSPEC_HIDDEN;
-extern UINT MSI_SetFeatureStateW(MSIPACKAGE*, LPCWSTR, INSTALLSTATE ) DECLSPEC_HIDDEN;
-extern UINT msi_download_file( LPCWSTR szUrl, LPWSTR filename ) DECLSPEC_HIDDEN;
-extern UINT msi_package_add_info(MSIPACKAGE *, DWORD, DWORD, LPCWSTR, LPWSTR) DECLSPEC_HIDDEN;
-extern UINT msi_package_add_media_disk(MSIPACKAGE *, DWORD, DWORD, DWORD, LPWSTR, LPWSTR) DECLSPEC_HIDDEN;
-extern UINT msi_clone_properties(MSIPACKAGE *) DECLSPEC_HIDDEN;
-extern void msi_adjust_privilege_properties(MSIPACKAGE *) DECLSPEC_HIDDEN;
-extern UINT MSI_GetFeatureCost(MSIPACKAGE *, MSIFEATURE *, MSICOSTTREE, INSTALLSTATE, LPINT) DECLSPEC_HIDDEN;
-
-/* for deformating */
-extern UINT MSI_FormatRecordW( MSIPACKAGE *, MSIRECORD *, LPWSTR, LPDWORD ) DECLSPEC_HIDDEN;
-
-/* registry data encoding/decoding functions */
-extern BOOL unsquash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN;
-extern BOOL squash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN;
-extern BOOL encode_base85_guid(GUID *,LPWSTR) DECLSPEC_HIDDEN;
-extern BOOL decode_base85_guid(LPCWSTR,GUID*) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUninstallKey(const WCHAR *, enum platform, HKEY *, BOOL) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteUninstallKey(const WCHAR *, enum platform) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid,
- MSIINSTALLCONTEXT context, HKEY* key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenFeaturesKey(LPCWSTR szProduct, MSIINSTALLCONTEXT context,
- HKEY *key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUserPatchesKey(LPCWSTR szPatch, HKEY* key, BOOL create) DECLSPEC_HIDDEN;
-UINT MSIREG_OpenUserDataFeaturesKey(LPCWSTR szProduct, MSIINSTALLCONTEXT context,
- HKEY *key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUserComponentsKey(LPCWSTR szComponent, HKEY* key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid,
- HKEY *key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenPatchesKey(LPCWSTR szPatch, HKEY* key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext,
- LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUserDataPatchKey(LPCWSTR szPatch, MSIINSTALLCONTEXT dwContext,
- HKEY *key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUserDataProductPatchesKey(LPCWSTR product, MSIINSTALLCONTEXT context,
- HKEY *key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext,
- LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUpgradeCodesKey(LPCWSTR szProduct, HKEY* key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenUserUpgradeCodesKey(LPCWSTR szProduct, HKEY* key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteUserProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteUserDataPatchKey(LPCWSTR patch, MSIINSTALLCONTEXT context) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteUserDataProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteUserFeaturesKey(LPCWSTR szProduct) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteUserUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteClassesUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN;
-extern UINT MSIREG_OpenClassesUpgradeCodesKey(LPCWSTR szUpgradeCode, HKEY* key, BOOL create) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteLocalClassesProductKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN;
-extern UINT MSIREG_DeleteLocalClassesFeaturesKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN;
-extern UINT msi_locate_product(LPCWSTR szProduct, MSIINSTALLCONTEXT *context) DECLSPEC_HIDDEN;
-extern LPWSTR msi_reg_get_val_str( HKEY hkey, LPCWSTR name ) DECLSPEC_HIDDEN;
-extern BOOL msi_reg_get_val_dword( HKEY hkey, LPCWSTR name, DWORD *val) DECLSPEC_HIDDEN;
-
-extern DWORD msi_version_str_to_dword(LPCWSTR p) DECLSPEC_HIDDEN;
-extern void msi_parse_version_string(LPCWSTR, PDWORD, PDWORD) DECLSPEC_HIDDEN;
-extern VS_FIXEDFILEINFO *msi_get_disk_file_version(LPCWSTR) DECLSPEC_HIDDEN;
-extern int msi_compare_file_versions(VS_FIXEDFILEINFO *, const WCHAR *) DECLSPEC_HIDDEN;
-extern int msi_compare_font_versions(const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN;
-extern DWORD msi_get_disk_file_size(LPCWSTR) DECLSPEC_HIDDEN;
-extern BOOL msi_file_hash_matches(MSIFILE *) DECLSPEC_HIDDEN;
-
-extern LONG msi_reg_set_val_str( HKEY hkey, LPCWSTR name, LPCWSTR value ) DECLSPEC_HIDDEN;
-extern LONG msi_reg_set_val_multi_str( HKEY hkey, LPCWSTR name, LPCWSTR value ) DECLSPEC_HIDDEN;
-extern LONG msi_reg_set_val_dword( HKEY hkey, LPCWSTR name, DWORD val ) DECLSPEC_HIDDEN;
-extern LONG msi_reg_set_subkey_val( HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWSTR val ) DECLSPEC_HIDDEN;
-
-/* msi dialog interface */
-typedef UINT (*msi_dialog_event_handler)( MSIPACKAGE*, LPCWSTR, LPCWSTR, msi_dialog* );
-extern msi_dialog *msi_dialog_create( MSIPACKAGE*, LPCWSTR, msi_dialog*, msi_dialog_event_handler ) DECLSPEC_HIDDEN;
-extern UINT msi_dialog_run_message_loop( msi_dialog* ) DECLSPEC_HIDDEN;
-extern void msi_dialog_end_dialog( msi_dialog* ) DECLSPEC_HIDDEN;
-extern void msi_dialog_check_messages( HANDLE ) DECLSPEC_HIDDEN;
-extern void msi_dialog_destroy( msi_dialog* ) DECLSPEC_HIDDEN;
-extern void msi_dialog_unregister_class( void ) DECLSPEC_HIDDEN;
-extern void msi_dialog_handle_event( msi_dialog*, LPCWSTR, LPCWSTR, MSIRECORD * ) DECLSPEC_HIDDEN;
-extern UINT msi_dialog_reset( msi_dialog *dialog ) DECLSPEC_HIDDEN;
-extern UINT msi_dialog_directorylist_up( msi_dialog *dialog ) DECLSPEC_HIDDEN;
-extern msi_dialog *msi_dialog_get_parent( msi_dialog *dialog ) DECLSPEC_HIDDEN;
-extern LPWSTR msi_dialog_get_name( msi_dialog *dialog ) DECLSPEC_HIDDEN;
-extern UINT msi_spawn_error_dialog( MSIPACKAGE*, LPWSTR, LPWSTR ) DECLSPEC_HIDDEN;
-
/* summary information */
extern MSISUMMARYINFO *MSI_GetSummaryInformationW( IStorage *stg, UINT uiUpdateCount ) DECLSPEC_HIDDEN;
extern LPWSTR msi_suminfo_dup_string( MSISUMMARYINFO *si, UINT uiProperty ) DECLSPEC_HIDDEN;
@@ -948,130 +408,12 @@ extern INT msi_suminfo_get_int32( MSISUMMARYINFO *si, UINT uiProperty ) DECLSPEC
extern LPWSTR msi_get_suminfo_product( IStorage *stg ) DECLSPEC_HIDDEN;
extern UINT msi_add_suminfo( MSIDATABASE *db, LPWSTR **records, int num_records, int num_columns ) DECLSPEC_HIDDEN;
-/* undocumented functions */
-UINT WINAPI MsiCreateAndVerifyInstallerDirectory( DWORD );
-UINT WINAPI MsiDecomposeDescriptorW( LPCWSTR, LPWSTR, LPWSTR, LPWSTR, LPDWORD );
-UINT WINAPI MsiDecomposeDescriptorA( LPCSTR, LPSTR, LPSTR, LPSTR, LPDWORD );
-LANGID WINAPI MsiLoadStringW( MSIHANDLE, UINT, LPWSTR, int, LANGID );
-LANGID WINAPI MsiLoadStringA( MSIHANDLE, UINT, LPSTR, int, LANGID );
-
-/* UI globals */
-extern INSTALLUILEVEL gUILevel DECLSPEC_HIDDEN;
-extern HWND gUIhwnd DECLSPEC_HIDDEN;
-extern INSTALLUI_HANDLERA gUIHandlerA DECLSPEC_HIDDEN;
-extern INSTALLUI_HANDLERW gUIHandlerW DECLSPEC_HIDDEN;
-extern INSTALLUI_HANDLER_RECORD gUIHandlerRecord DECLSPEC_HIDDEN;
-extern DWORD gUIFilter DECLSPEC_HIDDEN;
-extern LPVOID gUIContext DECLSPEC_HIDDEN;
-extern WCHAR *gszLogFile DECLSPEC_HIDDEN;
-extern HINSTANCE msi_hInstance DECLSPEC_HIDDEN;
-
-/* action related functions */
-extern UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script) DECLSPEC_HIDDEN;
-extern UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action, UINT script) DECLSPEC_HIDDEN;
-extern void ACTION_FinishCustomActions( const MSIPACKAGE* package) DECLSPEC_HIDDEN;
-extern UINT ACTION_CustomAction(MSIPACKAGE *package,const WCHAR *action, UINT script, BOOL execute) DECLSPEC_HIDDEN;
-
-/* actions in other modules */
-extern UINT ACTION_AppSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_CCPSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_FindRelatedProducts(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_InstallFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_PatchFiles( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
-extern UINT ACTION_RemoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_MoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_DuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_RemoveDuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_RegisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_RegisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_UnregisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_UnregisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_UnregisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_UnregisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_UnregisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_MsiPublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern UINT ACTION_MsiUnpublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-
/* Helpers */
-extern DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR** data ) DECLSPEC_HIDDEN;
extern WCHAR *msi_dup_record_field(MSIRECORD *row, INT index) DECLSPEC_HIDDEN;
extern LPWSTR msi_dup_property( MSIDATABASE *db, LPCWSTR prop ) DECLSPEC_HIDDEN;
extern UINT msi_set_property( MSIDATABASE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN;
extern UINT msi_get_property( MSIDATABASE *, LPCWSTR, LPWSTR, LPDWORD ) DECLSPEC_HIDDEN;
extern int msi_get_property_int( MSIDATABASE *package, LPCWSTR prop, int def ) DECLSPEC_HIDDEN;
-extern WCHAR *msi_resolve_source_folder(MSIPACKAGE *package, const WCHAR *name, MSIFOLDER **folder) DECLSPEC_HIDDEN;
-extern void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop) DECLSPEC_HIDDEN;
-extern WCHAR *msi_normalize_path(const WCHAR *) DECLSPEC_HIDDEN;
-extern WCHAR *msi_resolve_file_source(MSIPACKAGE *package, MSIFILE *file) DECLSPEC_HIDDEN;
-extern const WCHAR *msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name) DECLSPEC_HIDDEN;
-extern void msi_reset_folders( MSIPACKAGE *package, BOOL source ) DECLSPEC_HIDDEN;
-extern MSICOMPONENT *msi_get_loaded_component(MSIPACKAGE *package, const WCHAR *Component) DECLSPEC_HIDDEN;
-extern MSIFEATURE *msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature) DECLSPEC_HIDDEN;
-extern MSIFILE *msi_get_loaded_file(MSIPACKAGE *package, const WCHAR *file) DECLSPEC_HIDDEN;
-extern MSIFILEPATCH *msi_get_loaded_filepatch(MSIPACKAGE* package, const WCHAR *key) DECLSPEC_HIDDEN;
-extern MSIFOLDER *msi_get_loaded_folder(MSIPACKAGE *package, const WCHAR *dir) DECLSPEC_HIDDEN;
-extern int msi_track_tempfile(MSIPACKAGE *package, const WCHAR *path) DECLSPEC_HIDDEN;
-extern void msi_free_action_script(MSIPACKAGE *package, UINT script) DECLSPEC_HIDDEN;
-extern WCHAR *msi_build_icon_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN;
-extern WCHAR *msi_build_directory_name(DWORD , ...) DECLSPEC_HIDDEN;
-extern BOOL msi_create_full_path(const WCHAR *path) DECLSPEC_HIDDEN;
-extern void msi_reduce_to_long_filename(WCHAR *) DECLSPEC_HIDDEN;
-extern WCHAR *msi_create_component_advertise_string(MSIPACKAGE *, MSICOMPONENT *, const WCHAR *) DECLSPEC_HIDDEN;
-extern void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN;
-extern UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN;
-extern BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN;
-extern WCHAR *msi_build_error_string(MSIPACKAGE *, UINT, DWORD, ...) DECLSPEC_HIDDEN;
-extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
- MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value) DECLSPEC_HIDDEN;
-extern UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix) DECLSPEC_HIDDEN;
-extern UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace) DECLSPEC_HIDDEN;
-extern MSIASSEMBLY *msi_load_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN;
-extern UINT msi_install_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN;
-extern UINT msi_uninstall_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN;
-extern BOOL msi_init_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN;
-extern void msi_destroy_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN;
-extern WCHAR *msi_font_version_from_file(const WCHAR *) DECLSPEC_HIDDEN;
-extern WCHAR **msi_split_string(const WCHAR *, WCHAR) DECLSPEC_HIDDEN;
-
-/* media */
-
-typedef BOOL (*PMSICABEXTRACTCB)(MSIPACKAGE *, LPCWSTR, DWORD, LPWSTR *, DWORD *, PVOID);
-
-#define MSICABEXTRACT_BEGINEXTRACT 0x01
-#define MSICABEXTRACT_FILEEXTRACTED 0x02
-
-typedef struct
-{
- MSIPACKAGE* package;
- MSIMEDIAINFO *mi;
- PMSICABEXTRACTCB cb;
- LPWSTR curfile;
- PVOID user;
-} MSICABDATA;
-
-extern UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN;
-extern UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN;
-extern void msi_free_media_info(MSIMEDIAINFO *mi) DECLSPEC_HIDDEN;
-extern BOOL msi_cabextract(MSIPACKAGE* package, MSIMEDIAINFO *mi, LPVOID data) DECLSPEC_HIDDEN;
-extern UINT msi_add_cabinet_stream(MSIPACKAGE *, UINT, IStorage *, const WCHAR *) DECLSPEC_HIDDEN;
-
-/* control event stuff */
-extern VOID ControlEvent_FireSubscribedEvent(MSIPACKAGE *package, LPCWSTR event,
- MSIRECORD *data) DECLSPEC_HIDDEN;
-extern VOID ControlEvent_CleanupDialogSubscriptions(MSIPACKAGE *package, LPWSTR dialog) DECLSPEC_HIDDEN;
-extern VOID ControlEvent_CleanupSubscriptions(MSIPACKAGE *package) DECLSPEC_HIDDEN;
-extern VOID ControlEvent_SubscribeToEvent(MSIPACKAGE *package, msi_dialog *dialog,
- LPCWSTR event, LPCWSTR control, LPCWSTR attribute) DECLSPEC_HIDDEN;
-
-/* Scripting */
-extern DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR function, LPCWSTR action) DECLSPEC_HIDDEN;
-
-/* User interface messages from the actions */
-extern void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN;
-extern void msi_ui_actiondata(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN;
/* common strings */
static const WCHAR szSourceDir[] = {'S','o','u','r','c','e','D','i','r',0};
diff --git a/libmsi/msiquery.c b/libmsi/msiquery.c
index ba9f3f3..37286d3 100644
--- a/libmsi/msiquery.c
+++ b/libmsi/msiquery.c
@@ -27,7 +27,6 @@
#include "winerror.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/msiquery.h b/libmsi/msiquery.h
index eb8ff8d..55f551a 100644
--- a/libmsi/msiquery.h
+++ b/libmsi/msiquery.h
@@ -19,7 +19,7 @@
#ifndef _MSIQUERY_H
#define _MSIQUERY_H
-#include <msi.h>
+typedef unsigned __LONG32 MSIHANDLE;
typedef enum tagMSICONDITION
{
@@ -37,14 +37,6 @@ typedef enum tagMSICOLINFO
MSICOLINFO_TYPES = 1
} MSICOLINFO;
-typedef enum tagMSICOSTTREE
-{
- MSICOSTTREE_SELFONLY = 0,
- MSICOSTTREE_CHILDREN = 1,
- MSICOSTTREE_PARENTS = 2,
- MSICOSTTREE_PRODUCT = 3,
-} MSICOSTTREE;
-
typedef enum tagMSIMODIFY
{
MSIMODIFY_SEEK = -1,
@@ -70,29 +62,6 @@ typedef enum tagMSIMODIFY
#define MSIDBOPEN_PATCHFILE 32 / sizeof(*MSIDBOPEN_READONLY)
-typedef enum tagMSIRUNMODE
-{
- MSIRUNMODE_ADMIN = 0,
- MSIRUNMODE_ADVERTISE = 1,
- MSIRUNMODE_MAINTENANCE = 2,
- MSIRUNMODE_ROLLBACKENABLED = 3,
- MSIRUNMODE_LOGENABLED = 4,
- MSIRUNMODE_OPERATIONS = 5,
- MSIRUNMODE_REBOOTATEND = 6,
- MSIRUNMODE_REBOOTNOW = 7,
- MSIRUNMODE_CABINET = 8,
- MSIRUNMODE_SOURCESHORTNAMES = 9,
- MSIRUNMODE_TARGETSHORTNAMES = 10,
- MSIRUNMODE_RESERVED11 = 11,
- MSIRUNMODE_WINDOWS9X = 12,
- MSIRUNMODE_ZAWENABLED = 13,
- MSIRUNMODE_RESERVED14 = 14,
- MSIRUNMODE_RESERVED15 = 15,
- MSIRUNMODE_SCHEDULED = 16,
- MSIRUNMODE_ROLLBACK = 17,
- MSIRUNMODE_COMMIT = 18
-} MSIRUNMODE;
-
typedef enum tagMSIDBERROR
{
MSIDBERROR_INVALIDARG = -3,
@@ -142,6 +111,39 @@ typedef enum tagMSIDBSTATE
extern "C" {
#endif
+#ifndef WINELIB_NAME_AW
+#ifdef UNICODE
+#define WINELIB_NAME_AW(x) x##W
+#else
+#define WINELIB_NAME_AW(x) x##A
+#endif
+#endif
+
+#define PID_DICTIONARY (0)
+#define PID_CODEPAGE (0x1)
+#define PID_TITLE 2
+#define PID_SUBJECT 3
+#define PID_AUTHOR 4
+#define PID_KEYWORDS 5
+#define PID_COMMENTS 6
+#define PID_TEMPLATE 7
+#define PID_LASTAUTHOR 8
+#define PID_REVNUMBER 9
+#define PID_EDITTIME 10
+#define PID_LASTPRINTED 11
+#define PID_CREATE_DTM 12
+#define PID_LASTSAVE_DTM 13
+#define PID_PAGECOUNT 14
+#define PID_WORDCOUNT 15
+#define PID_CHARCOUNT 16
+#define PID_THUMBNAIL 17
+#define PID_APPNAME 18
+#define PID_SECURITY 19
+
+#define PID_MSIVERSION PID_PAGECOUNT
+#define PID_MSISOURCE PID_WORDCOUNT
+#define PID_MSIRESTRICT PID_CHARCOUNT
+
/* view manipulation */
UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE);
@@ -181,80 +183,12 @@ UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*);
UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
#define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)
-/* installing */
-UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR );
-UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR );
-#define MsiDoAction WINELIB_NAME_AW(MsiDoAction)
-
/* database transforms */
UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int);
UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int);
#define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform)
-UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int);
-UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int);
-#define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform)
-
-UINT WINAPI MsiDatabaseCommit(MSIHANDLE);
-
-/* install state */
-UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPCSTR,INSTALLSTATE*,INSTALLSTATE*);
-UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE*,INSTALLSTATE*);
-#define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState)
-UINT WINAPI MsiGetFeatureValidStatesA(MSIHANDLE,LPCSTR,LPDWORD);
-UINT WINAPI MsiGetFeatureValidStatesW(MSIHANDLE,LPCWSTR,LPDWORD);
-#define MsiGetFeatureValidStates WINELIB_NAME_AW(MsiGetFeatureValidStates)
-UINT WINAPI MsiSetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE);
-UINT WINAPI MsiSetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE);
-#define MsiSetComponentState WINELIB_NAME_AW(MsiSetComponentState)
-UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE*,INSTALLSTATE*);
-UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE*,INSTALLSTATE*);
-#define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState)
-
-MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR);
-MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR);
-#define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition)
-
-/* property functions */
-UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, LPDWORD);
-UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD);
-#define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty)
-
-UINT WINAPI MsiSetPropertyA(MSIHANDLE, LPCSTR, LPCSTR);
-UINT WINAPI MsiSetPropertyW(MSIHANDLE, LPCWSTR, LPCWSTR);
-#define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty)
-
-UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,LPDWORD);
-UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD);
-#define MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath)
-
-UINT WINAPI MsiSetTargetPathA(MSIHANDLE, LPCSTR, LPCSTR);
-UINT WINAPI MsiSetTargetPathW(MSIHANDLE, LPCWSTR, LPCWSTR);
-#define MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath)
-
-UINT WINAPI MsiGetSourcePathA(MSIHANDLE,LPCSTR,LPSTR,LPDWORD);
-UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD);
-#define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath)
-
-MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE);
UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*);
-INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE);
-
-UINT WINAPI MsiSetFeatureAttributesA(MSIHANDLE, LPCSTR, DWORD);
-UINT WINAPI MsiSetFeatureAttributesW(MSIHANDLE, LPCWSTR, DWORD);
-#define MsiSetFeatureAttributes WINELIB_NAME_AW(MsiSetFeatureAttributes)
-
-UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE);
-UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE);
-#define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState)
-
-UINT WINAPI MsiPreviewDialogA(MSIHANDLE, LPCSTR);
-UINT WINAPI MsiPreviewDialogW(MSIHANDLE, LPCWSTR);
-#define MsiPreviewDialog WINELIB_NAME_AW(MsiPreviewDialog)
-
-UINT WINAPI MsiPreviewBillboardA(MSIHANDLE, LPCSTR, LPCSTR);
-UINT WINAPI MsiPreviewBillboardW(MSIHANDLE, LPCWSTR, LPCWSTR);
-#define MsiPreviewBillboard WINELIB_NAME_AW(MsiPreviewBillboard)
UINT WINAPI MsiCreateTransformSummaryInfoA(MSIHANDLE, MSIHANDLE, LPCSTR, int, int);
UINT WINAPI MsiCreateTransformSummaryInfoW(MSIHANDLE, MSIHANDLE, LPCWSTR, int, int);
@@ -288,26 +222,19 @@ MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPCSTR);
MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPCWSTR);
#define MsiDatabaseIsTablePersistent WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)
-UINT WINAPI MsiSequenceA(MSIHANDLE, LPCSTR, INT);
-UINT WINAPI MsiSequenceW(MSIHANDLE, LPCWSTR, INT);
-#define MsiSequence WINELIB_NAME_AW(MsiSequence)
-
UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE);
UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,PUINT);
-UINT WINAPI MsiEnableUIPreview(MSIHANDLE, MSIHANDLE*);
-BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE);
-UINT WINAPI MsiSetMode(MSIHANDLE, MSIRUNMODE, BOOL);
-
UINT WINAPI MsiViewModify(MSIHANDLE, MSIMODIFY, MSIHANDLE);
-UINT WINAPI MsiGetFeatureCostA(MSIHANDLE, LPCSTR, MSICOSTTREE, INSTALLSTATE, LPINT);
-UINT WINAPI MsiGetFeatureCostW(MSIHANDLE, LPCWSTR, MSICOSTTREE, INSTALLSTATE, LPINT);
-#define MsiGetFeatureCost WINELIB_NAME_AW(MsiGetFeatureCost)
+UINT WINAPI MsiDatabaseMergeA(MSIHANDLE, MSIHANDLE, LPCSTR);
+UINT WINAPI MsiDatabaseMergeW(MSIHANDLE, MSIHANDLE, LPCWSTR);
+#define MsiDatabaseMerge WINELIB_NAME_AW(MsiDatabaseMerge)
-LANGID WINAPI MsiGetLanguage(MSIHANDLE);
-
-UINT WINAPI MsiSetInstallLevel(MSIHANDLE, int);
+/* Non Unicode */
+UINT WINAPI MsiDatabaseCommit(MSIHANDLE);
+UINT WINAPI MsiCloseHandle(MSIHANDLE);
+UINT WINAPI MsiCloseAllHandles(void);
MSIHANDLE WINAPI MsiGetLastErrorRecord(void);
diff --git a/libmsi/record.c b/libmsi/record.c
index 83ccee8..4423b12 100644
--- a/libmsi/record.c
+++ b/libmsi/record.c
@@ -29,7 +29,6 @@
#include "winerror.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "msipriv.h"
#include "objidl.h"
diff --git a/libmsi/select.c b/libmsi/select.c
index 1faacd4..7978ed3 100644
--- a/libmsi/select.c
+++ b/libmsi/select.c
@@ -24,7 +24,6 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/storages.c b/libmsi/storages.c
index b068e62..042d33d 100644
--- a/libmsi/storages.c
+++ b/libmsi/storages.c
@@ -28,7 +28,6 @@
#include "winuser.h"
#include "winerror.h"
#include "ole2.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "msipriv.h"
diff --git a/libmsi/streams.c b/libmsi/streams.c
index 3e4d8e2..56ad54a 100644
--- a/libmsi/streams.c
+++ b/libmsi/streams.c
@@ -25,7 +25,6 @@
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "msipriv.h"
diff --git a/libmsi/string.c b/libmsi/string.c
index f4a9215..53285da 100644
--- a/libmsi/string.c
+++ b/libmsi/string.c
@@ -30,7 +30,6 @@
#include "winerror.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/suminfo.c b/libmsi/suminfo.c
index 9acbe7b..7c12717 100644
--- a/libmsi/suminfo.c
+++ b/libmsi/suminfo.c
@@ -30,7 +30,6 @@
#include "shlwapi.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "msidefs.h"
#include "msipriv.h"
diff --git a/libmsi/table.c b/libmsi/table.c
index ea662d6..6fe7ff4 100644
--- a/libmsi/table.c
+++ b/libmsi/table.c
@@ -28,7 +28,6 @@
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/update.c b/libmsi/update.c
index 181123a..7f74ec8 100644
--- a/libmsi/update.c
+++ b/libmsi/update.c
@@ -24,7 +24,6 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
diff --git a/libmsi/where.c b/libmsi/where.c
index 46a7910..933d971 100644
--- a/libmsi/where.c
+++ b/libmsi/where.c
@@ -27,7 +27,6 @@
#include "winerror.h"
#include "wine/debug.h"
#include "wine/unicode.h"
-#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"