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