James Hawkins : msi:
Set the install state to INSTALLSTATE_LOCAL for features with
compressed files .
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Aug 2 06:48:39 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 7edea0cc6868505252c65cbf0846b2f577660e51
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=7edea0cc6868505252c65cbf0846b2f577660e51
Author: James Hawkins <truiken at gmail.com>
Date: Tue Aug 1 10:14:15 2006 -0700
msi: Set the install state to INSTALLSTATE_LOCAL for features with compressed files.
---
dlls/msi/action.c | 7 +++++++
dlls/msi/action.h | 1 +
dlls/msi/tests/package.c | 5 +----
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 65cfa77..cce2a59 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -1328,6 +1328,7 @@ static UINT load_file(MSIRECORD *row, LP
if (file->Attributes & msidbFileAttributesCompressed)
{
+ file->Component->ForceLocalState = TRUE;
file->Component->Action = INSTALLSTATE_LOCAL;
file->Component->ActionRequest = INSTALLSTATE_LOCAL;
}
@@ -1755,6 +1756,12 @@ UINT MSI_SetFeatureStates(MSIPACKAGE *pa
}
}
}
+
+ if (component->ForceLocalState)
+ {
+ feature->Action = INSTALLSTATE_LOCAL;
+ feature->ActionRequest = INSTALLSTATE_LOCAL;
+ }
}
}
diff --git a/dlls/msi/action.h b/dlls/msi/action.h
index 8edfbb0..93d28c6 100644
--- a/dlls/msi/action.h
+++ b/dlls/msi/action.h
@@ -59,6 +59,7 @@ typedef struct tagMSICOMPONENT
INSTALLSTATE ActionRequest;
INSTALLSTATE Action;
+ BOOL ForceLocalState;
BOOL Enabled;
INT Cost;
INT RefCount;
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index 62920fa..3f0299e 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -1683,10 +1683,7 @@ static void test_states(void)
r = MsiGetFeatureState(hpkg, "three", &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);
state = 0xdeadbee;
action = 0xdeadbee;
More information about the wine-cvs
mailing list