Skip to main content
Known Participant
October 13, 2023

AE 2024 Duplicating Extensions

  • October 13, 2023
  • 15 replies
  • 2027 views

Hey all,

 

I have an extension I work on, which is installed using ExManCmd (have not moved to UPIA yet). In the /Library/.../extensions folder, the extension is installed with the bundleId from the manifest (not the bundleName). As in, com.my.TestExtension, instead of TestExtension. When updates land, the previous version is removed via exmancmd --remove, and the new one installed via exmancmd --install. This has worked and still works perfectly.

 

With the landing of the 2024 update, it seems the extensions in the /extensions folder were duplicated, but instead of using the bundleId, it used the bundleName. So now there are two of the same extension with different folders: com.my.TestExtension, and TestExtension. This is causing issues when updating using the process previously described. 

 

A few questions... 

1. Why were the extension folders duplicated - is this a bug or something on my end I'm missing?

2. If I release a patch to remove the TestExtension folder in the next update, will it get duplicated again in say, the next 24.0.1 AE release?

3. com.my.TestExtension is not listed in UPIA --list all command, but TestExtension is. Why is that? Further, I can't remove com.my.TestExtension with UPIA --remove, and it throws a -406 error. 

 

Thanks in advance!

15 replies

Cameron JAuthor
Known Participant
October 30, 2023

Hi @ErinF ,

 

I distributed some installers using UPIA, but have found that a subset of Windows users are not able to open the plugin, until they run After Effects as an Admin (i.e. "Run as Administrator"). From this point on, the plugin is functional, even if re-opening AE normally (not as Admin).

 

Any idea why this may be? The plugin is installed successfully and shows up under Extensions, it just doesn't open. 

Cameron JAuthor
Known Participant
October 24, 2023

Thanks Erin. There are still some odd issues when using ExMan and updating to AE2024 and UPIA (mostly outlined above), but we will be able to work through them with some custom logic in our installer.

 

I also understand I'm a late adopter of UPIA and so others may not experience these issues. If you or the engineering team ever need more info, feel free to reach out. Thanks again!

ErinF
Community Manager
Community Manager
October 17, 2023

So, UPIA should be able to accurately list, remove, and install extensions. If it doesn't work as expected, I can definitely go to the engineering team about that, but I'd need a copy of your exention to send to them so they can try to reproduce the issue.

Cameron JAuthor
Known Participant
October 16, 2023

Hi Erin,

 

Thanks so much for the response.

 

You're right that we've packaged ExMan as part of our installer / script-based installation process. We're moving to UPIA currently. I think this issue would affect us even if we'd updated installers to UPIA, as we would have a portion of the user base that chooses not to update - so eventually they'd update to AE 2024 with an ExMan-installed extension.

 

I've done a bit more digging based on some of the info you provided. Apologies if it's TMI but I wanted to lay out what I found.

 

1. (Before updating AE) Installing our extensions via ExMan (v7.11) still works, and updates the UPIA database file accordingly. We don't write to any DB file in the installer, we rely on ExMan to do that. The ExMan database files are empty after installation. Both UPIA --list all and ExMan --list all show the same extensions, presumably because ExMan v7.11 is referencing the UPIA database in some fashion.

 

UPIA/ExMan --list all --> com.my.Extension

 

Most notably, in the UPIA table Tb_ExtBasicInfo:

        ExtName: com.my.Extension
        ExtIDInFile: ""

        InstallSource: ExManCmd

 

2. Then updating AfterEffects to the 2024 version... This is when the extension file duplication happens. 

 

In Library/Application Support/.../Extensions, the file is duplicated (causes issues in AE):

        -com.my.Extension

        -Extension

 

UPIA/ExMan --list all --> Extension

 

In the UPIA table Tb_ExtBasicInfo:

        ExtName: Extension
        ExtIDInFile: com.my.Extension

        InstallSource: ExManCmd

 

UPIA/ExMan --remove com.my.Extension --> -406

 

So the original com.my.Extension is lost in the Ether as far as UPIA/ExMan are concerned, but the folder still exists in the Extensions folder. When updating AE to 2024 it seems the original DB entries are modified. I think the crux of the issue is that when installing, based on the Tb_ExtBasicInfo entries, it seems that ExManCmd uses the ExtensionBundleId "com.my.Extension" (presumably from the Extension Manifest file) as the ExtName, and UPIA uses the  ExtensionBundleName "Extension" as the ExtName. 

 

Unfortunately, since the DB entries are overwritten on update, it seems there is no way to rely on either UPIA or ExMan to remove the old com.my.Extension folder. We'll probably have to rm -rf that folder in a new installer. 



ErinF
Community Manager
Community Manager
October 14, 2023

Hi Cameron,

 

I have an extension I work on, which is installed using ExManCmd (have not moved to UPIA yet).

 

Why haven't you migrated to UPIA yet? If there's some blocker, let me know, because the engineering team is eager to stop supporting ExManCmd.

 

I'm going to take a wild guess here that you've packaged the ExManCmd app as part of an installer you built, and/or are using a series of scripts for installation that would take time to update to UPIA...

 

3. com.my.TestExtension is not listed in UPIA --list all command, but TestExtension is. Why is that? Further, I can't remove com.my.TestExtension with UPIA --remove, and it throws a -406 error. 

 

Thanks in advance!


By @Cameron J

 

I suspect you're running into buggy behavior because ExManCmd isn't fully supported in the latest update... but I'm not always right.

 

Behind the scenes, there's a plugin installation agent called "UPI" that is automattically installed with the Creative Cloud desktop app, and UPI updates when the app updates. The command line tool "UPIA" isn't a seperate installation like ExManCmd was... 

 

I suspect the duplication could be happening because UPIA and ExManCmd actually write to two different database files:

 

ExMan.db file paths:

macOS:  /Library/Application Support/Adobe/Extension Manager CC/Configuration/DB/ExMan.db

Windows:  C:\ProgramData\Adobe\Extension Manager CC\Configuration\DB\ExMan.db

 

UPISys.db file paths:

macOS: /Users/<user>/Library/Application\ Support/Adobe/ UPI/Configuration\DB/UPI.db

macOS: /Library/Application\ Support/Adobe/UPI/Configuration/DB/UPISys.db
Windows: C:\Users\<user>\AppData\Roaming\Adobe\UPI\Configuration\DB\UPI.db

Windows: C:\ProgramData\Adobe\UPI\Configuration\DB\UPISys.db

 

(From my article, here.)

 

When you install via ExManCmd, ExMan.db gets updated with a list of plugins/extensions. In the 2024 version of apps, you're supposed to be writing to the UPI.db and UPISys.db files.

 

-406 is "EXMAN_FAILED_EXTENSION_NOT_FOUND = -406" (find the list of error codes here)

 

3. com.my.TestExtension is not listed in UPIA --list all command, but TestExtension is. Why is that? Further, I can't remove com.my.TestExtension with UPIA --remove, and it throws a -406 error. 

 

So if you installed via ExManCmd and tried to --remove using UPIA, you're going to run into problems, I don't think you can mix and match which database file you're writing to.

 

Please try using a purely UPIA workflow and see if that solves the duplication problem(s).

 

If you're still having issues, the engineering team will ask for a copy of your exention to try and reproduce the problem.