From b112d7712608a7d326117233b7fb814ccfd0bb26 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Fri, 12 Nov 2010 15:05:35 +0100 Subject: [PATCH] msi: Honor msidbComponentAttributesNeverOverwrite. --- dlls/msi/files.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dlls/msi/files.c b/dlls/msi/files.c index 47aa74fbb80..b3a61767f5b 100644 --- a/dlls/msi/files.c +++ b/dlls/msi/files.c @@ -227,6 +227,14 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package) if (file->state != msifs_missing && !mi->is_continuous && file->state != msifs_overwrite) continue; + if (file->state == msifs_overwrite && + (file->Component->Attributes & msidbComponentAttributesNeverOverwrite)) + { + TRACE("not overwriting %s\n", debugstr_w(file->TargetPath)); + file->state = msifs_skipped; + continue; + } + if (file->Sequence > mi->last_sequence || mi->is_continuous || (file->IsCompressed && !mi->is_extracted)) {