You want to build a "hybrid Extension" using Extensions Signing Toolkit.
Basically you create the folder structure according to the documentation and then use ucf.jar to sign and build your ZXP package. You are not making a panel so you can ignore that part. You will need to make a separate C++ extension for PC and Mac, if you do both, and then define those and where they go in the manifest.mxi
Thanks for the links. They are definitely helpful.
Do you have a hint for the other issues, too? What would be the best way to deal with redistributables?
What other issues?
Theoretically you could also put the redistributables in the ZXP package. That said. most redistributables you could ever need are already included in Premiere.
With 'other issues' I meant the installation of redistributables and installation routines like online activation/deactivation.
So, basically the issue is, what if there is more to be done during installation than just simple file copy?
You put a version number in your package. You can link a web site (yours) which manages versions, and licensing etc. The user gets a notice in Extension Manager that there is an update and takes them to your website. As far as licensing goes, you need to be creative as Adobe does not (yet) support that. Read the docs for more info.
When the user buys your product from Adobe they can get a license key which you supply (a few) when you list your product with the Adobe store. You can be creative about how you and the user use that key.
Okay, thanks for the info. It is good to know that it is possible to provide Adobe with license keys beforehand.
To redirect the user to the product's website also sounds like a viable solution. I'll give it a thought.
The plugin already has a working licensing system and can also be activated and deactivated from a dialog in the plugin.
I just hoped it would be possible to automate that process during installation (like it is possible with its current Windows installer package).
Anyway, thanks again for the information. That helped a lot.
Okay, now I've created a .zxp package with what I thought would be the correct manifest.mxi. But if I try to install the package via the Extension Manager CC, the Manager doesn't seem to recognize the currently installed Premiere Pro CC and Premiere Pro CC 2014 as part of the Premiere family and refuses to install the package.
In the .mxi I defined:
But the Extension Manager refuses installation with "Premiere required."
If I do not define a product the Manager tries to install the package, but then stops because of the unknown token $installfolder in the destination definition of my file:
Am I missing something?
From my working manifest.xml and you need the blacklist,file to prevent After Effects from giving errors from trying to load your Premiere plug-in.
The <update url is optional.
<product minversion="7" name="Premiere" primary="true" version="7" maxversion="8.99"/>
<files> <file source="MyProduct/.prm" destination="$applicationsupport64\Adobe\Common\Plug-ins\7.0\MediaCore" products="Premiere" platform="win"/>
<file source="MyProduct/.prm" destination="$applicationsupport64\Adobe\Common\Plug-ins\8.0\MediaCore" products="Premiere" platform="win"/>
<file source="PC/Blacklist After Effects.txt" destination="$applicationsupport64\Adobe\Common\Plug-ins\7.0\MediaCore" platform="win"/> <file source="PC/Blacklist After Effects.txt" destination="$applicationsupport64\Adobe\Common\Plug-ins\8.0\MediaCore" platform="win"/>
Blacklist After Effects.txt is a text file with one line
1. Please use “name” instead of “familyname”.
2. You have to specify value for “version” attribute, it can’t be empty.
3. If you don’t’ want to limit max version, please remove maxversion=“”
4. “primary” attribute is no longer supported. Please remove it.
Ah, 'name' instead of 'familyname' did it. I thought I tried that already. Thanks!
I left the 'version' attribute empty just for testing and because Premiere was not recognized. I wanted to make sure that every version gets checked for installation.
Now that Premiere gets recognized I will provide proper version ranges.
Okay, I will remove the 'primary' attribute. Will there be an updated version of the MXI Tech Note to reflect changes for CC?
Thanks for the sample. The blacklisting part is interesting. Is there any documentation about that?
This is from the Premiere Pro SDK document:
Have a plug-in that works fine in one CS application, but has problems in another CS application?
Now, specific plug-ins can be blocked from being loaded by MediaCore in specific applications,
using blacklists. Note that this does not work for After Effects plug-ins loaded by AE, although it
does work for AE plug-ins loaded in Premiere Pro. In the plug-ins folder, look for the appropriate
blacklist file, and append the the filename of the plug-in to the file (e.g. BadPlugin, not BadPlugin.
prm). If the file doesn’t exist, create it first. “Blacklist.txt” contains names of plug-ins blacklisted
from all apps. Plug-ins can be blocked from loading in specific apps by including them in
“Blacklist Adobe Premiere Pro CS6.txt”, or “Blacklist After Effects.txt”, etc.
Thanks. Seems like I have missed that part in the SDK Guide.
But considering that the blacklist files are shared and not plugin specific, it might not be such a good idea to provide a blacklist with the package because existing files will be overwritten...
Thanks for the link