We are installing our plugins to CS4/5/5.1 version of Adobe Photoshop as part of our installer and allow the users to select specific versions of Photoshop to install the panel for. There are a few old problems that I wanted to rant about for quite some while and now with a whole bunch of problems that the 5.1 update introduced I feel I just have to voice them. I will limit it to PC only as it seems to be the most troubled platform
#1 As we cannot install our plugin only by using the Extension Manager (simply because it cannot handle all we've to do upon the installation) we have to run commands from within the our installer, non-interactively, of course.
The interface to command line installation is xmancommand.exe (or "Extension manager (Version). exe" - not sure whether it makes any difference. ). Now the first question is how to find this executable on the target machine, from an installer. Users may specify different locations to install the Creative Suite and it certainly does NOT have to be C:\Program Files\...(or %PRGRAMFILES% in general). ATM we are using an odd place in the registry to to find the path to the most recent Extension Manager but first its sometimes overwritten by another installation and in any case it only shows ONE version of the extension manager which of course cannot handle other versions (see #2)
#2 Why the most recent version of Adobe Extension Manager (5.5) cannot install the extension for 5.0? Well, install it actually does, however its disabled for CS5 and it seems that the only way to enable it on this platform is to find previous (CS5) extension manager and to enable it. Oh, actually no - it doesn't work! The only way that I found here working is to find CS5 extension manager first, install the extension there and then use CS5.5 extension manager to enable it. Why do I need both utilities to manage my extensions?!
#3 The program is severely lacking in documentation AND it doesn't produce reasonable output messages, so determining what it can actually support is a puzzle. For example, why "Dreamweaver CS5" is a correct product name and "Photoshop CS5" is not (don't different teams talk to each other)? Ok, lets forget the consistency, but how do I make the utility output the list of all products it supports, in their magic token form that it will actually be understood if passed in in the command line? By trial and error? This menthod btw is also extremely painful: nany times when specifying wrong parameters the program doesn't provide any output and just shrugs "whatever, go figure it yourself"...
#4 Why the only way to enable/disable an extension in Photoshop seems to be using magic "productfamily" keyword that is not even listed on Adobe's help page for command line options (here: http://help.adobe.com/en_US/extensionmanager/cs/using/WSB4845EDD-14E5-476a-B749-FF328830D1 4F.html).? E.g. "xmancommand.exe" -suppress -remove product=Photoshop extension=OurExtension" will ALWAYS fail with a lovely "'Photoshop is not supported by Extension Manager CS5.5." error; I've tried "PhotoshopCS5", "Photoshop CS5", "PhotoshopCS5.1" "Photoshop CS5.1", "Photoshop-12" (mentioned in examples section in http://help.adobe.com/en_US/extensionmanager/cs/using/packaging_extension.pdf ) and a whole bunch of other permutations - none seem to work (see #3). Magic "productfamily=Photoshop" does work. But then it only aims the current version ("CS5.1") and I need it to work for CS5 (I'm not even mentioning CS4...."). Would there be any suggestions?
Really, the question is, how do we, third-party developers, are supposed to interact with the command-line utility without knowing where it is, what product names is capable to work with and without being able to target specific platforms (i86 vs x64 anyone (http://forums.adobe.com/thread/672537)? CS5 vs CS5.1 (above)?). I don't know what your test cases are for the command line tool (if any!), but this is simply insane, folks, simply insane.