diff --git a/setup/extensionsmap.class.inc.php b/setup/extensionsmap.class.inc.php index 9b145ffd6..89d169499 100644 --- a/setup/extensionsmap.class.inc.php +++ b/setup/extensionsmap.class.inc.php @@ -577,7 +577,7 @@ class iTopExtensionsMap $aChoices = []; foreach ($aDBInfo as $aExtensionInfo) { - $aChoices[] = $aExtensionInfo['label']; + $aChoices[] = $aExtensionInfo['code']; } return $aChoices; diff --git a/setup/feature_removal/DryRemovalRuntimeEnvironment.php b/setup/feature_removal/DryRemovalRuntimeEnvironment.php index 22a7286e1..25b28fc52 100644 --- a/setup/feature_removal/DryRemovalRuntimeEnvironment.php +++ b/setup/feature_removal/DryRemovalRuntimeEnvironment.php @@ -57,7 +57,12 @@ class DryRemovalRuntimeEnvironment extends RunTimeEnvironment $aModulesToLoad = $this->GetModulesToLoad($sSourceEnv, $aSearchDirs); - ModuleDiscovery::GetModulesOrderedByDependencies($aSearchDirs, true, $aModulesToLoad); + try { + ModuleDiscovery::GetModulesOrderedByDependencies($aSearchDirs, true, $aModulesToLoad); + } catch (\MissingDependencyException $e) { + \IssueLog::Error("Cannot prepare setup due to dependency issue", null, ['msg' => $e->getMessage(), 'modules_to_load' => $aModulesToLoad]); + throw $e; + } } private function DeclareExtensionAsRemoved(array $aExtensionCodes): void