Classes/Console/Extension/ExtensionSetup.php
public function setupExtensions(array $packages)
    {
        foreach ($packages as $package) {
            $this->extensionFactory->getExtensionStructure($package)->fix();
            $this->callInstaller('importInitialFiles', [PathUtility::stripPathSitePrefix($package->getPackagePath()), $package->getPackageKey()]);
            $this->extensionConfiguration->saveDefaultConfiguration($package->getPackageKey());
        }

        $this->schemaService->updateSchema(SchemaUpdateType::expandSchemaUpdateTypes(['safe']));

        foreach ($packages as $package) {
            $relativeExtensionPath = PathUtility::stripPathSitePrefix($package->getPackagePath());
            $extensionKey = $package->getPackageKey();
            $this->callInstaller('importStaticSqlFile', [$relativeExtensionPath]);
            $this->callInstaller('importT3DFile', [$relativeExtensionPath]);
            $this->callInstaller('emitAfterExtensionInstallSignal', [$extensionKey]);
        }
    }
public function setupExtensions(array $packages)
    {
        foreach ($packages as $package) {
            $this->extensionFactory->getExtensionStructure($package)->fix();
            $this->callInstaller('importInitialFiles', [PathUtility::stripPathSitePrefix($package->getPackagePath()), $package->getPackageKey()]);
            $this->extensionConfiguration->saveDefaultConfiguration($package->getPackageKey());
        }

        $this->schemaService->updateSchema(SchemaUpdateType::expandSchemaUpdateTypes(['safe']));

        foreach ($packages as $package) {
            $relativeExtensionPath = PathUtility::stripPathSitePrefix($package->getPackagePath());
            $extensionKey = $package->getPackageKey();
            $this->callInstaller('importStaticSqlFile', [$relativeExtensionPath]);
            $this->callInstaller('importT3DFile', [$relativeExtensionPath]);
            $this->callInstaller('emitAfterExtensionInstallSignal', [$extensionKey]);
        }
    }
Performs all necessary operations to integrate extensions into the system.
Instead of using buggy TYPO3 API, we created our own instead.
This might be removed, once the bug is fixed in TYPO3.

@param PackageInterface[] $packages