James Hawkins : msi: Set the install state to INSTALLSTATE_LOCAL for components with compressed files .

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jul 31 15:01:24 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 98d148641046bba33845b11178b76be121ae2b0f
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=98d148641046bba33845b11178b76be121ae2b0f

Author: James Hawkins <truiken at gmail.com>
Date:   Mon Jul 31 11:15:52 2006 -0700

msi: Set the install state to INSTALLSTATE_LOCAL for components with compressed files.

---

 dlls/msi/action.c        |    6 ++++++
 dlls/msi/tests/package.c |    5 +----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index ccdb3c4..37513e0 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -1323,6 +1323,12 @@ static UINT load_file(MSIRECORD *row, LP
 
     file->state = msifs_invalid;
 
+    if (file->Attributes & msidbFileAttributesCompressed)
+    {
+        file->Component->Action = INSTALLSTATE_LOCAL;
+        file->Component->ActionRequest = INSTALLSTATE_LOCAL;
+    }
+
     TRACE("File Loaded (%s)\n",debugstr_w(file->File));  
 
     list_add_tail( &package->files, &file->entry );
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index 9057a9b..ecc333d 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -1744,10 +1744,7 @@ static void test_states(void)
     r = MsiGetComponentState(hpkg, "eta", &state, &action);
     ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r );
     ok( state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
-    todo_wine
-    {
-        ok( action == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", action);
-    }
+    ok( action == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", action);
     
     MsiCloseHandle( hpkg );
 }




More information about the wine-cvs mailing list