diff --git a/services/bundlemgr/src/base_bundle_installer.cpp b/services/bundlemgr/src/base_bundle_installer.cpp index bd8b141ba61a6a673dd7d66d33d77b90bebda862..83d883f45c4b6617f4210914acf7de041156b148 100644 --- a/services/bundlemgr/src/base_bundle_installer.cpp +++ b/services/bundlemgr/src/base_bundle_installer.cpp @@ -156,7 +156,6 @@ BaseBundleInstaller::BaseBundleInstaller() BaseBundleInstaller::~BaseBundleInstaller() { bundlePaths_.clear(); - BundleUtil::DeleteTempDirs(toDeleteTempHapPath_); toDeleteTempHapPath_.clear(); signatureFileTmpMap_.clear(); } @@ -1251,6 +1250,8 @@ ErrCode BaseBundleInstaller::ProcessBundleInstall(const std::vector ProcessQuickFixWhenInstallNewModule(installParam, newInfos); BundleResourceHelper::AddResourceInfoByBundleName(bundleName_, userId_); VerifyDomain(); + // the hap coyied to security dir neet to be deleted before sync + BundleUtil::DeleteTempDirs(toDeleteTempHapPath_); ForceWriteToDisk(); return result; }