Hans Leidekker : msi: Restrict the match on files from cabinets to files that have not been installed .

Alexandre Julliard julliard at winehq.org
Fri Mar 16 11:27:50 CDT 2012


Module: wine
Branch: master
Commit: 45a62d53b6affc7c89419ee3cace4317fbf4bd7e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=45a62d53b6affc7c89419ee3cace4317fbf4bd7e

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Mar 16 16:13:30 2012 +0100

msi: Restrict the match on files from cabinets to files that have not been installed.

---

 dlls/msi/files.c |    2 +-
 dlls/msi/media.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index e928564..e3a12c3 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -253,7 +253,7 @@ static MSIFILE *find_file( MSIPACKAGE *package, const WCHAR *filename )
 
     LIST_FOR_EACH_ENTRY( file, &package->files, MSIFILE, entry )
     {
-        if (!strcmpiW( filename, file->File )) return file;
+        if (file->state != msifs_installed && !strcmpiW( filename, file->File )) return file;
     }
     return NULL;
 }
diff --git a/dlls/msi/media.c b/dlls/msi/media.c
index 69bcb91..0199178 100644
--- a/dlls/msi/media.c
+++ b/dlls/msi/media.c
@@ -428,7 +428,7 @@ static INT_PTR cabinet_copy_file(FDINOTIFICATIONTYPE fdint,
         goto done;
     }
 
-    TRACE("extracting %s\n", debugstr_w(path));
+    TRACE("extracting %s -> %s\n", debugstr_w(data->curfile), debugstr_w(path));
 
     attrs = attrs & (FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM);
     if (!attrs) attrs = FILE_ATTRIBUTE_NORMAL;




More information about the wine-cvs mailing list