Hans Leidekker : msi: Implement the DisableRollback standard action.
Alexandre Julliard
julliard at winehq.org
Fri May 20 12:44:32 CDT 2011
Module: wine
Branch: master
Commit: 9c9e0981b44791728ee205cdc4e2fd548c600850
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9c9e0981b44791728ee205cdc4e2fd548c600850
Author: Hans Leidekker <hans at codeweavers.com>
Date: Fri May 20 12:33:16 2011 +0200
msi: Implement the DisableRollback standard action.
---
dlls/msi/action.c | 12 ++++++++++--
dlls/msi/msipriv.h | 1 +
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index f41c921..2c38fb7 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -7719,7 +7719,9 @@ static UINT ACTION_AllocateRegistrySpace( MSIPACKAGE *package )
static UINT ACTION_DisableRollback( MSIPACKAGE *package )
{
- FIXME("%p\n", package);
+ TRACE("%p\n", package);
+
+ msi_set_property( package->db, szRollbackDisabled, szOne );
return ERROR_SUCCESS;
}
@@ -8146,7 +8148,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
{
UINT rc;
BOOL ui_exists;
-
+ static const WCHAR szDisableRollback[] = {'D','I','S','A','B','L','E','R','O','L','L','B','A','C','K',0};
static const WCHAR szAction[] = {'A','C','T','I','O','N',0};
static const WCHAR szInstall[] = {'I','N','S','T','A','L','L',0};
@@ -8210,6 +8212,12 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
msi_adjust_privilege_properties( package );
msi_set_context( package );
+ if (msi_get_property_int( package->db, szDisableRollback, 0 ))
+ {
+ TRACE("disabling rollback\n");
+ msi_set_property( package->db, szRollbackDisabled, szOne );
+ }
+
if (needs_ui_sequence( package))
{
package->script->InWhatSequence |= SEQUENCE_UI;
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 2cc7daf..733b316 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -1143,6 +1143,7 @@ static const WCHAR szStringPool[] = {'_','S','t','r','i','n','g','P','o','o','l'
static const WCHAR szInstallLevel[] = {'I','N','S','T','A','L','L','L','E','V','E','L',0};
static const WCHAR szCostInitialize[] = {'C','o','s','t','I','n','i','t','i','a','l','i','z','e',0};
static const WCHAR szAppDataFolder[] = {'A','p','p','D','a','t','a','F','o','l','d','e','r',0};
+static const WCHAR szRollbackDisabled[] = {'R','o','l','l','b','a','c','k','D','i','s','a','b','l','e','d',0};
/* memory allocation macro functions */
static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
More information about the wine-cvs
mailing list