Support

Admin Tools

#39531 Warning The PLG_ACTIONLOG_ADMINTOOLS extension is part of a package which does not allow individual extensions to be uninstalled.

Posted in ‘Admin Tools for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
The currently installed Jooml
PHP version
8.1
Admin Tools version
7.4.1pro

Latest post by nicholas on Wednesday, 27 September 2023 15:10 CDT

[email protected]

I am sorry to bother you, been working on this for hours and can't figure it out.

Background:

Joomla is showing an update needed for Admin tools core but we only use the pro version. We use mysites.guru to keep everything updated. On your last update I installed the upgraded admintools pro version manually in all 28 of our sites that are showing this problem. That is about half the sites we have it installed on. We have had this problem for quite a few months.

The problem isn't at mysites.guru as the actual Joomla sites all show Admin tools core update needed. Even though the installed version is pro.

One of the things I have tried to solve this is to uninstall the current version of Admin tools and reinstall. But each time I do I get these two errors:

The PLG_ACTIONLOG_ADMINTOOLS extension is part of a package which does not allow individual extensions to be uninstalled.
The com_admintools extension is part of a package which does not allow individual extensions to be uninstalled.

I suspect that is the problem, can you tell me how to fix that?

 

More info if needed:

I have tried uninstalling Akeeba Backup Pro also then uninstalling Admin tools pro. But I still get that error.

I turned on debug and error reporting when doing the install. I didn't see any extra errors and am including the debug info below.

I checked the database for any mention of akeeba or admin tools after uninstalling Akeeba Backup pro and admin tools pro. I didn't see any references to it. But that didn't help when reinstalling Admin Tools pro.

 

Even more info if needed:

(I am testing with the older version 7.4.1pro, then checking the update button in Joomla)

I used a variety of measures to solve the wrong update showing on the backend. These worked for the first 4 I did but not on the one I am working on now.

We used to use Watchful for our updates. I uninstalled that when we switched to Mysites but Watchful left a folder in Plugins/System I didn't know about. I removed that in all the ones I have worked on so far.

I tried removing the Admin tools folder in plugins/system before uninstalling.

I cleared all caches and checkin and did a database update.

On some I removed and installed twice.

I changed the Extensions/Options Update caching to zero.

I left that setting at 6 hours, reinstalled Admin tools, put in the key, set it up. Then changed caching to zero and clicked the update button.

I have cleared the cache by deleting administrator/cache/autoload_psr4.php before and after reinstalling.

 

Thanks for any help you can give me.

Mike

 

J! InfoRequestSessionProfileQueries31 20MB394ms 31 statements were executed, 2 of which were duplicates, 29 unique16.37ms199.74KB UniquesDuplicates 1
  • SELECT @@SESSION.sql_mode;172μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `uqvd2_session` WHERE `session_id` = ?345μs1.63KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SHOW FULL COLUMNS FROM `uqvd2_users`1.1ms2.2KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `uqvd2_users` WHERE `id` = :userid294μs4.41KBParams/libraries/src/Table/User.php:104Copy
  • SELECT `g`.`id`,`g`.`title` FROM `uqvd2_usergroups` AS `g` INNER JOIN `uqvd2_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid362μs2.3KBParams/libraries/src/Table/User.php:132Copy
  • SELECT `session_id` FROM `uqvd2_session` WHERE `session_id` = :session_id LIMIT 1240μs1.63KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `uqvd2_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id325μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `uqvd2_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1536μs1.56KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `uqvd2_viewlevels`216μs2.2KB/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `uqvd2_user_usergroup_map` AS `map` LEFT JOIN `uqvd2_usergroups` AS `a` ON `a`.`id` = `map`.`group_id` LEFT JOIN `uqvd2_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `map`.`user_id` = :userId320μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `uqvd2_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4) ORDER BY `ordering`891μs3.84KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `uqvd2_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40)645μs7.75KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `s`.`template`,`s`.`params`,`s`.`inheritable`,`s`.`parent` FROM `uqvd2_template_styles` AS `s` LEFT JOIN `uqvd2_extensions` AS `e` ON `e`.`type` = 'template' AND `e`.`element` = `s`.`template` AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 1 AND `s`.`home` = '1' ORDER BY `s`.`home`507μs1KB/administrator/components/com_templates/src/Model/StyleModel.php:739Copy
  • SELECT *,2*protected+(1-protected)*enabled AS status FROM uqvd2_extensions WHERE state = 01.19ms119.8KB/administrator/components/com_installer/src/Model/InstallerModel.php:84Copy
  • SELECT * FROM uqvd2_wf_profiles WHERE published = 1 ORDER BY ordering ASC302μs2.25KB/components/com_jce/editor/libraries/classes/application.php:196Copy
  • SELECT * FROM uqvd2_wf_profiles WHERE published = 1 ORDER BY ordering ASC285μs2.25KB/components/com_jce/editor/libraries/classes/application.php:196Copy
  • SELECT `enabled` FROM `uqvd2_extensions` WHERE `type` = 'plugin' AND `folder` = 'system' AND `element` = 'languagefilter'370μs3.34KB/libraries/src/Language/Multilanguage.php:82Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM uqvd2_fields AS a LEFT JOIN `uqvd2_languages` AS l ON l.lang_code = a.language LEFT JOIN uqvd2_users AS uc ON uc.id=a.checked_out LEFT JOIN uqvd2_viewlevels AS ag ON ag.id = a.access LEFT JOIN uqvd2_users AS ua ON ua.id = a.created_user_id LEFT JOIN uqvd2_fields_groups AS g ON g.id = a.group_id WHERE (`a`.`context` = :context AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC1.68ms5.22KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT DISTINCT `type` FROM `uqvd2_extensions`301μs968B/administrator/components/com_installer/src/Helper/InstallerHelper.php:47Copy
  • SELECT DISTINCT `folder` FROM `uqvd2_extensions` WHERE `folder` != :folder ORDER BY `folder`545μs1.98KBParams/administrator/components/com_installer/src/Helper/InstallerHelper.php:76Copy
  • SELECT `extension_id`,`name`,`element` FROM `uqvd2_extensions` WHERE `type` = 'package'279μs1KB/administrator/components/com_installer/src/Helper/InstallerHelper.php:148Copy
  • SELECT `element`,`name`,`client_id`,`extension_id` FROM `uqvd2_extensions` WHERE `type` = 'language' AND `state` = 0 AND `enabled` = 1306μs1.03KB/libraries/src/Language/LanguageHelper.php:213Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `uqvd2_modules` AS `m` LEFT JOIN `uqvd2_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `uqvd2_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`820μs2.28KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT a.*,( SELECT COUNT(`s`.`id`) FROM `uqvd2_guidedtour_steps` AS `s` WHERE `s`.`tour_id` = `a`.`id` AND `s`.`published` = 1) AS `steps_count`,`uc`.`name` AS `editor`,`l`.`title` AS `language_title`,`l`.`image` AS `language_image`,`ag`.`title` AS `access_level` FROM `uqvd2_guidedtours` AS `a` LEFT JOIN `uqvd2_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` LEFT JOIN `uqvd2_languages` AS `l` ON `l`.`lang_code` = `a`.`language` LEFT JOIN `uqvd2_viewlevels` AS `ag` ON `ag`.`id` = `a`.`access` WHERE `a`.`published` = :published AND `a`.`access` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4) ORDER BY a.ordering ASC1.17ms4.88KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `language_extension`,`language_client_id`,`condition_file`,`condition_method` FROM `uqvd2_postinstall_messages` WHERE `enabled` = 1273μs1.03KB/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT * FROM `uqvd2_extensions` WHERE `element` = :element AND `type` = :type LIMIT 1368μs4.59KBParams/libraries/src/Extension/ExtensionHelper.php:480Copy
  • SELECT a.id, a.title, a.menutype, CASE COALESCE(SUM(m.home), 0) WHEN 0 THEN '' WHEN 1 THEN CASE m.language WHEN '*' THEN 'class:icon-home' ELSE CONCAT('image:', l.lang_code) END ELSE 'image:mod_languages/icon-16-language.png' END AS icon FROM uqvd2_menu_types AS a LEFT JOIN uqvd2_menu AS m ON m.menutype = a.menutype AND m.home = 1 LEFT JOIN uqvd2_languages AS l ON l.lang_code = m.language WHERE a.client_id = 0 GROUP BY a.id, a.title, a.menutype, m.language, l.lang_code ORDER BY a.id DESC547μs1.02KB/administrator/components/com_menus/src/Helper/MenusHelper.php:809Copy
  • SELECT title, menutype FROM uqvd2_menu_types WHERE client_id = 1 ORDER BY id DESC215μs912B/administrator/components/com_menus/src/Helper/MenusHelper.php:809Copy
  • SELECT `m`.*,`e`.`element` FROM `uqvd2_menu` AS `m` LEFT JOIN `uqvd2_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE (`m`.`menutype` = :menutype AND `m`.`client_id` = 1 AND `m`.`id` > 1) AND (`e`.`enabled` = 1 OR `e`.`enabled` IS NULL) ORDER BY `m`.`lft`926μs5.65KBParams/administrator/components/com_menus/src/Helper/MenusHelper.php:353Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `uqvd2_scheduler_tasks` AS `a` LEFT JOIN `uqvd2_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`next_execution` <= :now ORDER BY `a`.`title` asc415μs4.45KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `uqvd2_scheduler_tasks` AS `a` LEFT JOIN `uqvd2_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`locked` IS NOT NULL ORDER BY `a`.`title` asc

 

[email protected]

I didn't find a solution to the error but I did figure out how to get the correct version in extensions update to show.

The process for anyone else with this problem is:

ftp into plugins, remove watchful, then into system and remove any other tools you used before to move the admin location.
Extensions / Manage Update Sites delete Admin tools pro and core if both are there..
Remove admintools pro.
Reinstall twice, add key and settings.
Go to update and check.
If still shows core version go back to Extensions / Manage Update Sites delete Admin tools pro and core if both are there..
Then install one more time.
put key in again.
and check updates again.

nicholas
Akeeba Staff
Manager

Yup, the problem is that whatever happened to your site in the past ended up with Joomla having two update sites for Admin Tools: both the Core and the Professional version. I can tell you that if you use Joomla's integrated extensions update you do not get to that situation. We have post-update code which checks for that and removes the wrong update site (e.g. the Core update site if you have Admin Tools Professional). I cannot and will not vouch for third party services as I do not know how they apply updates.

The correct solution in this case is to go to System, Update, Update Sites and remove the wrong update site: in your case, Admin Tools Core. Afterwards, you can follow our documentation's instructions for re-entering your Download ID and convincing Joomla to show the correct update version and install it. If it refuses to do so, at this point you can download and install the Professional version twice in a row, without uninstalling it before or in between.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!