Implement undo RemovePerUserStorageDirectories 41/277541/1
authorIlho Kim <ilho159.kim@samsung.com>
Tue, 5 Jul 2022 12:37:53 +0000 (21:37 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Thu, 7 Jul 2022 04:58:48 +0000 (13:58 +0900)
If the uninstallation is failed after this step,
there is a problem that the user directory remains erased
so recreate the user directories removed by this step

Change-Id: Ib776b43fd7d9e313c1bb1d3251a9a89cce6e27f8
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
src/hybrid/hybrid_installer.cc
src/wgt/wgt_installer.cc

index 37ac600..fd9b5a8 100644 (file)
@@ -8,6 +8,7 @@
 #include <common/step/configuration/step_fail.h>
 #include <common/step/filesystem/step_create_storage_directories.h>
 #include <common/step/filesystem/step_delta_patch.h>
+#include <common/step/filesystem/step_remove_per_user_storage_directories.h>
 #include <common/step/security/step_privilege_compatibility.h>
 #include <common/step/security/step_recover_privilege_compatibility.h>
 
@@ -124,6 +125,9 @@ void HybridInstaller::UpdateSteps() {
 
 void HybridInstaller::UninstallSteps() {
   AppInstaller::UninstallSteps();
+  ReplaceStep<ci::filesystem::StepRemovePerUserStorageDirectories>(
+      "RemovePerUserStorageDirectories",
+      wgt::filesystem::HybridAdditionalSharedDirs);
   AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
       "RemovePerUserStorageDirectories");
 }
@@ -348,6 +352,9 @@ void HybridInstaller::ManifestPartialUpdateSteps() {
 
 void HybridInstaller::PartialUninstallSteps() {
   AppInstaller::PartialUninstallSteps();
+  ReplaceStep<ci::filesystem::StepRemovePerUserStorageDirectories>(
+      "RemovePerUserStorageDirectories",
+      wgt::filesystem::HybridAdditionalSharedDirs);
   AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
       "RemovePerUserStorageDirectories");
 }
index 5b023ae..30997b7 100644 (file)
@@ -10,6 +10,7 @@
 #include <common/step/filesystem/step_create_icons.h>
 #include <common/step/filesystem/step_create_storage_directories.h>
 #include <common/step/filesystem/step_delta_patch.h>
+#include <common/step/filesystem/step_remove_per_user_storage_directories.h>
 #include <common/step/security/step_privilege_compatibility.h>
 #include <common/step/security/step_recover_privilege_compatibility.h>
 
@@ -115,6 +116,9 @@ void WgtInstaller::UpdateSteps() {
 
 void WgtInstaller::UninstallSteps() {
   AppInstaller::UninstallSteps();
+  ReplaceStep<ci::filesystem::StepRemovePerUserStorageDirectories>(
+      "RemovePerUserStorageDirectories",
+      wgt::filesystem::WgtAdditionalSharedDirs);
   AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
       "RemovePerUserStorageDirectories");
 }
@@ -354,6 +358,9 @@ void WgtInstaller::ManifestPartialUpdateSteps() {
 
 void WgtInstaller::PartialUninstallSteps() {
   AppInstaller::PartialUninstallSteps();
+  ReplaceStep<ci::filesystem::StepRemovePerUserStorageDirectories>(
+      "RemovePerUserStorageDirectories",
+      wgt::filesystem::WgtAdditionalSharedDirs);
   AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
       "RemovePerUserStorageDirectories");
 }