Commit 2ad04cae authored by Andrey Turkin's avatar Andrey Turkin Committed by Alexandre Julliard

msi: Disable some path validity checks in MsiSetTargetPath.

parent 27bfdc2a
......@@ -336,24 +336,14 @@ UINT MSI_SetTargetPathW(MSIPACKAGE *package, LPCWSTR szFolder,
attrib = GetFileAttributesW(szFolderPath);
if ( attrib != INVALID_FILE_ATTRIBUTES &&
(!(attrib & FILE_ATTRIBUTE_DIRECTORY) ||
attrib & FILE_ATTRIBUTE_OFFLINE ||
attrib & FILE_ATTRIBUTE_READONLY))
(attrib & FILE_ATTRIBUTE_OFFLINE ||
attrib & FILE_ATTRIBUTE_READONLY)) /* actually native MSI tests writeability by making temporary files at each drive */
return ERROR_FUNCTION_FAILED;
path = resolve_folder(package,szFolder,FALSE,FALSE,&folder);
if (!path)
return ERROR_DIRECTORY;
if (attrib == INVALID_FILE_ATTRIBUTES)
{
if (!CreateDirectoryW(szFolderPath,NULL))
{
msi_free( path );
return ERROR_FUNCTION_FAILED;
}
RemoveDirectoryW(szFolderPath);
}
msi_free(folder->Property);
folder->Property = build_directory_name(2, szFolderPath, NULL);
......
......@@ -404,14 +404,10 @@ static void test_settargetpath(void)
{
sprintf( tempdir, "%s\\subdir", buffer );
r = MsiSetTargetPath( hpkg, "TARGETDIR", buffer );
todo_wine {
ok( r == ERROR_SUCCESS, "MsiSetTargetPath on file returned %d\n", r );
}
r = MsiSetTargetPath( hpkg, "TARGETDIR", tempdir );
todo_wine {
ok( r == ERROR_SUCCESS, "MsiSetTargetPath on 'subdir' of file returned %d\n", r );
}
DeleteFile( buffer );
......@@ -422,9 +418,7 @@ static void test_settargetpath(void)
ok ( r == INVALID_FILE_ATTRIBUTES, "file/directory exists after MsiSetTargetPath. Attributes: %08X\n", r );
r = MsiSetTargetPath( hpkg, "TARGETDIR", tempdir );
todo_wine {
ok( r == ERROR_SUCCESS, "MsiSetTargetPath on subsubdir returned %d\n", r );
}
} else {
trace("GetTempFileName failed, cannot do some tests\n");
}
......
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