Hey all. I’m currently trying to package a Photoshop plugin using the UXP Developer Tools app and have been encountering some odd behavior regarding installing with a .ccx file and getting error -2. I’ve looked around the forum and have found some other people stating similar issues, but there is no clear answer on how to solve this that I have found.
I created a beta version of a plugin that is working perfectly fine when loaded through the UXP Developer Tools app. I packaged it without issue and sent it to some people for testing. They then told me that they were getting error -2 (see the list of installation errors here). After trying to install the plugin with the .ccx file, I faced the same error on both Mac and Windows. However, I wasn’t experiencing this issue with other .ccx files that I was packaging. Eventually, I had gotten my new .ccx file to install and work properly and am wanting to present my findings here - hopefully someone that understands this all a little more than me can make sense of some of it and it can be helpful to others facing this issue. After doing a little testing, I found two main problems that were leading to error -2.
Issue #1: Plugin ID
We will call the new plugin that I am working on “Breaker”. At first, I gave this plugin the ID “Breaker” in the manifest file, but it seemed to have led to the error -2 being presented upon install. Like I said, I was able to install other .ccx files that I had packaged without issue, so I grabbed another plugin that was working (which we will call “Toner”) and tried making changes to it. I took Toner and changed the plugin ID in its manifest to “Breaker” - I changed nothing else in the code and made sure this ID was unique. After packaging that as a new plugin and trying to install, I once again received error -2. The other interesting thing is that, giving my Toner plugin an ID of “PluginBreaker” or anything including the word “Breaker” still gave error -2. It was only when I removed the word “Breaker” from the ID entirely that Toner was able to be installed successfully again. This lead me to believe that maybe 1) there are certain words/strings that are banned from being used in plugin IDs or 2) the ID is already in use by some other plugin on Creative Cloud.
Issue #2: Installation Location and File Name
I have a folder that I keep all of my plugin/development related files in called “plugins”. Normally, when I package a plugin, the resulting .ccx file is just put into its corresponding folder within the plugins folder - for example, the “Breaker” .ccx file would be in the Breaker folder, the “Toner” .ccx file would be in the Toner folder, and so on. However, it seems that even running a .ccx file even within a folder titled “Breaker” results in error -2. Moving the Breaker.ccx file to the Toner folder or to the desktop allows for it to be installed successfully. It seems that, if Adobe does have certain words banned, they aren’t allowed in the name of the .ccx file or the folder where the .ccx file is run from.
My Best Guess
Like I said, hopefully someone else can make sense of this as I don’t really know what’s going on, but I believe there are certain words or strings that will cause a plugin to fail installation when they are present in 1) a plugin ID, 2) the name of the folder the .ccx file is when it is used to install a plugin, or 3) the name of the .ccx file. For example, I just tried “BL_PS.ccx” and “PLUGINBL_PS.ccx” and they both resulted in error -2 upon installation. However, I had no issue with “B_PS.ccx” or “PLUGINB_PS.ccx”. For the record, the word I was trying to use in the plugin ID is not a word I would imagine being censored in any context - I’m just assuming it contains some short string that Creative Cloud has reserved or something like that.
Anyways, hopefully this was clear. If anyone has an idea of what’s going on or could offer more insight, please let me know. I’m hoping this will be helpful for someone else who is running into the same issue as me and can save themselves some time. Let me know if I can clarify anything to help give more understanding to the issue. Thanks all!