protected function traceZip($archive, $tempPath)
    {
        if (!$archive = $this->extractZip($archive, $tempPath, true))
            return array(false, null);

        //Check module has requires file
        if (!$this->checkRequires($tempPath))
            return array(false, null);

        $moduleName = $this->def($tempPath, 'name', true);

        if ($this->moduleExists($moduleName))
            return array($this->update($tempPath, $moduleName), $moduleName);

        else
            return array($this->install($tempPath, $moduleName), $moduleName);
    }