msi: Calculate file install states after evaluating component conditions, not before.

This commit is contained in:
Hans Leidekker 2010-11-11 10:45:20 +01:00 committed by Alexandre Julliard
parent fa9757bd73
commit 3faddc21b3
1 changed files with 4 additions and 5 deletions

View File

@ -2162,8 +2162,7 @@ static UINT set_file_install_states( MSIPACKAGE *package )
DWORD file_size; DWORD file_size;
LPWSTR p; LPWSTR p;
if (!comp) if (!comp->Enabled) continue;
continue;
if (file->IsCompressed) if (file->IsCompressed)
comp->ForceLocalState = TRUE; comp->ForceLocalState = TRUE;
@ -2264,9 +2263,6 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
ACTION_GetComponentInstallStates(package); ACTION_GetComponentInstallStates(package);
ACTION_GetFeatureInstallStates(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 ) )) if (!process_overrides( package, msi_get_property_int( package->db, szlevel, 1 ) ))
{ {
TRACE("Evaluating feature conditions\n"); TRACE("Evaluating feature conditions\n");
@ -2291,6 +2287,9 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
comp->Enabled = TRUE; comp->Enabled = TRUE;
} }
TRACE("Calculating file install states\n");
set_file_install_states( package );
msi_set_property( package->db, szCosting, szOne ); msi_set_property( package->db, szCosting, szOne );
/* set default run level if not set */ /* set default run level if not set */
level = msi_dup_property( package->db, szlevel ); level = msi_dup_property( package->db, szlevel );