[10/15] msi: Update the UI in the MoveFiles action.

Hans Leidekker hans at codeweavers.com
Fri Mar 5 05:27:07 CST 2010


---
 dlls/msi/action.c  |    2 --
 dlls/msi/files.c   |   14 ++++++++++----
 dlls/msi/msipriv.h |    1 +
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index cabd153..276250f 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -112,8 +112,6 @@ static const WCHAR szIsolateComponents[] =
     {'I','s','o','l','a','t','e','C','o','m','p','o','n','e','n','t','s',0};
 static const WCHAR szMigrateFeatureStates[] =
     {'M','i','g','r','a','t','e','F','e','a','t','u','r','e','S','t','a','t','e','s',0};
-static const WCHAR szMoveFiles[] =
-    {'M','o','v','e','F','i','l','e','s',0};
 static const WCHAR szMsiPublishAssemblies[] = 
     {'M','s','i','P','u','b','l','i','s','h','A','s','s','e','m','b','l','i','e','s',0};
 static const WCHAR szMsiUnpublishAssemblies[] = 
diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index bf6f1fa..7ccb2c7 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -531,11 +531,10 @@ done:
 static UINT ITERATE_MoveFiles( MSIRECORD *rec, LPVOID param )
 {
     MSIPACKAGE *package = param;
+    MSIRECORD *uirow;
     MSICOMPONENT *comp;
     LPCWSTR sourcename, component;
-    LPWSTR destname = NULL;
-    LPWSTR sourcedir = NULL, destdir = NULL;
-    LPWSTR source = NULL, dest = NULL;
+    LPWSTR sourcedir, destname = NULL, destdir = NULL, source = NULL, dest = NULL;
     int options;
     DWORD size;
     BOOL ret, wildcards;
@@ -626,7 +625,7 @@ static UINT ITERATE_MoveFiles( MSIRECORD *rec, LPVOID param )
         if (!ret)
         {
             WARN("CreateDirectory failed: %d\n", GetLastError());
-            return ERROR_SUCCESS;
+            goto done;
         }
     }
 
@@ -636,6 +635,13 @@ static UINT ITERATE_MoveFiles( MSIRECORD *rec, LPVOID param )
         move_files_wildcard(source, dest, options);
 
 done:
+    uirow = MSI_CreateRecord( 9 );
+    MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString(rec, 1) );
+    MSI_RecordSetInteger( uirow, 6, 1 ); /* FIXME */
+    MSI_RecordSetStringW( uirow, 9, destdir );
+    ui_actiondata( package, szMoveFiles, uirow );
+    msiobj_release( &uirow->hdr );
+
     msi_free(sourcedir);
     msi_free(destdir);
     msi_free(destname);
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 07ee1a8..0516dd1 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -1083,6 +1083,7 @@ static const WCHAR szHLM[] = {'H','K','E','Y','_','L','O','C','A','L','_','M','A
 static const WCHAR szHU[] = {'H','K','E','Y','_','U','S','E','R','S','\\',0};
 static const WCHAR szWindowsFolder[] = {'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
 static const WCHAR szAppSearch[] = {'A','p','p','S','e','a','r','c','h',0};
+static const WCHAR szMoveFiles[] = {'M','o','v','e','F','i','l','e','s',0};
 
 /* memory allocation macro functions */
 static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
-- 
1.6.3.3





More information about the wine-patches mailing list