public function isAppInstalled($configKey = null, $createMarkerFile = true) {
		$pathMarkerFileIsInstalled = $this->getPathMarkerFileIsInstalled();
		if ($this->_checkMarkerFile($pathMarkerFileIsInstalled)) {
			return true;
		}

		$installTasks = $this->_modelConfigInstaller->getListInstallerTasks();
		if (empty($installTasks)) {
			return false;
		}

		if (in_array('check', $installTasks) && ($this->checkPhpVersion() === false)) {
			return false;
		}

		if (in_array('check', $installTasks) && ($this->checkPhpExtensions(true) === false)) {
			return false;
		}

		if (in_array('configdb', $installTasks) && ($this->checkConnectDb(null, true) === false)) {
			return false;
		}

		if (in_array('createdb', $installTasks) && !$this->checkDbTableExists()) {
			return false;
		}

		if (in_array('createsymlinks', $installTasks) && !$this->checkSymLinksExists()) {
			return false;
		}

		if (in_array('createcronjobs', $installTasks) && !$this->checkCronJobsExists()) {
			return false;
		}

		if (!empty($configKey) && !Configure::check($configKey)) {
			return false;
		}

		if (!$createMarkerFile) {
			return true;
		}

		return $this->_createMarkerFile($pathMarkerFileIsInstalled);
	}