public function install(bool $reinstall)
    {
        if (empty($this->sourceSrcPath)) {
            $this->loadInfos();
        }
        
        $this->forceReinstall = $reinstall;
        
        \BFW\Application::getInstance()
            ->getMonolog()
            ->getLogger()
            ->debug(
                'Installing module.',
                ['name' => $this->name]
            );
        
        $this->displayMsgNLInCli($this->name.' : Run install.');
        
        try {
            $this->createSymbolicLink();
            $this->copyConfigFiles();
            $this->checkInstallScript();
        } catch (Exception $e) {
            trigger_error(
                'Module '.$this->name.' install error : '.$e->getMessage(),
                E_USER_WARNING
            );
        
            \BFW\Application::getInstance()
                ->getMonolog()
                ->getLogger()
                ->debug(
                    'Module installation failed.',
                    ['name' => $this->name]
                );
        }
    }