Hans Leidekker : msi: Take the component action into account for file patches.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Apr 10 08:56:27 CDT 2015


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Apr 10 12:58:01 2015 +0200

msi: Take the component action into account for file patches.

---

 dlls/msi/files.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index d1e3ecf..3116754 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -455,8 +455,19 @@ static BOOL patchfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
 
     if (action == MSICABEXTRACT_BEGINEXTRACT)
     {
+        MSICOMPONENT *comp;
+
         if (!(patch = find_filepatch( package, patch->disk_id, file ))) return FALSE;
 
+        comp = patch->File->Component;
+        comp->Action = msi_get_component_action( package, comp );
+        if (!comp->Enabled || comp->Action != INSTALLSTATE_LOCAL)
+        {
+            TRACE("file %s component %s not installed or disabled\n",
+                  debugstr_w(patch->File->File), debugstr_w(comp->Component));
+            return FALSE;
+        }
+
         patch->path = msi_create_temp_file( package->db );
         *path = strdupW( patch->path );
         *attrs = patch->File->Attributes;




More information about the wine-cvs mailing list