diff --git a/lib/private/installer.php b/lib/private/installer.php index d7b207c6aadef56eed4c47a6d5c2d127c88f1f0a..91a1df7e3c490c87f33fe16773c6d6bf324140b1 100644 --- a/lib/private/installer.php +++ b/lib/private/installer.php @@ -147,11 +147,18 @@ class OC_Installer{ } // check if the ocs version is the same as the version in info.xml/version - if(!isset($info['version']) or ($info['version']<>$data['appdata']['version'])) { + $versionFile= $extractDir.'/appinfo/version'; + if(is_file($versionFile)) { + $version = trim(file_get_contents($versionFile)); + }else{ + $version = trim($info['version']); + } + + if($version<>trim($data['appdata']['version'])) { OC_Helper::rmdirr($extractDir); throw new \Exception($l->t("App can't be installed because the version in info.xml/version is not the same as the version reported from the app store")); } - + $basedir=OC_App::getInstallPath().'/'.$info['id']; //check if the destination directory already exists if(is_dir($basedir)) {