From: Hans Leidekker Subject: msi: Don't skip the media check for the first volume. Message-Id: <1413379823.2250.1.camel@codeweavers.com> Date: Wed, 15 Oct 2014 15:30:23 +0200 Some installers require the first volume to be reinserted. --- dlls/msi/media.c | 9 +-------- dlls/msi/msipriv.h | 1 - 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/dlls/msi/media.c b/dlls/msi/media.c index 8646069..c26ac41 100644 --- a/dlls/msi/media.c +++ b/dlls/msi/media.c @@ -298,9 +298,6 @@ static UINT CDECL msi_media_get_disk_info(MSIPACKAGE *package, MSIMEDIAINFO *mi) mi->cabinet = strdupW(MSI_RecordGetString(row, 4)); mi->volume_label = strdupW(MSI_RecordGetString(row, 5)); - if (!mi->first_volume) - mi->first_volume = strdupW(mi->volume_label); - msiobj_release(&row->hdr); return ERROR_SUCCESS; } @@ -673,7 +670,6 @@ void msi_free_media_info(MSIMEDIAINFO *mi) msi_free(mi->disk_prompt); msi_free(mi->cabinet); msi_free(mi->volume_label); - msi_free(mi->first_volume); msi_free(mi); } @@ -719,9 +715,6 @@ UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi) mi->volume_label = strdupW(MSI_RecordGetString(row, 5)); msiobj_release(&row->hdr); - if (!mi->first_volume) - mi->first_volume = strdupW(mi->volume_label); - msi_set_sourcedir_props(package, FALSE); source_dir = msi_dup_property(package->db, szSourceDir); lstrcpyW(mi->sourcedir, source_dir); @@ -891,7 +884,7 @@ UINT ready_media( MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi ) } } /* check volume matches, change media if not */ - if (mi->volume_label && mi->disk_id > 1 && strcmpW( mi->first_volume, mi->volume_label )) + if (mi->volume_label && mi->disk_id > 1) { WCHAR *source = msi_dup_property( package->db, szSourceDir ); BOOL match = source_matches_volume( mi, source ); diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index 75d1920..d0b2247 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -154,7 +154,6 @@ typedef struct tagMSIMEDIAINFO UINT last_sequence; LPWSTR disk_prompt; LPWSTR cabinet; - LPWSTR first_volume; LPWSTR volume_label; BOOL is_continuous; BOOL is_extracted; -- 2.1.1