msi: Don't resolve child folders if the target path doesn't change in MsiSetTargetPath.
This commit is contained in:
parent
01433f0f30
commit
f464b7d2e2
|
@ -549,10 +549,14 @@ static void set_target_path( MSIPACKAGE *package, MSIFOLDER *folder, const WCHAR
|
|||
{
|
||||
FolderList *fl;
|
||||
MSIFOLDER *child;
|
||||
WCHAR *target_path;
|
||||
|
||||
if (!(target_path = strdupW( path ))) return;
|
||||
msi_clean_path( target_path );
|
||||
if (strcmpW( target_path, folder->ResolvedTarget ))
|
||||
{
|
||||
msi_free( folder->ResolvedTarget );
|
||||
folder->ResolvedTarget = strdupW( path );
|
||||
msi_clean_path( folder->ResolvedTarget );
|
||||
folder->ResolvedTarget = target_path;
|
||||
msi_set_property( package->db, folder->Directory, folder->ResolvedTarget );
|
||||
|
||||
LIST_FOR_EACH_ENTRY( fl, &folder->children, FolderList, entry )
|
||||
|
@ -561,6 +565,8 @@ static void set_target_path( MSIPACKAGE *package, MSIFOLDER *folder, const WCHAR
|
|||
msi_resolve_target_folder( package, child->Directory, FALSE );
|
||||
}
|
||||
}
|
||||
else msi_free( target_path );
|
||||
}
|
||||
|
||||
UINT MSI_SetTargetPathW( MSIPACKAGE *package, LPCWSTR szFolder, LPCWSTR szFolderPath )
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue