[5/5] msi: Set feature states to the installed state if the Preselected property is not set.

Hans Leidekker hans at codeweavers.com
Tue Jul 20 07:55:24 CDT 2010


---
 dlls/msi/action.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 1e2af4b..8ddd0dc 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -1794,6 +1794,18 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
                 msi_feature_set_state(package, fl->feature, INSTALLSTATE_UNKNOWN);
         }
     }
+    else
+    {
+        LIST_FOR_EACH_ENTRY( feature, &package->features, MSIFEATURE, entry )
+        {
+            BOOL selected = feature->Level > 0 && feature->Level <= level;
+
+            if (selected && feature->Action == INSTALLSTATE_UNKNOWN)
+            {
+                 msi_feature_set_state(package, feature, feature->Installed);
+            }
+        }
+    }
 
     /*
      * now we want to enable or disable components base on feature
-- 
1.7.0.4







More information about the wine-patches mailing list