Module: wine Branch: master Commit: 4b4f737bfc24b0aae3add148584204b9a8acca95 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4b4f737bfc24b0aae3add14858...
Author: James Hawkins truiken@gmail.com Date: Sat Jan 5 00:07:34 2008 -0600
msi: Only read an internal package if the file to install is compressed.
---
dlls/msi/files.c | 22 ++++++++++------------ 1 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/dlls/msi/files.c b/dlls/msi/files.c index 442c73a..7e73b75 100644 --- a/dlls/msi/files.c +++ b/dlls/msi/files.c @@ -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); }