mirror of
https://github.com/reactos/wine.git
synced 2024-12-03 09:20:56 +00:00
msi: Write registry values for source components too.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
dfe48bab07
commit
8bdcaf6036
@ -2872,7 +2872,7 @@ static UINT ITERATE_WriteRegistryValues(MSIRECORD *row, LPVOID param)
|
||||
return ERROR_SUCCESS;
|
||||
|
||||
comp->Action = msi_get_component_action( package, comp );
|
||||
if (comp->Action != INSTALLSTATE_LOCAL)
|
||||
if (comp->Action != INSTALLSTATE_LOCAL && comp->Action != INSTALLSTATE_SOURCE)
|
||||
{
|
||||
TRACE("component not scheduled for installation %s\n", debugstr_w(component));
|
||||
return ERROR_SUCCESS;
|
||||
|
@ -506,7 +506,22 @@ static const char wrv_component_dat[] =
|
||||
"Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
|
||||
"s72\tS38\ts72\ti2\tS255\tS72\n"
|
||||
"Component\tComponent\n"
|
||||
"augustus\t\tMSITESTDIR\t0\t\taugustus\n";
|
||||
"augustus\t\tMSITESTDIR\t0\t\taugustus\n"
|
||||
"caesar\t\tMSITESTDIR\t1\t\t\n";
|
||||
|
||||
static const char wrv_feature_dat[] =
|
||||
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
|
||||
"s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
|
||||
"Feature\tFeature\n"
|
||||
"feature\t\tFeature\tFeature\t2\t1\tTARGETDIR\t0\n"
|
||||
"feature2\t\tFeature2\tFeature2\t2\t1\tTARGETDIR\t1";
|
||||
|
||||
static const char wrv_feature_comp_dat[] =
|
||||
"Feature_\tComponent_\n"
|
||||
"s38\ts72\n"
|
||||
"FeatureComponents\tFeature_\tComponent_\n"
|
||||
"feature\taugustus\n"
|
||||
"feature2\tcaesar";
|
||||
|
||||
static const char wrv_registry_dat[] =
|
||||
"Registry\tRoot\tKey\tName\tValue\tComponent_\n"
|
||||
@ -527,7 +542,8 @@ static const char wrv_registry_dat[] =
|
||||
"regdata12\t2\tSOFTWARE\\Wine\\msitest\tValue8\t#1\taugustus\n"
|
||||
"regdata13\t2\tSOFTWARE\\Wine\\msitest\tValue9\t#x1\taugustus\n"
|
||||
"regdata14\t2\tSOFTWARE\\Wine\\msitest\tValue10\t#x01\taugustus\n"
|
||||
"regdata15\t2\tSOFTWARE\\Wine\\msitest\tValue11\t[regdata15]\taugustus\n";
|
||||
"regdata15\t2\tSOFTWARE\\Wine\\msitest\tValue11\t[regdata15]\taugustus\n"
|
||||
"regdata16\t2\tSOFTWARE\\Wine\\msitest\tValue12\t#1\tcaesar\n";
|
||||
|
||||
static const char cf_directory_dat[] =
|
||||
"Directory\tDirectory_Parent\tDefaultDir\n"
|
||||
@ -1752,8 +1768,8 @@ static const msi_table wrv_tables[] =
|
||||
{
|
||||
ADD_TABLE(wrv_component),
|
||||
ADD_TABLE(directory),
|
||||
ADD_TABLE(rof_feature),
|
||||
ADD_TABLE(ci2_feature_comp),
|
||||
ADD_TABLE(wrv_feature),
|
||||
ADD_TABLE(wrv_feature_comp),
|
||||
ADD_TABLE(ci2_file),
|
||||
ADD_TABLE(install_exec_seq),
|
||||
ADD_TABLE(rof_media),
|
||||
@ -4988,7 +5004,7 @@ static void test_write_registry_values(void)
|
||||
goto error;
|
||||
}
|
||||
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
|
||||
ok(delete_pf("msitest\\augustus", TRUE), "File installed\n");
|
||||
ok(delete_pf("msitest\\augustus", TRUE), "File not installed\n");
|
||||
ok(delete_pf("msitest", FALSE), "Directory not created\n");
|
||||
|
||||
if (is_64bit)
|
||||
@ -5111,6 +5127,15 @@ static void test_write_registry_values(void)
|
||||
ok(size == 1, "got %u\n", size);
|
||||
ok(type == REG_BINARY, "got %u\n", type);
|
||||
|
||||
size = sizeof(buf);
|
||||
type = 0xdeadbeef;
|
||||
memset(buf, 0, size);
|
||||
res = RegQueryValueExA(hkey, "Value12", NULL, &type, buf, &size);
|
||||
ok(res == ERROR_SUCCESS, "got %u\n", res);
|
||||
ok(*(DWORD *)buf == 1, "got %u\n", *(DWORD *)buf);
|
||||
ok(size == 4, "got %u\n", size);
|
||||
ok(type == REG_DWORD, "got %u\n", type);
|
||||
|
||||
RegDeleteValueA(hkey, "Value");
|
||||
RegDeleteValueA(hkey, "Value1");
|
||||
RegDeleteValueA(hkey, "Value2");
|
||||
@ -5123,6 +5148,7 @@ static void test_write_registry_values(void)
|
||||
RegDeleteValueA(hkey, "Value9");
|
||||
RegDeleteValueA(hkey, "Value10");
|
||||
RegDeleteValueA(hkey, "Value11");
|
||||
RegDeleteValueA(hkey, "Value12");
|
||||
RegCloseKey(hkey);
|
||||
RegDeleteKeyA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Wine\\msitest");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user