Hans Leidekker : msi: Fix the assembly actions to revert components to the installed state during rollback .
Alexandre Julliard
julliard at winehq.org
Wed May 25 11:28:16 CDT 2011
Module: wine
Branch: master
Commit: 39b7ce6b823a163be2fbd5c3044ff31cd669ffa7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=39b7ce6b823a163be2fbd5c3044ff31cd669ffa7
Author: Hans Leidekker <hans at 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;
More information about the wine-cvs
mailing list