protected function _runOnce()
    {
        $config = \OxidEsales\Eshop\Core\Registry::getConfig();

        //Ensures config values are available, database connection is established,
        //session is started, a possible SeoUrl is decoded, globals and environment variables are set.
        $config->init();

        error_reporting($this->_getErrorReportingLevel());

        $runOnceExecuted = \OxidEsales\Eshop\Core\Registry::getSession()->getVariable('blRunOnceExecuted');
        if (!$runOnceExecuted && !$this->isAdmin() && $config->isProductiveMode()) {
            // check if setup is still there
            if (file_exists($config->getConfigParam('sShopDir') . '/Setup/index.php')) {
                $tpl = 'message/err_setup.tpl';
                $activeView = oxNew(\OxidEsales\Eshop\Application\Controller\FrontendController::class);
                $smarty = \OxidEsales\Eshop\Core\Registry::getUtilsView()->getSmarty();
                $smarty->assign('oView', $activeView);
                $smarty->assign('oViewConf', $activeView->getViewConfig());
                \OxidEsales\Eshop\Core\Registry::getUtils()->showMessageAndExit($smarty->fetch($tpl));
            }

            \OxidEsales\Eshop\Core\Registry::getSession()->setVariable('blRunOnceExecuted', true);
        }
    }