bf::path new_path = bf::path(getUserManifestPath(context_->uid.get()))
/ bf::path(context_->pkgid.get());
new_path += ".xml";
+ if (!bf::exists(new_path.parent_path())) {
+ bs::error_code error;
+ bf::create_directories(new_path.parent_path(), error);
+ }
+
if (xmlSaveFile(new_path.string().c_str(), doc) == -1) {
LOG(ERROR) << "Failed to write xml file";
return Step::Status::MANIFEST_ERROR;
void RemoveAllRecoveryFiles() {
bf::path root_path = ci::GetRootAppPath();
+ if (!bf::exists(root_path))
+ return;
for (auto& dir_entry : boost::make_iterator_range(
bf::directory_iterator(root_path), bf::directory_iterator())) {
if (bf::is_regular_file(dir_entry)) {
ci::AppInstaller::Result Recover(const bf::path& recovery_file,
RequestResult mode = RequestResult::NORMAL) {
- const char* argv[] = {"", "-e", recovery_file.c_str()};
+ const char* argv[] = {"", "-b", recovery_file.c_str()};
std::unique_ptr<ci::AppQueryInterface> query_interface =
CreateQueryInterface();
auto pkgmgr =