Module: wine Branch: master Commit: 39b7ce6b823a163be2fbd5c3044ff31cd669ffa7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=39b7ce6b823a163be2fbd5c304...
Author: Hans Leidekker hans@codeweavers.com Date: Wed May 25 10:39:11 2011 +0200
msi: Fix the assembly actions to revert components to the installed state during rollback.
---
dlls/msi/assembly.c | 28 ++++++---------------------- 1 files changed, 6 insertions(+), 22 deletions(-)
diff --git a/dlls/msi/assembly.c b/dlls/msi/assembly.c index 2beb005..806f89e 100644 --- a/dlls/msi/assembly.c +++ b/dlls/msi/assembly.c @@ -559,20 +559,12 @@ UINT ACTION_MsiPublishAssemblies( MSIPACKAGE *package )
if (!assembly || !comp->ComponentId) continue;
- if (!comp->Enabled) + comp->Action = msi_get_component_action( package, comp ); + if (comp->Action != INSTALLSTATE_LOCAL) { - TRACE("component is disabled: %s\n", debugstr_w(comp->Component)); + TRACE("component not scheduled for installation %s\n", debugstr_w(comp->Component)); continue; } - - if (comp->ActionRequest != INSTALLSTATE_LOCAL) - { - TRACE("Component not scheduled for installation: %s\n", debugstr_w(comp->Component)); - comp->Action = comp->Installed; - continue; - } - comp->Action = INSTALLSTATE_LOCAL; - TRACE("publishing %s\n", debugstr_w(comp->Component));
CLSIDFromString( package->ProductCode, &guid ); @@ -628,20 +620,12 @@ UINT ACTION_MsiUnpublishAssemblies( MSIPACKAGE *package )
if (!assembly || !comp->ComponentId) continue;
- if (!comp->Enabled) + comp->Action = msi_get_component_action( package, comp ); + if (comp->Action != INSTALLSTATE_ABSENT) { - TRACE("component is disabled: %s\n", debugstr_w(comp->Component)); + TRACE("component not scheduled for removal %s\n", debugstr_w(comp->Component)); continue; } - - if (comp->ActionRequest != INSTALLSTATE_ABSENT) - { - TRACE("Component not scheduled for removal: %s\n", debugstr_w(comp->Component)); - comp->Action = comp->Installed; - continue; - } - comp->Action = INSTALLSTATE_ABSENT; - TRACE("unpublishing %s\n", debugstr_w(comp->Component));
win32 = assembly->attributes & msidbAssemblyAttributesWin32;