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