msi: Add the ability to deformat the component's source.

This commit is contained in:
James Hawkins 2007-05-24 11:11:20 -07:00 committed by Alexandre Julliard
parent f5c2806ca1
commit ea2c96c5df
2 changed files with 4 additions and 6 deletions

View File

@ -113,16 +113,17 @@ static LPWSTR deformat_component(MSIPACKAGE* package, LPCWSTR key, DWORD* sz)
{
LPWSTR value = NULL;
MSICOMPONENT *comp;
BOOL source;
*sz = 0;
if (!package)
return NULL;
FIXME("component key %s\n", debugstr_w(key));
comp = get_loaded_component(package,key);
if (comp)
{
value = resolve_folder(package, comp->Directory, FALSE, FALSE, TRUE, NULL);
source = (comp->Action == INSTALLSTATE_SOURCE) ? TRUE : FALSE;
value = resolve_folder(package, comp->Directory, source, FALSE, TRUE, NULL);
*sz = (strlenW(value)) * sizeof(WCHAR);
}

View File

@ -2236,10 +2236,7 @@ static void test_formatrecord_tables(void)
MsiRecordSetString( hrec, 1, "[$parietal]" );
r = MsiFormatRecord( hpkg, hrec, buf, &size );
ok( r == ERROR_SUCCESS, "format record failed: %d\n", r);
todo_wine
{
ok( !lstrcmp( buf, expected ), "Expected '%s', got %s\n", expected, buf);
}
ok( !lstrcmp( buf, expected ), "Expected '%s', got %s\n", expected, buf);
DeleteFile( "C:\\I am a really long directory\\temporal.txt" );
RemoveDirectory( "C:\\I am a really long directory" );