[1/2] msi: Don't ignore disabled components when resolving install states.

Hans Leidekker hans at codeweavers.com
Wed Jan 19 05:05:31 CST 2011


Otherwise features are not published correctly.
---
 dlls/msi/action.c |   11 +----------
 1 files changed, 1 insertions(+), 10 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 725ea2f..8cf80bf 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -1841,8 +1841,7 @@ static void ACTION_GetComponentInstallStates(MSIPACKAGE *package)
 
     LIST_FOR_EACH_ENTRY(comp, &package->components, MSICOMPONENT, entry)
     {
-        if (!comp->Enabled || !comp->ComponentId)
-            continue;
+        if (!comp->ComponentId) continue;
 
         if (state != INSTALLSTATE_LOCAL && state != INSTALLSTATE_DEFAULT)
             comp->Installed = INSTALLSTATE_ABSENT;
@@ -2037,8 +2036,6 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
         /* features with components that have compressed files are made local */
         LIST_FOR_EACH_ENTRY( cl, &feature->Components, ComponentList, entry )
         {
-            if (!cl->component->Enabled) continue;
-
             if (cl->component->ForceLocalState &&
                 feature->ActionRequest == INSTALLSTATE_SOURCE)
             {
@@ -2051,8 +2048,6 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
         {
             component = cl->component;
 
-            if (!component->Enabled) continue;
-
             switch (feature->ActionRequest)
             {
             case INSTALLSTATE_ABSENT:
@@ -2083,8 +2078,6 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
 
     LIST_FOR_EACH_ENTRY( component, &package->components, MSICOMPONENT, entry )
     {
-        if (!component->Enabled) continue;
-
         /* check if it's local or source */
         if (!(component->Attributes & msidbComponentAttributesOptional) &&
              (component->hasLocalFeature || component->hasSourceFeature))
@@ -2123,8 +2116,6 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
 
     LIST_FOR_EACH_ENTRY( component, &package->components, MSICOMPONENT, entry )
     {
-        if (!component->Enabled) continue;
-
         if (component->ActionRequest == INSTALLSTATE_DEFAULT)
         {
             TRACE("%s was default, setting to local\n", debugstr_w(component->Component));
-- 
1.7.1







More information about the wine-patches mailing list