From 943a74b328286dd967d685637c10bc834320a9fd Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Sat, 27 Dec 2008 15:12:15 +0000 Subject: [PATCH] forgot these... svn path=/trunk/; revision=38392 --- reactos/include/psdk/msi.h | 59 ++++++++++++++++++++++++++++++++++ reactos/include/psdk/msidefs.h | 7 ++++ 2 files changed, 66 insertions(+) diff --git a/reactos/include/psdk/msi.h b/reactos/include/psdk/msi.h index 1ffce4ecca0..5564fcd1502 100644 --- a/reactos/include/psdk/msi.h +++ b/reactos/include/psdk/msi.h @@ -46,6 +46,17 @@ typedef enum tagINSTALLSTATE 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, @@ -201,6 +212,29 @@ typedef struct _MSIFILEHASHINFO { 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 */ @@ -364,6 +398,8 @@ static const WCHAR INSTALLPROPERTY_DISKPROMPTW[] = {'D','i','s','k','P','r','o', 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); @@ -461,6 +497,10 @@ UINT WINAPI MsiGetProductInfoExA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, LPCSTR, LPST 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 MsiEnableLogA(DWORD, LPCSTR, DWORD); UINT WINAPI MsiEnableLogW(DWORD, LPCWSTR, DWORD); #define MsiEnableLog WINELIB_NAME_AW(MsiEnableLog) @@ -579,6 +619,12 @@ 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) @@ -591,10 +637,23 @@ 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) + /* 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); #ifdef __cplusplus } diff --git a/reactos/include/psdk/msidefs.h b/reactos/include/psdk/msidefs.h index 141e2034b2a..d87569f61c6 100644 --- a/reactos/include/psdk/msidefs.h +++ b/reactos/include/psdk/msidefs.h @@ -215,6 +215,13 @@ enum msidbSumInfoSourceType msidbSumInfoSourceTypeLUAPackage = 0x00000008, }; +enum msidbRemoveFileInstallMode +{ + msidbRemoveFileInstallModeOnInstall = 0x00000001, + msidbRemoveFileInstallModeOnRemove = 0x00000002, + msidbRemoveFileInstallModeOnBoth = 0x00000003, +}; + /* * Windows SDK braindamage alert *