diff --git a/setup/setuputils.class.inc.php b/setup/setuputils.class.inc.php index cb2863f783..f26dd9db4f 100644 --- a/setup/setuputils.class.inc.php +++ b/setup/setuputils.class.inc.php @@ -1661,11 +1661,14 @@ JS $aAvailableModules = $oProductionEnv->AnalyzeInstallation($oConfig, $aDirsToScan, $bAbortOnMissingDependency, $aModulesToLoad); - foreach ($aAvailableModules as $key => $aModule) { - $bIsExtra = (array_key_exists('root_dir', $aModule) && (strpos($aModule['root_dir'], $sExtraDir) !== false)); // Some modules (root, datamodel) have no 'root_dir' - if ($bIsExtra) { - // Modules in data/production-modules/ are considered as mandatory and always installed - $aAvailableModules[$key]['visible'] = false; + $bRemoteExtensionsShouldBeMandatory = !$oWizard->GetParameter('force-uninstall', false); + if ($bRemoteExtensionsShouldBeMandatory) { + foreach ($aAvailableModules as $key => $aModule) { + $bIsExtra = (array_key_exists('root_dir', $aModule) && (strpos($aModule['root_dir'], $sExtraDir) !== false)); // Some modules (root, datamodel) have no 'root_dir' + if ($bIsExtra) { + // Modules in data/production-modules/ are considered as mandatory and always installed + $aAvailableModules[$key]['visible'] = false; + } } }