protected function setupUninstall()
{
$manifestFile = JPATH_MANIFESTS . '/packages/' . $this->extension->element . '.xml';
$manifest = new PackageManifest($manifestFile);
$this->parent->setPath('extension_root', JPATH_MANIFESTS . '/packages/' . $manifest->packagename);
$this->parent->setPath('source', $this->parent->getPath('extension_root'));
if (!file_exists($manifestFile)) {
throw new \RuntimeException(Text::_('JLIB_INSTALLER_ERROR_PACK_UNINSTALL_MISSINGMANIFEST'));
}
$xml = simplexml_load_file($manifestFile);
if (!$xml) {
throw new \RuntimeException(Text::_('JLIB_INSTALLER_ERROR_PACK_UNINSTALL_LOAD_MANIFEST'));
}
if ($xml->getName() !== 'extension') {
throw new \RuntimeException(Text::_('JLIB_INSTALLER_ERROR_PACK_UNINSTALL_INVALID_MANIFEST'));
}
$this->setManifest($xml);
$this->loadLanguage(JPATH_SITE);
}