mirror of
https://github.com/reactos/wine.git
synced 2025-02-13 16:59:37 +00:00
msi: Generalize media helpers a bit.
This commit is contained in:
parent
fed6e5211c
commit
18973df9c7
@ -302,7 +302,7 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
|
||||
|
||||
LIST_FOR_EACH_ENTRY( file, &package->files, MSIFILE, entry )
|
||||
{
|
||||
rc = msi_load_media_info( package, file, mi );
|
||||
rc = msi_load_media_info( package, file->Sequence, mi );
|
||||
if (rc != ERROR_SUCCESS)
|
||||
{
|
||||
ERR("Unable to load media info for %s (%u)\n", debugstr_w(file->File), rc);
|
||||
@ -310,7 +310,8 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
|
||||
}
|
||||
if (!file->Component->Enabled) continue;
|
||||
|
||||
if (file->state != msifs_hashmatch && (rc = ready_media( package, file, mi )))
|
||||
if (file->state != msifs_hashmatch &&
|
||||
(rc = ready_media( package, file->Sequence, file->IsCompressed, mi )))
|
||||
{
|
||||
ERR("Failed to ready media for %s\n", debugstr_w(file->File));
|
||||
goto done;
|
||||
|
@ -656,7 +656,7 @@ static UINT get_drive_type(const WCHAR *path)
|
||||
return GetDriveTypeW(root);
|
||||
}
|
||||
|
||||
UINT msi_load_media_info(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
|
||||
UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi)
|
||||
{
|
||||
MSIRECORD *row;
|
||||
LPWSTR source_dir;
|
||||
@ -669,7 +669,7 @@ UINT msi_load_media_info(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
|
||||
'`','L','a','s','t','S','e','q','u','e','n','c','e','`',' ','>','=',' ','%','i',
|
||||
' ','O','R','D','E','R',' ','B','Y',' ','`','D','i','s','k','I','d','`',0};
|
||||
|
||||
row = MSI_QueryGetRecord(package->db, query, file->Sequence);
|
||||
row = MSI_QueryGetRecord(package->db, query, Sequence);
|
||||
if (!row)
|
||||
{
|
||||
TRACE("Unable to query row\n");
|
||||
@ -815,7 +815,7 @@ static UINT find_published_source(MSIPACKAGE *package, MSIMEDIAINFO *mi)
|
||||
return ERROR_FUNCTION_FAILED;
|
||||
}
|
||||
|
||||
UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
|
||||
UINT ready_media(MSIPACKAGE *package, UINT Sequence, BOOL IsCompressed, MSIMEDIAINFO *mi)
|
||||
{
|
||||
UINT rc = ERROR_SUCCESS;
|
||||
WCHAR *cabinet_file;
|
||||
@ -831,7 +831,7 @@ UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
|
||||
cabinet_file = get_cabinet_filename(mi);
|
||||
|
||||
/* package should be downloaded */
|
||||
if (file->IsCompressed &&
|
||||
if (IsCompressed &&
|
||||
GetFileAttributesW(cabinet_file) == INVALID_FILE_ATTRIBUTES &&
|
||||
package->BaseURL && UrlIsW(package->BaseURL, URLIS_URL))
|
||||
{
|
||||
@ -874,7 +874,7 @@ UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
|
||||
}
|
||||
}
|
||||
|
||||
if (file->IsCompressed &&
|
||||
if (IsCompressed &&
|
||||
GetFileAttributesW(cabinet_file) == INVALID_FILE_ATTRIBUTES)
|
||||
{
|
||||
rc = find_published_source(package, mi);
|
||||
|
@ -990,8 +990,8 @@ typedef struct
|
||||
PVOID user;
|
||||
} MSICABDATA;
|
||||
|
||||
extern UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi);
|
||||
extern UINT msi_load_media_info(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi);
|
||||
extern UINT ready_media(MSIPACKAGE *package, UINT Sequence, BOOL IsCompressed, MSIMEDIAINFO *mi);
|
||||
extern UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi);
|
||||
extern void msi_free_media_info(MSIMEDIAINFO *mi);
|
||||
extern BOOL msi_cabextract(MSIPACKAGE* package, MSIMEDIAINFO *mi, LPVOID data);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user