Hans Leidekker : msi: Resolve the target folder if necessary when building link filenames.

Alexandre Julliard julliard at winehq.org
Wed Aug 24 14:05:21 CDT 2011


Module: wine
Branch: master
Commit: 9d68804379b7940b1500cdf802b52b03e0100765
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9d68804379b7940b1500cdf802b52b03e0100765

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Wed Aug 24 10:22:33 2011 +0200

msi: Resolve the target folder if necessary when building link filenames.

---

 dlls/msi/action.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index d008777..fa92653 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -3518,7 +3518,17 @@ static WCHAR *get_link_file( MSIPACKAGE *package, MSIRECORD *row )
 
     directory = MSI_RecordGetString( row, 2 );
     link_folder = msi_get_target_folder( package, directory );
-
+    if (!link_folder)
+    {
+        /* some installers use a separate root */
+        MSIFOLDER *folder = msi_get_loaded_folder( package, directory );
+        while (folder->Parent && strcmpW( folder->Parent, folder->Directory ))
+        {
+            folder = msi_get_loaded_folder( package, folder->Parent );
+        }
+        msi_resolve_target_folder( package, folder->Directory, TRUE );
+        link_folder = msi_get_target_folder( package, directory );
+    }
     /* may be needed because of a bug somewhere else */
     msi_create_full_path( link_folder );
 




More information about the wine-cvs mailing list