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

Hans Leidekker hans at codeweavers.com
Fri Nov 12 09:18:08 CST 2010


---
 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)
             {
-- 
1.7.1






More information about the wine-patches mailing list