3 Replies Latest reply: Dec 13, 2011 7:26 PM by Pengjun RSS

    How to Package Photoshop Extension for cs4/cs5 with manifest.xml

    cameronmcefee Community Member

      Hello,

       

      tl;dr: How can I package my extension for both cs4 and cs5 in a way that respects the extension's window geometry?

       

      I have a panel that specifies window geometry in it's manifest.xml. When the panel is installed into Photoshop's panels/ folder, the geometry gets ignored, so I'm trying to package the panel as an extension to be installed via the Extension Manager. I have run into different problems for each CS version. I've read quite a few pdfs about the Extension Manager, UCF command line packaging, etc, and have not been able to find a solution that works for both platforms.

       

      My understaning

       

      My trial and error research has lead me to understand that the extension's files must eventually end up in the (mac) /Library/Application Support/Adobe/<CSversion>ServiceManager/extensions/ directory. In CS5, if the extension's folder contains a manifest.xml file (ex: /extensions/GuideGuide/CSXS/manifest.xml) that specifies window geometry, Photoshop will respect that window geometry when the panel opens. However, in CS4, this is not enough. From my tests, Photoshop CS4 doesn't seem to do anything with the manifest.xml file. Instead, I had to modify /Library/Application Support/Adobe/CS4ServiceManager/ServiceManifest.xml and add my extension to it's contents. Once I did this, Photoshop CS4 launches my panel and respects it's window geometry.

       

      The problem with this is that it's a manual installation. I can't ask my users to dig around in their system files to install my panel. In addition, since it's unsigned using this method, it won't work if they're not flagged for debugging. I've started exploring using the Extension Manager, but I have run into problems that I cannot find ansers in the few pdfs about packaging that I've been able to find.

       

      CS5 Problems

       

      If I use the UCF command line tool, I can package and sign my file. It installs fine and does what I want. However, using this method, I haven't been able to find a way to specify the author and description that shows up in the Extension Manager.

       

      CS4 Problems


      The UCF command line tool doesn't appear to make packages that can be installed by CS4, and I haven't been able to find one that is compatable. I've had to result to using the Extension Manager to package my extension based on a .mxi file. The problem I have here is that installing files this way limits me to putting them in the /panels directory, which then causes the panel to ignore the indow geometry. Is there a way with an .mxi file to install in the /Library/Application Support/Adobe/<CSversion>ServiceManager/extensions/ directory and modify the /Library/Application Support/Adobe/CS4ServiceManager/ServiceManifest.xml file?

       

      There must be, because Kuler and other extensions are installed there.

       

      Thank you SO much for any help you might provide. I've spent weeks trying to get this to work and have run into nothing but dead ends and wild goose chases.

        • 1. Re: How to Package Photoshop Extension for cs4/cs5 with manifest.xml
          Carl Sun Adobe Employee

          In manifest.xml of CSXS extension, "Author" and "Abstract" tags can be used to specify author name and description of extension. The following is an example:

          <?xml version="1.0" encoding="utf-8"?>

          <ExtensionManifest Version="2.0" ExtensionBundleId="SampleExtension" ExtensionBundleVersion="2.0.0">

              <Author>Adobe Systems Incorporated</Author>

              <Contact mailto="support@adobe.com"/>

              <Abstract href="http://www.adobe.com">

              <![CDATA[

          This is the extension description

          ]]>

              </Abstract>

              ......

           

          The extensions created by UCF command line tool cannot be recognized by CS4 since the format has been changed. It's impossible to install ordinary extensions to /Library/Application Support/Adobe/<CSversion>ServiceManager/extensions/ directory. Extension Manager doesn't provide means to modify the /Library/Application Support/Adobe/CS4ServiceManager/ServiceManifest.xml file, either.

          • 2. Re: How to Package Photoshop Extension for cs4/cs5 with manifest.xml
            cameronmcefee Community Member

            Excellent, Thanks so much for getting back to me. It's a bummer I won't be able to get the complete experience but at least I know to stop chasing it now. Thanks!

            • 3. Re: How to Package Photoshop Extension for cs4/cs5 with manifest.xml
              Pengjun

              Your extension is a CSXS extension. For CSXS extension it's introduced in Extension Manager 2.1. (You can download Extension manager 2.1 from http://www.adobe.com/exchange/em_download/em20_download.html)

              In Extension Manager CS2.1 only MXP package is supported. In Extension Manager CS5 CSXS extension must be packaged by ZXP format. So you have to generate two packages for CS4(mxp) and CS5(zxp)

               

              For CS5, you can use ucf.jar to generate the zxp package.

              For CS4, you have to create an MXI file and package it by Extension Manager 2.1 to mxp package. Here is a sample CSXS mxi file:

              <macromedia-extension

                         name="CSXS_TEST_EXTENSION"

                         version="1.0.0"

                         type="Command"

                         requires-restart="true">

               

               

                        <author name="Macromedia" />

               

               

                        <products>

                                  <product name="Dreamweaver" version="10" primary="true" />

                                  <product name="Fireworks" version="10" primary="true" />

                                  <product name="Flash" version="10" primary="true" />

                                  <product name="" version="11" familyname="Photoshop" primary="true" />

                                  <product name="Illustrator" version="14" primary="true" />

                                  <product name="CSXS" version="1" />

                        </products>

               

               

                        <description>

                        <![CDATA[

                        CSXS extension sample.

                        ]]>

                        </description>

               

               

                        <ui-access>

                        <![CDATA[

                        Extension Name: kuler

                        ]]>

                        </ui-access>

               

               

                        <license-agreement>

                        <![CDATA[

               

                        ]]>

                        </license-agreement>

               

               

                        <files>

                                  <file source="test_extension" destination="" />

                        </files>

               

               

              </macromedia-extension>