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

msi: Fix the font actions to revert components to the installed state during rollback.

parent fe2b4b1d
...@@ -207,6 +207,7 @@ static UINT ITERATE_RegisterFonts(MSIRECORD *row, LPVOID param) ...@@ -207,6 +207,7 @@ static UINT ITERATE_RegisterFonts(MSIRECORD *row, LPVOID param)
LPWSTR name; LPWSTR name;
LPCWSTR filename; LPCWSTR filename;
MSIFILE *file; MSIFILE *file;
MSICOMPONENT *comp;
HKEY hkey1, hkey2; HKEY hkey1, hkey2;
MSIRECORD *uirow; MSIRECORD *uirow;
LPWSTR uipath, p; LPWSTR uipath, p;
...@@ -215,19 +216,19 @@ static UINT ITERATE_RegisterFonts(MSIRECORD *row, LPVOID param) ...@@ -215,19 +216,19 @@ static UINT ITERATE_RegisterFonts(MSIRECORD *row, LPVOID param)
file = msi_get_loaded_file( package, filename ); file = msi_get_loaded_file( package, filename );
if (!file) if (!file)
{ {
ERR("Unable to load file\n"); WARN("unable to find file %s\n", debugstr_w(file->File));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
comp = msi_get_loaded_component( package, file->Component->Component );
if (!file->Component->Enabled) if (!comp)
{ {
TRACE("component is disabled\n"); WARN("unable to find component %s\n", debugstr_w(comp->Component));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
comp->Action = msi_get_component_action( package, comp );
if (file->Component->ActionRequest != INSTALLSTATE_LOCAL) if (comp->Action != INSTALLSTATE_LOCAL)
{ {
TRACE("Component not scheduled for installation\n"); TRACE("component not scheduled for installation %s\n", debugstr_w(comp->Component));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
...@@ -291,6 +292,7 @@ static UINT ITERATE_UnregisterFonts( MSIRECORD *row, LPVOID param ) ...@@ -291,6 +292,7 @@ static UINT ITERATE_UnregisterFonts( MSIRECORD *row, LPVOID param )
LPWSTR name; LPWSTR name;
LPCWSTR filename; LPCWSTR filename;
MSIFILE *file; MSIFILE *file;
MSICOMPONENT *comp;
HKEY hkey1, hkey2; HKEY hkey1, hkey2;
MSIRECORD *uirow; MSIRECORD *uirow;
LPWSTR uipath, p; LPWSTR uipath, p;
...@@ -299,19 +301,19 @@ static UINT ITERATE_UnregisterFonts( MSIRECORD *row, LPVOID param ) ...@@ -299,19 +301,19 @@ static UINT ITERATE_UnregisterFonts( MSIRECORD *row, LPVOID param )
file = msi_get_loaded_file( package, filename ); file = msi_get_loaded_file( package, filename );
if (!file) if (!file)
{ {
ERR("Unable to load file\n"); WARN("unable to find file %s\n", debugstr_w(file->File));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
comp = msi_get_loaded_component( package, file->Component->Component );
if (!file->Component->Enabled) if (!comp)
{ {
TRACE("component is disabled\n"); WARN("unable to find component %s\n", debugstr_w(comp->Component));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
comp->Action = msi_get_component_action( package, comp );
if (file->Component->ActionRequest != INSTALLSTATE_ABSENT) if (comp->Action != INSTALLSTATE_ABSENT)
{ {
TRACE("Component not scheduled for removal\n"); TRACE("component not scheduled for removal %s\n", debugstr_w(comp->Component));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
......
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