Hans Leidekker : msi: Restrict the match on files from cabinets to files that have not been installed .
Module: wine Branch: master Commit: 45a62d53b6affc7c89419ee3cace4317fbf4bd7e URL: http://source.winehq.org/git/wine.git/?a=commit;h=45a62d53b6affc7c89419ee3ca... Author: Hans Leidekker <hans(a)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;
participants (1)
-
Alexandre Julliard