Commit 7edea0cc authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Set the install state to INSTALLSTATE_LOCAL for features with compressed files.

parent 0424424e
......@@ -1328,6 +1328,7 @@ static UINT load_file(MSIRECORD *row, LPVOID param)
if (file->Attributes & msidbFileAttributesCompressed)
{
file->Component->ForceLocalState = TRUE;
file->Component->Action = INSTALLSTATE_LOCAL;
file->Component->ActionRequest = INSTALLSTATE_LOCAL;
}
......@@ -1755,6 +1756,12 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
}
}
}
if (component->ForceLocalState)
{
feature->Action = INSTALLSTATE_LOCAL;
feature->ActionRequest = INSTALLSTATE_LOCAL;
}
}
}
......
......@@ -59,6 +59,7 @@ typedef struct tagMSICOMPONENT
INSTALLSTATE ActionRequest;
INSTALLSTATE Action;
BOOL ForceLocalState;
BOOL Enabled;
INT Cost;
INT RefCount;
......
......@@ -1683,10 +1683,7 @@ static void test_states(void)
r = MsiGetFeatureState(hpkg, "three", &state, &action);
ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r );
ok( state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
todo_wine
{
ok( action == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", action);
}
ok( action == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", action);
state = 0xdeadbee;
action = 0xdeadbee;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment