forgot these...
authorChristoph von Wittich <christoph_vw@reactos.org>
Sat, 27 Dec 2008 15:12:15 +0000 (15:12 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Sat, 27 Dec 2008 15:12:15 +0000 (15:12 +0000)
svn path=/trunk/; revision=38392

reactos/include/psdk/msi.h
reactos/include/psdk/msidefs.h

index 1ffce4e..5564fcd 100644 (file)
@@ -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
 }
index 141e203..d87569f 100644 (file)
@@ -215,6 +215,13 @@ enum msidbSumInfoSourceType
     msidbSumInfoSourceTypeLUAPackage = 0x00000008,
 };
 
+enum msidbRemoveFileInstallMode
+{
+    msidbRemoveFileInstallModeOnInstall = 0x00000001,
+    msidbRemoveFileInstallModeOnRemove = 0x00000002,
+    msidbRemoveFileInstallModeOnBoth = 0x00000003,
+};
+
 /*
  * Windows SDK braindamage alert
  *