msi: Process the ADDSOURCE property when setting feature states.
This commit is contained in:
parent
75b825da17
commit
c31fd4371a
|
@ -1727,6 +1727,8 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
|
|||
{'I','N','S','T','A','L','L','L','E','V','E','L',0};
|
||||
static const WCHAR szAddLocal[] =
|
||||
{'A','D','D','L','O','C','A','L',0};
|
||||
static const WCHAR szAddSource[] =
|
||||
{'A','D','D','S','O','U','R','C','E',0};
|
||||
static const WCHAR szRemove[] =
|
||||
{'R','E','M','O','V','E',0};
|
||||
static const WCHAR szReinstall[] =
|
||||
|
@ -1766,6 +1768,7 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *package)
|
|||
*/
|
||||
override |= process_state_property(package,szAddLocal,INSTALLSTATE_LOCAL);
|
||||
override |= process_state_property(package,szRemove,INSTALLSTATE_ABSENT);
|
||||
override |= process_state_property(package,szAddSource,INSTALLSTATE_SOURCE);
|
||||
override |= process_state_property(package,szReinstall,INSTALLSTATE_LOCAL);
|
||||
|
||||
if (!override)
|
||||
|
|
|
@ -2733,20 +2733,14 @@ static void test_states(void)
|
|||
r = MsiGetFeatureState(hpkg, "two", &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_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", action);
|
||||
}
|
||||
ok( action == INSTALLSTATE_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", action);
|
||||
|
||||
state = 0xdeadbee;
|
||||
action = 0xdeadbee;
|
||||
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;
|
||||
|
@ -2815,40 +2809,28 @@ static void test_states(void)
|
|||
r = MsiGetComponentState(hpkg, "delta", &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;
|
||||
r = MsiGetComponentState(hpkg, "epsilon", &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_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", action);
|
||||
}
|
||||
ok( action == INSTALLSTATE_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", action);
|
||||
|
||||
state = 0xdeadbee;
|
||||
action = 0xdeadbee;
|
||||
r = MsiGetComponentState(hpkg, "zeta", &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_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", action);
|
||||
}
|
||||
ok( action == INSTALLSTATE_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", action);
|
||||
|
||||
state = 0xdeadbee;
|
||||
action = 0xdeadbee;
|
||||
r = MsiGetComponentState(hpkg, "iota", &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;
|
||||
|
|
Loading…
Reference in New Issue