Commit bd634c04 authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

msi: Set/unset the SourceDir property at the right stage in the execution sequence.

parent ad971803
......@@ -712,7 +712,7 @@ static BOOL ui_sequence_exists( MSIPACKAGE *package )
return FALSE;
}
static UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace)
UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace)
{
LPWSTR source, check;
......@@ -897,6 +897,8 @@ static UINT ACTION_ProcessExecSequence(MSIPACKAGE *package, BOOL UIran)
{
TRACE("Running the actions\n");
msi_set_property(package->db, cszSourceDir, NULL);
rc = MSI_IterateRecords(view, NULL, ITERATE_Actions, package);
msiobj_release(&view->hdr);
}
......@@ -3023,6 +3025,8 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
squash_guid(package->ProductCode,squished_pc);
ui_progress(package,1,COMPONENT_PROGRESS_VALUE,1,0);
msi_set_sourcedir_props(package, FALSE);
LIST_FOR_EACH_ENTRY( comp, &package->components, MSICOMPONENT, entry )
{
MSIRECORD * uirow;
......
......@@ -653,6 +653,7 @@ static UINT msi_load_media_info(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO
if (!mi->first_volume)
mi->first_volume = strdupW(mi->volume_label);
msi_set_sourcedir_props(package, FALSE);
source_dir = msi_dup_property(package->db, cszSourceDir);
lstrcpyW(mi->sourcedir, source_dir);
mi->type = get_drive_type(source_dir);
......
......@@ -1012,6 +1012,7 @@ extern WCHAR* generate_error_string(MSIPACKAGE *, UINT, DWORD, ... );
extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value);
extern UINT msi_get_local_package_name(LPWSTR path, LPCWSTR suffix);
extern UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace);
/* media */
......
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