The Adobe Extension manager uses a .zxp package to distribute digital products. This tutorial describes how a C++ plugin can be packaged into a .zxp file. The example uses the FFRender Free plugin that I created and listed on Adobe Exchange.
Create a Certificate
Download ZXPSignCmd from the Adobe Extension Signing Toolkit. Alternatively you can use ucf.jar command line tool for CS6 compatibility.
ZXPSignCmd -selfSignedCert <countryCode> <stateOrProvince> <organization> <commonName> <password> <outputPath.p12>
.\ZXPSignCmd.exe -selfSignedCert IN MH Prosya "Anmol Mishra" password prosyaDB.p12
If you get a timestamp error – see this github issue.
Create a basic .zxp package
Add the ZXPSignCmd and the generated certificate in the same folder. Create a folder with the name of your plugin and place the plugin inside.

ZXPSignCmd -sign <inputDirectory> <outputZxp> <p12> <p12Password> -tsa <timestampURL>
.\ZXPSignCmd.exe -sign FFRenderFree FFRenderFree.zxp prosyaDB.p12 password -tsa http://timestamp.digicert.com/
The user will need to extract the plugin file and manually install in the plug-ins directory. The .zxp is just like a zip file.
Copy the plug-in either to the mediacore directory -
C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore
or to the AE plug-ins directory -
C:\Program Files\Adobe\Adobe After Effects\Support Files\Plug-ins\Effects
This package method is not accepted by Adobe as a part of the Adobe Exchange Developer program. Adobe requires mxi file.
Create .zxp package with mxi XML
Create a MXI directory with certain elements as described by Adobe. The elements are :-
- the
prosyaDB.p12
- ZXPSignCmd (CC) or ucf.jar (CS6)
- a new MXI folder.
- Inside the MXI there’s:
- a Win64 folder with the mediacore 64-bit plug-in,
- a 24x24px icon.png (Extension Manager icon),
- a MXI file, which is xml-formatted.


There is no option for Adobe After Effects, however Premiere mediacore plugins are visible in both AE and PPro. Check the general MXI elements page and this github issue for Premiere-related fields.
Premiere Pro CS5 | 5 |
Premiere Pro CS5.5 | 5.5 |
Premiere Pro CS6 | 6 |
Premiere Pro CC | 7 |
Premiere Pro CC 2014 | 8 |
This is the xml field for Premiere Pro, minimum version CS6, no max version.
<product name="Premiere" primary="true" version="6.0" />
<?xml version="1.0" encoding="UTF-8"?>
<macromedia-extension
id="com.prosya.ffrenderfree"
icon="P24x24.png"
name="FFRender Free"
requires-restart="true"
version="1.0.0">
<author name="Anmol Mishra"/>
<description href="https://www.prosya.com/software/ffrender-free-effect/">
<![CDATA[Description of Effect goes here.]]>
</description>
<ui-access>
<![CDATA[Where to find it goes here.]]>
</ui-access>
<license-agreement>
<![CDATA[EULA goes here.]]>
</license-agreement>
<products>
<product name="After Effects" version="7.0" platform="win" />
</products>
<files>
<!-- WIN plugin, 64bit -->
<file source="Win/"
destination="$mediacoreplug-ins/ProSya FFRender Free"
file-type="plugin"
products="After Effects"
platform="win"/>
<!-- Extension Manager icon -->
<file source="P24x24.png"
destination="$ExtensionSpecificEMStore" />
</files>
</macromedia-extension>
The .zxp package also has options for automatic installation using tools like ZXP Installer. In case of installation issues, take a look at their FAQ.
Alternatively, you can use ExManCmd from Adobe. ExManCmd 7.11 only supports Windows 10 and later.
Another alternative is Anastasiy’s Extension Manager to install and remove plugins.
$mediacoreplug-ins | /Library/Application Support/Adobe/Common/Plug-ins/7.0/ MediaCore | C:\Program Files\Adobe\Common\ Plugins\ 7.0\MediaCore |
For CC compatibility,
.\ZXPSignCmd -sign MXI com.prosya.ffrenderfree.zxp prosyaDB.p12 password -tsa http://timestamp.digicert.com/
For CS6 compatibility,
java -jar ucf.jar -package -storetype PKCS12 -keystore ./prosyaDB.p12 -tsa http://timestamp.digicert.com/ com.prosya.ffrenderfree.zxp -C "./MXI/" .
Enter the password when prompted.