Commit c66f9bef authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

msi: Check file state before installing global assemblies.

parent 19e51936
...@@ -340,7 +340,6 @@ WCHAR *msi_resolve_file_source( MSIPACKAGE *package, MSIFILE *file ) ...@@ -340,7 +340,6 @@ WCHAR *msi_resolve_file_source( MSIPACKAGE *package, MSIFILE *file )
UINT ACTION_InstallFiles(MSIPACKAGE *package) UINT ACTION_InstallFiles(MSIPACKAGE *package)
{ {
MSIMEDIAINFO *mi; MSIMEDIAINFO *mi;
MSICOMPONENT *comp;
UINT rc = ERROR_SUCCESS; UINT rc = ERROR_SUCCESS;
MSIFILE *file; MSIFILE *file;
...@@ -418,11 +417,13 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package) ...@@ -418,11 +417,13 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
goto done; goto done;
} }
} }
LIST_FOR_EACH_ENTRY( comp, &package->components, MSICOMPONENT, entry ) LIST_FOR_EACH_ENTRY( file, &package->files, MSIFILE, entry )
{
comp->Action = msi_get_component_action( package, comp );
if (comp->Action == INSTALLSTATE_LOCAL && comp->assembly && !comp->assembly->installed)
{ {
MSICOMPONENT *comp = file->Component;
if (!comp->assembly || (file->state != msifs_missing && file->state != msifs_overwrite))
continue;
rc = msi_install_assembly( package, comp ); rc = msi_install_assembly( package, comp );
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
...@@ -431,7 +432,6 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package) ...@@ -431,7 +432,6 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
break; break;
} }
} }
}
done: done:
msi_free_media_info(mi); msi_free_media_info(mi);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment