James Hawkins : msi: OriginalDatabase is the fully-expanded path to the original package if the package is local and installed from the command line .

Alexandre Julliard julliard at winehq.org
Mon Jan 7 08:39:08 CST 2008


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

Author: James Hawkins <truiken at gmail.com>
Date:   Sat Jan  5 13:46:00 2008 -0700

msi: OriginalDatabase is the fully-expanded path to the original package if the package is local and installed from the command line.

---

 dlls/msi/package.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index d4d0262..a8d33e0 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -932,20 +932,18 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
     if( file != szPackage )
         track_tempfile( package, file );
 
+    MSI_SetPropertyW( package, Database, db->path );
+
     if( UrlIsW( szPackage, URLIS_URL ) )
-    {
-        MSI_SetPropertyW( package, OriginalDatabase, szPackage );
-        MSI_SetPropertyW( package, Database, db->path );
-    }
-    else if( szPackage[0] != '#' )
-    {
         MSI_SetPropertyW( package, OriginalDatabase, szPackage );
-        MSI_SetPropertyW( package, Database, szPackage );
-    }
+    else if( szPackage[0] == '#' )
+        MSI_SetPropertyW( package, OriginalDatabase, db->path );
     else
     {
-        MSI_SetPropertyW( package, OriginalDatabase, db->path );
-        MSI_SetPropertyW( package, Database, db->path );
+        WCHAR fullpath[MAX_PATH];
+
+        GetFullPathNameW( szPackage, MAX_PATH, fullpath, NULL );
+        MSI_SetPropertyW( package, OriginalDatabase, fullpath );
     }
 
     *pPackage = package;




More information about the wine-cvs mailing list