Hans Leidekker : msi: Display the file identifier instead of the filename in the SelfRegModules and SelfUnregModules actions .

Alexandre Julliard julliard at winehq.org
Tue Mar 23 12:12:47 CDT 2010


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Mar 23 11:45:33 2010 +0100

msi: Display the file identifier instead of the filename in the SelfRegModules and SelfUnregModules actions.

---

 dlls/msi/action.c |   30 ++++++++++--------------------
 1 files changed, 10 insertions(+), 20 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 15730f0..db6c2cd 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -4152,21 +4152,16 @@ static UINT ITERATE_SelfRegModules(MSIRECORD *row, LPVOID param)
         CloseHandle(info.hProcess);
     }
 
-    msi_free(FullName);
-
-    /* the UI chunk */
     uirow = MSI_CreateRecord( 2 );
+    MSI_RecordSetStringW( uirow, 1, filename );
     uipath = strdupW( file->TargetPath );
-    p = strrchrW(uipath,'\\');
-    if (p)
-        p[0]=0;
-    MSI_RecordSetStringW( uirow, 1, &p[1] );
-    MSI_RecordSetStringW( uirow, 2, uipath);
-    ui_actiondata( package, szSelfRegModules, uirow);
+    if ((p = strrchrW( uipath,'\\' ))) *p = 0;
+    MSI_RecordSetStringW( uirow, 2, uipath );
+    ui_actiondata( package, szSelfRegModules, uirow );
     msiobj_release( &uirow->hdr );
-    msi_free( uipath );
-    /* FIXME: call ui_progress? */
 
+    msi_free( FullName );
+    msi_free( uipath );
     return ERROR_SUCCESS;
 }
 
@@ -4235,21 +4230,16 @@ static UINT ITERATE_SelfUnregModules( MSIRECORD *row, LPVOID param )
         CloseHandle( pi.hProcess );
     }
 
-    msi_free( cmdline );
-
     uirow = MSI_CreateRecord( 2 );
+    MSI_RecordSetStringW( uirow, 1, filename );
     uipath = strdupW( file->TargetPath );
-    if ((p = strrchrW( uipath, '\\' )))
-    {
-        *p = 0;
-        MSI_RecordSetStringW( uirow, 1, ++p );
-    }
+    if ((p = strrchrW( uipath,'\\' ))) *p = 0;
     MSI_RecordSetStringW( uirow, 2, uipath );
     ui_actiondata( package, szSelfUnregModules, uirow );
     msiobj_release( &uirow->hdr );
-    msi_free( uipath );
-    /* FIXME call ui_progress? */
 
+    msi_free( cmdline );
+    msi_free( uipath );
     return ERROR_SUCCESS;
 }
 




More information about the wine-cvs mailing list