[1/2] msi: Don't attempt to patch files if the component action resolves to anything other than INSTALLSTATE_LOCAL.

Hans Leidekker hans at codeweavers.com
Tue Oct 11 04:02:41 CDT 2011


Fixes http://bugs.winehq.org/show_bug.cgi?id=28551
---
 dlls/msi/files.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index 210e012..c6282f7 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -497,6 +497,7 @@ UINT ACTION_PatchFiles( MSIPACKAGE *package )
     LIST_FOR_EACH_ENTRY( patch, &package->filepatches, MSIFILEPATCH, entry )
     {
         MSIFILE *file = patch->File;
+        MSICOMPONENT *comp = file->Component;
 
         rc = msi_load_media_info( package, patch->Sequence, mi );
         if (rc != ERROR_SUCCESS)
@@ -504,7 +505,8 @@ UINT ACTION_PatchFiles( MSIPACKAGE *package )
             ERR("Unable to load media info for %s (%u)\n", debugstr_w(file->File), rc);
             return ERROR_FUNCTION_FAILED;
         }
-        if (!file->Component->Enabled) continue;
+        comp->Action = msi_get_component_action( package, comp );
+        if (!comp->Enabled || comp->Action != INSTALLSTATE_LOCAL) continue;
 
         if (!patch->IsApplied)
         {
-- 
1.7.5.4







More information about the wine-patches mailing list