MSI: Upgrade patch

Aric Stewart aric at codeweavers.com
Thu Jun 16 07:52:33 CDT 2005


(unfortinatly this needs to be applied after Mondo Patch Part 2 due to 
an overlap in action.c)
add UI messages to FindRelatedProducts.
reduce unneeded includes
-------------- next part --------------
Index: dlls/msi/upgrade.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/upgrade.c,v
retrieving revision 1.1
diff -u -r1.1 upgrade.c
--- dlls/msi/upgrade.c	9 Jun 2005 12:05:27 -0000	1.1
+++ dlls/msi/upgrade.c	16 Jun 2005 12:45:43 -0000
@@ -27,27 +27,24 @@
  */
 
 #include <stdarg.h>
-#include <stdio.h>
-
-#define COBJMACROS
 
 #include "windef.h"
 #include "winbase.h"
 #include "winerror.h"
 #include "winreg.h"
 #include "wine/debug.h"
-#include "msi.h"
-#include "msiquery.h"
 #include "msidefs.h"
 #include "msipriv.h"
-#include "winnls.h"
 #include "winuser.h"
-#include "winver.h"
 #include "action.h"
 #include "wine/unicode.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(msi);
 
+extern const WCHAR szFindRelatedProducts[];
+extern const WCHAR szMigrateFeatureStates[];
+extern const WCHAR szRemoveExistingProducts[];
+
 static BOOL check_language(DWORD lang1, LPCWSTR lang2, DWORD attributes)
 {
     DWORD langdword;
@@ -113,6 +110,7 @@
     LPCWSTR upgrade_code;
     HKEY hkey = 0;
     UINT rc = ERROR_SUCCESS;
+    MSIRECORD *uirow;
 
     upgrade_code = MSI_RecordGetString(rec,1);
 
@@ -120,6 +118,7 @@
     if (rc != ERROR_SUCCESS)
         return ERROR_SUCCESS;
 
+    uirow = MSI_CreateRecord(1);
     attributes = MSI_RecordGetInteger(rec,5);
     
     while (rc == ERROR_SUCCESS)
@@ -194,10 +193,12 @@
 
             action_property = MSI_RecordGetString(rec,7);
             append_productcode(package,action_property,productid);
+            ui_actiondata(package,szFindRelatedProducts,uirow);
         }
         index ++;
     }
     RegCloseKey(hkey);
+    msiobj_release( &uirow->hdr);
     
     return ERROR_SUCCESS;
 }


More information about the wine-patches mailing list