[pkg-wine-party] [SCM] Debian Wine packaging branch, wheezy, updated. wine-1.4-7-302-gb61b690
Alexandre Julliard
julliard at winehq.org
Sun Jun 17 20:04:10 UTC 2012
The following commit has been merged in the wheezy branch:
commit d595b6e1a9a9880140c72b2a866cf6d17c1301ec
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue Mar 13 12:51:26 2012 +0100
msi: Fix deleting services on installation.
Based on a patch by Berhard Loos.
(cherry picked from commit c98bf1b57b795e97161c8960e1964eafde1816ea)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 87fc906..16e2186 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -5913,28 +5913,25 @@ static UINT ITERATE_DeleteService( MSIRECORD *rec, LPVOID param )
MSIPACKAGE *package = param;
MSICOMPONENT *comp;
MSIRECORD *uirow;
- LPCWSTR component;
LPWSTR name = NULL, display_name = NULL;
DWORD event, len;
SC_HANDLE scm = NULL, service = NULL;
- event = MSI_RecordGetInteger( rec, 3 );
- if (!(event & msidbServiceControlEventDelete))
- return ERROR_SUCCESS;
-
- component = MSI_RecordGetString(rec, 6);
- comp = msi_get_loaded_component(package, component);
+ comp = msi_get_loaded_component( package, MSI_RecordGetString(rec, 6) );
if (!comp)
return ERROR_SUCCESS;
+ event = MSI_RecordGetInteger( rec, 3 );
+ deformat_string( package, MSI_RecordGetString(rec, 2), &name );
+
comp->Action = msi_get_component_action( package, comp );
- if (comp->Action != INSTALLSTATE_ABSENT)
+ if (!(comp->Action == INSTALLSTATE_LOCAL && (event & msidbServiceControlEventDelete)) &&
+ !(comp->Action == INSTALLSTATE_ABSENT && (event & msidbServiceControlEventUninstallDelete)))
{
- TRACE("component not scheduled for removal %s\n", debugstr_w(component));
+ TRACE("service %s not scheduled for removal\n", debugstr_w(name));
+ msi_free( name );
return ERROR_SUCCESS;
}
-
- deformat_string( package, MSI_RecordGetString(rec, 2), &name );
stop_service( name );
scm = OpenSCManagerW( NULL, NULL, SC_MANAGER_ALL_ACCESS );
--
Debian Wine packaging
More information about the pkg-wine-party
mailing list