msi: Copy the assembly file directly if it's not compressed.

This commit is contained in:
James Hawkins 2008-05-13 18:24:48 -05:00 committed by Alexandre Julliard
parent 47f83635bc
commit 9460ae35b5
1 changed files with 23 additions and 8 deletions

View File

@ -5659,15 +5659,30 @@ static UINT ITERATE_PublishAssembly( MSIRECORD *rec, LPVOID param )
file = msi_find_file(package, comp->KeyPath);
GetTempPathW(MAX_PATH, path);
r = msi_extract_file(package, file, path);
if (r != ERROR_SUCCESS)
{
ERR("Failed to extract temporary assembly\n");
return r;
}
PathAddBackslashW(path);
lstrcatW(path, file->FileName);
if (file->IsCompressed)
{
r = msi_extract_file(package, file, path);
if (r != ERROR_SUCCESS)
{
ERR("Failed to extract temporary assembly\n");
return r;
}
PathAddBackslashW(path);
lstrcatW(path, file->FileName);
}
else
{
PathAddBackslashW(path);
lstrcatW(path, file->FileName);
if (!CopyFileW(file->SourcePath, path, FALSE))
{
ERR("Failed to copy temporary assembly: %d\n", GetLastError());
return ERROR_FUNCTION_FAILED;
}
}
r = install_assembly(path);
if (r != ERROR_SUCCESS)