Module: wine Branch: master Commit: 34b9e4c20f1998320a6604e201f4bd09399352c9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=34b9e4c20f1998320a6604e201...
Author: Hans Leidekker hans@codeweavers.com Date: Wed Jan 19 12:05:31 2011 +0100
msi: Don't ignore disabled components when resolving install states.
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));