msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is called from a custom action.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-03-25 22:42:02 -05:00 committed by Alexandre Julliard
parent 60b1fd7e87
commit ed5f4bd14f
2 changed files with 3 additions and 13 deletions

View File

@ -884,18 +884,8 @@ UINT WINAPI MsiDatabaseApplyTransformW( MSIHANDLE hdb, const WCHAR *transform, i
if (error_cond) FIXME( "ignoring error conditions\n" );
db = msihandle2msiinfo( hdb, MSIHANDLETYPE_DATABASE );
if (!db)
{
MSIHANDLE remote;
if (!(remote = msi_get_remote(hdb)))
return ERROR_INVALID_HANDLE;
WARN("MsiDatabaseApplyTransform not allowed during a custom action!\n");
return ERROR_SUCCESS;
}
if (!(db = msihandle2msiinfo(hdb, MSIHANDLETYPE_DATABASE)))
return ERROR_INVALID_HANDLE;
r = MSI_DatabaseApplyTransformW( db, transform, error_cond );
msiobj_release( &db->hdr );

View File

@ -1128,7 +1128,7 @@ static void test_invalid_functions(MSIHANDLE hinst)
todo_wine ok(hinst, r == ERROR_INVALID_HANDLE, "got %u\n", r);
r = MsiDatabaseApplyTransformA(db, "bogus.mst", 0);
todo_wine ok(hinst, r == ERROR_INVALID_HANDLE, "got %u\n", r);
ok(hinst, r == ERROR_INVALID_HANDLE, "got %u\n", r);
r = MsiCreateTransformSummaryInfoA(db, db, "bogus.mst", 0, 0);
todo_wine ok(hinst, r == ERROR_INSTALL_PACKAGE_OPEN_FAILED, "got %u\n", r);