msi: Don't attempt to patch files if the component action resolves to anything other than INSTALLSTATE_LOCAL.

This commit is contained in:
Hans Leidekker 2011-10-11 11:02:41 +02:00 committed by Alexandre Julliard
parent 9711cdbcab
commit cda63b8a38
1 changed files with 3 additions and 1 deletions

View File

@ -497,6 +497,7 @@ UINT ACTION_PatchFiles( MSIPACKAGE *package )
LIST_FOR_EACH_ENTRY( patch, &package->filepatches, MSIFILEPATCH, entry ) LIST_FOR_EACH_ENTRY( patch, &package->filepatches, MSIFILEPATCH, entry )
{ {
MSIFILE *file = patch->File; MSIFILE *file = patch->File;
MSICOMPONENT *comp = file->Component;
rc = msi_load_media_info( package, patch->Sequence, mi ); rc = msi_load_media_info( package, patch->Sequence, mi );
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
@ -504,7 +505,8 @@ UINT ACTION_PatchFiles( MSIPACKAGE *package )
ERR("Unable to load media info for %s (%u)\n", debugstr_w(file->File), rc); ERR("Unable to load media info for %s (%u)\n", debugstr_w(file->File), rc);
return ERROR_FUNCTION_FAILED; return ERROR_FUNCTION_FAILED;
} }
if (!file->Component->Enabled) continue; comp->Action = msi_get_component_action( package, comp );
if (!comp->Enabled || comp->Action != INSTALLSTATE_LOCAL) continue;
if (!patch->IsApplied) if (!patch->IsApplied)
{ {