Hans Leidekker : msi: Support rollback of failed uninstalls.
Alexandre Julliard
julliard at winehq.org
Wed May 25 11:28:18 CDT 2011
Module: wine
Branch: master
Commit: ee804123304af9c6b64be76489e7964c2bc5277e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ee804123304af9c6b64be76489e7964c2bc5277e
Author: Hans Leidekker <hans at codeweavers.com>
Date: Wed May 25 10:40:36 2011 +0200
msi: Support rollback of failed uninstalls.
---
dlls/msi/action.c | 50 +++++++++++++++++++++++++-------------------------
1 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index f38607f..86a8c99 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -7159,7 +7159,7 @@ StandardActions[] =
{ szCostInitialize, ACTION_CostInitialize, NULL },
{ szCreateFolders, ACTION_CreateFolders, szRemoveFolders },
{ szCreateShortcuts, ACTION_CreateShortcuts, szRemoveShortcuts },
- { szDeleteServices, ACTION_DeleteServices, NULL },
+ { szDeleteServices, ACTION_DeleteServices, szInstallServices },
{ szDisableRollback, ACTION_DisableRollback, NULL },
{ szDuplicateFiles, ACTION_DuplicateFiles, szRemoveDuplicateFiles },
{ szExecuteAction, ACTION_ExecuteAction, NULL },
@@ -7169,9 +7169,11 @@ StandardActions[] =
{ szInstallAdminPackage, ACTION_InstallAdminPackage, NULL },
{ szInstallExecute, ACTION_InstallExecute, NULL },
{ szInstallExecuteAgain, ACTION_InstallExecute, NULL },
- { szInstallFiles, ACTION_InstallFiles, NULL },
+ { szInstallFiles, ACTION_InstallFiles, szRemoveFiles },
{ szInstallFinalize, ACTION_InstallFinalize, NULL },
{ szInstallInitialize, ACTION_InstallInitialize, NULL },
+ { szInstallODBC, ACTION_InstallODBC, szRemoveODBC },
+ { szInstallServices, ACTION_InstallServices, szDeleteServices },
{ szInstallSFPCatalogFile, ACTION_InstallSFPCatalogFile, NULL },
{ szInstallValidate, ACTION_InstallValidate, NULL },
{ szIsolateComponents, ACTION_IsolateComponents, NULL },
@@ -7179,11 +7181,9 @@ StandardActions[] =
{ szMigrateFeatureStates, ACTION_MigrateFeatureStates, NULL },
{ szMoveFiles, ACTION_MoveFiles, NULL },
{ szMsiPublishAssemblies, ACTION_MsiPublishAssemblies, szMsiUnpublishAssemblies },
- { szMsiUnpublishAssemblies, ACTION_MsiUnpublishAssemblies, NULL },
- { szInstallODBC, ACTION_InstallODBC, szRemoveODBC },
- { szInstallServices, ACTION_InstallServices, szDeleteServices },
+ { szMsiUnpublishAssemblies, ACTION_MsiUnpublishAssemblies, szMsiPublishAssemblies },
{ szPatchFiles, ACTION_PatchFiles, NULL },
- { szProcessComponents, ACTION_ProcessComponents, NULL },
+ { szProcessComponents, ACTION_ProcessComponents, szProcessComponents },
{ szPublishComponents, ACTION_PublishComponents, szUnpublishComponents },
{ szPublishFeatures, ACTION_PublishFeatures, szUnpublishFeatures },
{ szPublishProduct, ACTION_PublishProduct, NULL },
@@ -7196,32 +7196,32 @@ StandardActions[] =
{ szRegisterProgIdInfo, ACTION_RegisterProgIdInfo, szUnregisterProgIdInfo },
{ szRegisterTypeLibraries, ACTION_RegisterTypeLibraries, szUnregisterTypeLibraries },
{ szRegisterUser, ACTION_RegisterUser, NULL },
- { szRemoveDuplicateFiles, ACTION_RemoveDuplicateFiles, NULL },
- { szRemoveEnvironmentStrings, ACTION_RemoveEnvironmentStrings, NULL },
+ { szRemoveDuplicateFiles, ACTION_RemoveDuplicateFiles, szDuplicateFiles },
+ { szRemoveEnvironmentStrings, ACTION_RemoveEnvironmentStrings, szWriteEnvironmentStrings },
{ szRemoveExistingProducts, ACTION_RemoveExistingProducts, NULL },
- { szRemoveFiles, ACTION_RemoveFiles, NULL },
- { szRemoveFolders, ACTION_RemoveFolders, NULL },
- { szRemoveIniValues, ACTION_RemoveIniValues, NULL },
- { szRemoveODBC, ACTION_RemoveODBC, NULL },
- { szRemoveRegistryValues, ACTION_RemoveRegistryValues, NULL },
- { szRemoveShortcuts, ACTION_RemoveShortcuts, NULL },
+ { szRemoveFiles, ACTION_RemoveFiles, szInstallFiles },
+ { szRemoveFolders, ACTION_RemoveFolders, szCreateFolders },
+ { szRemoveIniValues, ACTION_RemoveIniValues, szWriteIniValues },
+ { szRemoveODBC, ACTION_RemoveODBC, szInstallODBC },
+ { szRemoveRegistryValues, ACTION_RemoveRegistryValues, szWriteRegistryValues },
+ { szRemoveShortcuts, ACTION_RemoveShortcuts, szCreateShortcuts },
{ szResolveSource, ACTION_ResolveSource, NULL },
{ szRMCCPSearch, ACTION_RMCCPSearch, NULL },
{ szScheduleReboot, ACTION_ScheduleReboot, NULL },
{ szSelfRegModules, ACTION_SelfRegModules, szSelfUnregModules },
- { szSelfUnregModules, ACTION_SelfUnregModules, NULL },
+ { szSelfUnregModules, ACTION_SelfUnregModules, szSelfUnregModules },
{ szSetODBCFolders, ACTION_SetODBCFolders, NULL },
{ szStartServices, ACTION_StartServices, szStopServices },
- { szStopServices, ACTION_StopServices, NULL },
- { szUnpublishComponents, ACTION_UnpublishComponents, NULL },
- { szUnpublishFeatures, ACTION_UnpublishFeatures, NULL },
- { szUnregisterClassInfo, ACTION_UnregisterClassInfo, NULL },
- { szUnregisterComPlus, ACTION_UnregisterComPlus, NULL },
- { szUnregisterExtensionInfo, ACTION_UnregisterExtensionInfo, NULL },
- { szUnregisterFonts, ACTION_UnregisterFonts, NULL },
- { szUnregisterMIMEInfo, ACTION_UnregisterMIMEInfo, NULL },
- { szUnregisterProgIdInfo, ACTION_UnregisterProgIdInfo, NULL },
- { szUnregisterTypeLibraries, ACTION_UnregisterTypeLibraries, NULL },
+ { szStopServices, ACTION_StopServices, szStartServices },
+ { szUnpublishComponents, ACTION_UnpublishComponents, szPublishComponents },
+ { szUnpublishFeatures, ACTION_UnpublishFeatures, szPublishFeatures },
+ { szUnregisterClassInfo, ACTION_UnregisterClassInfo, szRegisterClassInfo },
+ { szUnregisterComPlus, ACTION_UnregisterComPlus, szRegisterComPlus },
+ { szUnregisterExtensionInfo, ACTION_UnregisterExtensionInfo, szRegisterExtensionInfo },
+ { szUnregisterFonts, ACTION_UnregisterFonts, szRegisterFonts },
+ { szUnregisterMIMEInfo, ACTION_UnregisterMIMEInfo, szRegisterMIMEInfo },
+ { szUnregisterProgIdInfo, ACTION_UnregisterProgIdInfo, szRegisterProgIdInfo },
+ { szUnregisterTypeLibraries, ACTION_UnregisterTypeLibraries, szRegisterTypeLibraries },
{ szValidateProductID, ACTION_ValidateProductID, NULL },
{ szWriteEnvironmentStrings, ACTION_WriteEnvironmentStrings, szRemoveEnvironmentStrings },
{ szWriteIniValues, ACTION_WriteIniValues, szRemoveIniValues },
More information about the wine-cvs
mailing list