Hans Leidekker : msi: Don't use a temporary directory for local assemblies.

Alexandre Julliard julliard at winehq.org
Fri Nov 12 11:22:44 CST 2010


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Nov 12 16:18:08 2010 +0100

msi: Don't use a temporary directory for local assemblies.

---

 dlls/msi/action.c |    2 +-
 dlls/msi/files.c  |   10 ++++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 6292f4f..5328193 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -2170,7 +2170,7 @@ static void set_target_path( MSIPACKAGE *package, MSIFILE *file )
     TRACE("file %s is named %s\n", debugstr_w(file->File), debugstr_w(file->FileName));
 
     msi_free( file->TargetPath );
-    if (assembly)
+    if (assembly && !assembly->application)
     {
         if (!assembly->tempdir) assembly->tempdir = get_temp_dir();
         file->TargetPath = build_directory_name( 2, assembly->tempdir, file->FileName );
diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index b3a6176..4dcf5bd 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -186,9 +186,10 @@ static BOOL installfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
             return FALSE;
 
         msi_file_update_ui(package, f, szInstallFiles);
-        if (!f->Component->assembly)
+        if (!f->Component->assembly || f->Component->assembly->application)
+        {
             msi_create_directory(package, f->Component->Directory);
-
+        }
         *path = strdupW(f->TargetPath);
         *attrs = f->Attributes;
     }
@@ -268,9 +269,10 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
             TRACE("copying %s to %s\n", debugstr_w(source), debugstr_w(file->TargetPath));
 
             msi_file_update_ui(package, file, szInstallFiles);
-            if (!file->Component->assembly)
+            if (!file->Component->assembly || file->Component->assembly->application)
+            {
                 msi_create_directory(package, file->Component->Directory);
-
+            }
             rc = copy_install_file(package, file, source);
             if (rc != ERROR_SUCCESS)
             {




More information about the wine-cvs mailing list