Module: wine Branch: master Commit: baad888766850ad390079a3abdf561517b61ef33 URL: http://source.winehq.org/git/wine.git/?a=commit;h=baad888766850ad390079a3abd... Author: James Hawkins <truiken(a)gmail.com> Date: Tue May 1 03:19:50 2007 -0500 msi: Reset the folder's resolved target before setting the target in CostFinalize. --- dlls/msi/action.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 7ee0518..804a1e5 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -1918,9 +1918,17 @@ static UINT ITERATE_CostFinalizeDirectories(MSIRECORD *row, LPVOID param) MSIPACKAGE *package = (MSIPACKAGE*)param; LPCWSTR name; LPWSTR path; + MSIFOLDER *f; name = MSI_RecordGetString(row,1); + f = get_loaded_folder(package, name); + if (!f) return ERROR_SUCCESS; + + /* reset the ResolvedTarget */ + msi_free(f->ResolvedTarget); + f->ResolvedTarget = NULL; + /* This helper function now does ALL the work */ TRACE("Dir %s ...\n",debugstr_w(name)); path = resolve_folder(package,name,FALSE,TRUE,TRUE,NULL);