ExtensionManager trouble when installing ExtendExtendScript?

I was contacted by someone who had trouble installing the new GetURL stuff I concocted a few months ago.

Here are some notes that might be helpful if you’re having similar issues:

Please take what follows for what it is worth. There are a number of assumptions being made in the info below which might be incorrect.

​Sometimes ExManCmd does not want to install stuff, and that also affects any third party installers that use ExManCmd.

My theory is that there is some kind of extension repository that is used by ExManCmd.​​

Once that repository gets corrupted, nothing that needs ExManCmd works any more.

The simplest (but most annoying) fix is ‘scorched earth’: uninstall and scrub the computer of anything Adobe, then reinstall from scratch. I don’t like that very much. ​​

The way I get around it for stuff that needs to be deployed is to not use ExManCmd at all; I use Xojo to write my own installers, and in my installer simply ‘unzip’ the .ZXP file where it needs to go.

With some care, I can make sure no odd unwanted files sneak in and the code signatures don’t get invalidated, and it works.

​Yet another ‘sledgehammer’ approach that also works for me is outlined below.

This is probably only practical on an individual workstation. You don’t want to deploy to many computers using the following approach.

​To avoid signature issues, you might want to first turn off the signature checking. In other words, turn on PlayerDebugMode.

or similar, and search for PlayerDebugMode

The ‘unzip straight into CEP/extensions’ might actually work without tweaking PlayerDebugMode as long as you don’t invalidate the signature, but that’s not always straightforward; it’s easier to set PlayerDebugMode.

I use the following command line script on Mac (I put it into a double-clickable shell script file called ‘setPlayerDebugMode.command’):​ ​

defaults write com.adobe.CSXS.4.plist PlayerDebugMode 1 
defaults write com.adobe.CSXS.4.plist LogLevel 5 
defaults write com.adobe.CSXS.5.plist PlayerDebugMode 1 
defaults write com.adobe.CSXS.5.plist LogLevel 5 
defaults write com.adobe.CSXS.6.plist PlayerDebugMode 1 
defaults write com.adobe.CSXS.6.plist LogLevel 5 
defaults write com.adobe.CSXS.7.plist PlayerDebugMode 1 
defaults write com.adobe.CSXS.7.plist LogLevel 5 
defaults write com.adobe.CSXS.8.plist PlayerDebugMode 1 
defaults write com.adobe.CSXS.8.plist LogLevel 5 
killall -u `whoami` cfprefsd ​​

Make sure to ‘chmod +x setPlayerDebugMode.command’

And I have another script to reverse that in shell script ‘clearPlayerDebugMode.command’:​

defaults write com.adobe.CSXS.4.plist PlayerDebugMode 0 
defaults write com.adobe.CSXS.4.plist LogLevel 1 
defaults write com.adobe.CSXS.5.plist PlayerDebugMode 0 
defaults write com.adobe.CSXS.5.plist LogLevel 1 
defaults write com.adobe.CSXS.6.plist PlayerDebugMode 0 
defaults write com.adobe.CSXS.6.plist LogLevel 1 
defaults write com.adobe.CSXS.7.plist PlayerDebugMode 0 
defaults write com.adobe.CSXS.7.plist LogLevel 1 
defaults write com.adobe.CSXS.8.plist PlayerDebugMode 0 
defaults write com.adobe.CSXS.8.plist LogLevel 1 ​
killall -u `whoami` cfprefsd​ ​

These scripts hit all of CC, CC 2014, CC 2015, CC 2017 and CC 2018 in one go.

​Once the PlayerDebugMode is set to 1, you can run extensions with ‘invalid’ signatures. ​

The second step is to use a standard unzip command line tool, to unzip the ZXP file into the location it needs to go.

I do something on the Mac command line:​ ​

cd  ~/Library/Application Support/Adobe/CEP​/extensions 
mkdir com.rorohiko.extendExtendScript 
cd com.rorohiko.extendExtendScript 
​unzip ...pathtozxp.../com.rorohiko.extendExtendScript.zxp

​That seems to work.

Note that the manifest of the downloadable ZXP is only set to go up to CC 2017 – it needs to be adjusted to also support CC 2018. I’ll change that some time when I get round to it.