Hans Leidekker : msi: Don' t ignore disabled components when resolving install states.
Alexandre Julliard
julliard at winehq.org
Wed Jan 19 11:46:12 CST 2011
Module: wine
Branch: master
Commit: 34b9e4c20f1998320a6604e201f4bd09399352c9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=34b9e4c20f1998320a6604e201f4bd09399352c9
Author: Hans Leidekker <hans at 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));
More information about the wine-cvs
mailing list