Commit 4b4f737b authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Only read an internal package if the file to install is compressed.

parent d65daea4
......@@ -573,22 +573,20 @@ static UINT load_media_info(MSIPACKAGE *package, MSIFILE *file, struct media_inf
mi->first_volume = strdupW(mi->volume_label);
source_dir = msi_dup_property(package, cszSourceDir);
lstrcpyW(mi->source, source_dir);
if (mi->cabinet && mi->cabinet[0] == '#')
if (file->IsCompressed && mi->cabinet)
{
r = writeout_cabinet_stream(package, &mi->cabinet[1], mi->source);
if (r != ERROR_SUCCESS)
if (mi->cabinet[0] == '#')
{
ERR("Failed to extract cabinet stream\n");
return ERROR_FUNCTION_FAILED;
r = writeout_cabinet_stream(package, &mi->cabinet[1], mi->source);
if (r != ERROR_SUCCESS)
{
ERR("Failed to extract cabinet stream\n");
return ERROR_FUNCTION_FAILED;
}
}
}
else
{
lstrcpyW(mi->source, source_dir);
if (mi->cabinet)
else
lstrcatW(mi->source, mi->cabinet);
}
......
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