James Hawkins : msi: Deformat the key path before opening the key.

Alexandre Julliard julliard at wine.codeweavers.com
Thu May 10 07:50:00 CDT 2007


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

Author: James Hawkins <truiken at gmail.com>
Date:   Thu May 10 00:02:50 2007 -0500

msi: Deformat the key path before opening the key.

---

 dlls/msi/appsearch.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dlls/msi/appsearch.c b/dlls/msi/appsearch.c
index 4c5847e..ea2f7cf 100644
--- a/dlls/msi/appsearch.c
+++ b/dlls/msi/appsearch.c
@@ -244,6 +244,7 @@ static UINT ACTION_AppSearchReg(MSIPACKAGE *package, LPWSTR *appValue, MSISIGNAT
         'w','h','e','r','e',' ',
         'S','i','g','n','a','t','u','r','e','_',' ','=',' ', '\'','%','s','\'',0};
     LPWSTR keyPath = NULL, valueName = NULL;
+    LPWSTR deformatted = NULL;
     int root, type;
     HKEY rootKey, key = NULL;
     DWORD sz = 0, regType;
@@ -264,11 +265,11 @@ static UINT ACTION_AppSearchReg(MSIPACKAGE *package, LPWSTR *appValue, MSISIGNAT
 
     root = MSI_RecordGetInteger(row,2);
     keyPath = msi_dup_record_field(row,3);
-    /* FIXME: keyPath needs to be expanded for properties */
     valueName = msi_dup_record_field(row,4);
-    /* FIXME: valueName probably does too */
     type = MSI_RecordGetInteger(row,5);
 
+    deformat_string(package, keyPath, &deformatted);
+
     switch (root)
     {
     case msidbRegistryRootClassesRoot:
@@ -288,7 +289,7 @@ static UINT ACTION_AppSearchReg(MSIPACKAGE *package, LPWSTR *appValue, MSISIGNAT
         goto end;
     }
 
-    rc = RegOpenKeyW(rootKey, keyPath, &key);
+    rc = RegOpenKeyW(rootKey, deformatted, &key);
     if (rc)
     {
         TRACE("RegOpenKeyW returned %d\n", rc);
@@ -337,6 +338,7 @@ end:
 
     msi_free( keyPath );
     msi_free( valueName );
+    msi_free( deformatted );
 
     msiobj_release(&row->hdr);
 




More information about the wine-cvs mailing list