[4/5] msi: Calculate file install states after evaluating component conditions, not before.
Hans Leidekker
hans at codeweavers.com
Thu Nov 11 03:45:20 CST 2010
---
dlls/msi/action.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 06bbc45..e8ad30b 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -2162,8 +2162,7 @@ static UINT set_file_install_states( MSIPACKAGE *package )
DWORD file_size;
LPWSTR p;
- if (!comp)
- continue;
+ if (!comp->Enabled) continue;
if (file->IsCompressed)
comp->ForceLocalState = TRUE;
@@ -2264,9 +2263,6 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
ACTION_GetComponentInstallStates(package);
ACTION_GetFeatureInstallStates(package);
- TRACE("Calculating file install states\n");
- set_file_install_states( package );
-
if (!process_overrides( package, msi_get_property_int( package->db, szlevel, 1 ) ))
{
TRACE("Evaluating feature conditions\n");
@@ -2291,6 +2287,9 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
comp->Enabled = TRUE;
}
+ TRACE("Calculating file install states\n");
+ set_file_install_states( package );
+
msi_set_property( package->db, szCosting, szOne );
/* set default run level if not set */
level = msi_dup_property( package->db, szlevel );
--
1.7.1
More information about the wine-patches
mailing list