Hans Leidekker : msi: Calculate file install states after evaluating component conditions, not before.
Alexandre Julliard
julliard at winehq.org
Thu Nov 11 12:05:48 CST 2010
Module: wine
Branch: master
Commit: 3faddc21b3beb429a5d82848868c1585a9500f37
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3faddc21b3beb429a5d82848868c1585a9500f37
Author: Hans Leidekker <hans at codeweavers.com>
Date: Thu Nov 11 10:45:20 2010 +0100
msi: Calculate file install states after evaluating component conditions, not before.
---
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 );
More information about the wine-cvs
mailing list