msi: Restrict the match on files from cabinets to files that have not been installed.
Hans Leidekker
hans at codeweavers.com
Fri Mar 16 10:13:30 CDT 2012
Fixes http://bugs.winehq.org/show_bug.cgi?id=30182
---
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;
--
1.7.9.1
More information about the wine-patches
mailing list