MANIFEST-SCRIPT-UNINSTALL-001

preflight($type) assuming install only

script.php preflight only on install

Joomla 4 runs installer scripts on uninstall for all extension types. Plugin SQL vs script order also flipped to script-then-SQL.

preflight($type) assuming install onlyHandle uninstall/update in preflight and postflight

Dies at Joomla 3 → 4J3: Works nativelyJ4: Changed behaviourJ6: Changed behaviourBC plugin: not applicableYou rewrite thisManifest / installer

Symptoms people search

uninstall 500 in script.php · plugin sql order

Replace this code

Swap preflight($type) assuming install only for Handle uninstall/update in preflight and postflight.

Joomla 3

Remove or stop calling this

public function preflight($type, $parent) {
    // ran on install only in some J3 types
}

Joomla 4 / 6

Use this instead

public function preflight($type, $parent) {
    if ($type === 'uninstall') { /* also runs on J4+ */ }
}

How to fix it

  1. 1Guard preflight/postflight by $type.
  2. 2Do not assume uninstall SQL ran before the script.

Also known as

script.php · preflight · postflight · uninstall

Related issues

Get in touch

Have a project in mind? Let's talk about it.

Tell us what you're building. Whether it's a new site, an online store, a mobile app, or something that needs AI under the hood, we'll get back to you within a business day.

Free consultation
No commitment, no pressure
Reply within 24 hours
Usually much faster

Prefer a direct conversation?

Request a project quote

Tell us about your project

Fill out the quick form and we'll reach out.