4 Replies Latest reply on Mar 7, 2013 2:17 AM by mmcTimmermans

    Can't install Extension if not all CS applications installed?


      I'm attempting to create an extension that installs in most of the Creative Suite applications. This extension also uses the host adapters to get access to some extra events and features in AI, InDesign and Photoshop. The extension is also intended to be as compatible as possible, working in CS5 through CS6.


      The problem: If all the applications targeted are not installed, for example I have Photoshop and InDesign CS5 installed but not Illustrator, I get the error like this:


      The destination '$plugin:Extensions.localized:AIHostAdapter.aip:Contents:' contains an invalid token. The extension will not be installed.


      I recreated the problem by creating a new extension and simply checking off all the supported applications and host adapters.


      Is it possible to create a single simple extension that installs into multiple CS apps when some target applications are missing? If this is a known bug, are there suggested workarounds. A different extension for every possible combination? Can you create host adapters extension that install reliably?


      I've been testing with all applications installed, but after reports from my users with CS5 I'm checking other situations. As mentioned above I've recreated the problem with EB2 and a bare "New>Creative Suite Extension Project" in CS5.



      - Mark

        • 1. Re: Can't install Extension if not all CS applications installed?
          lomorgan Adobe Employee

          In the MXI for your hybrid extension you can specify which files should be installed for which products. See the tech note here: http://help.adobe.com/en_US/extensionmanager/cs/using/MXI_tech_note.pdf


          In your files block you should have something like:

          <file source="fileForAllProducts.xml" destination="..." />

          <file source="aiHostAdapter.aip" destination="$plugin" products="Illustrator" />

          <file source="psHostAdapter.8li" destination="$plugin" products="Photoshop" />


          You will probably also want to make sure that you install the right version of the host adapters into the right product versions. For instance, CS5 Illustrator plugins probably won't work in CS6, and for CS6 you will have to install 32/64-bit plugins on Windows, and 64-bit plugins on the mac. You may need to distribute two separate ZXPs, one for CS5 and one for CS6.


          Hope that helps,



          • 2. Re: Can't install Extension if not all CS applications installed?
            mr_erickson Level 1

            Thanks for the response Louis, I completed some more testing and investigation.


            It is looking like a bug with Extension Manager CS5. Install appears to be functioning correctly with Extension Manager CS5.5 or CS6.


            Again, starting with Extension Builder 2.0, I create an extension that targets PS, AI and ID with host adapters. Extension Builder 2 creates an mxi with the CSHA host adapter libraries. Here are the two lines for Illustrator:

              <file destination="$plugin/Extensions" platform="win" products="Illustrator" shared="true" source="ai_host_adapter/win/AIHostAdapter.aip"/>

                <file destination="$plugin/Extensions.localized" platform="mac" products="Illustrator" shared="true" source="ai_host_adapter/mac/AIHostAdapter.aip"/>


            As you mentioned, the files block looks correct and includes products. The extension does install correctly on a Mac system with Illustrator, but on a system where Illustrator is not installed I get the error message:

            The destination '$plugin:Extensions.localized:AIHostAdapter.aip:Contents:' contains an invalid token. The extension will not be installed.


            This is using Adobe Extensions Manager CS5, version 5.0.298. If anyone can confirm they see the same thing, or Adobe can confirm it is a bug, it will be helpful to know how common the problem is. The steps again: don't install Illustrator (or Photoshop, or Indesign), try installing an extension that includs the host adapter libraries. Example extension simply created a do nothing extension in Extension Builder 2.0 that targets AI, PS, ID and also includes the host adapter libraries.



            - Mark

            • 3. Re: Can't install Extension if not all CS applications installed?
              lomorgan Adobe Employee

              Hi Mark,


              I spoke to the Extension Manager team about this. The issue is that the "products" attribute on file tags was only added in Extension Manager CS5.5, so is ignored by Extension Manager CS5. The only real solution I can suggest is that you package your extension on a per-product basis for CS5. I guess you could also not install the host adapters along with your extension, but instead check for and install the host adapters on first launch of your extension. That way you could only install the host adapters for the point products on the user's machine.


              The team also told me that since CS5.5 file tags support minVersion and maxVersion attributes (this is in the MXI tech note, though I hadn't seen it). You should be able to use these to install the right version of the host adapters for the product version. For instance, something like this should work:

              <file destination="$plugin/Extensions" platform="mac" products="Illustrator" shared="true" source="ai_host_adapter/win/AIHostAdapter55.aip" minVersion="15.5" maxVersion="15.99" />

              <file destination="$plugin/Extensions" platform="mac" products="Illustrator" shared="true" source="ai_host_adapter/win/AIHostAdapter6.aip" minVersion="16.0" maxVersion="16.99" />


              That will get around this issue with Ai Mac plugins being 32-bit for CS5.5 and 64-bit for CS6. You might need something like this on Windows too, since I think Ai broke binary compatibility for plugins between CS5.5 and CS6.


              Hope that helps,



              • 4. Re: Can't install Extension if not all CS applications installed?

                If binary compatibilty for plugins between CS5.5 and CS6 is broken then one would need anothter AIHostAdapter.aip for CS5.5? When using FlashBuilder 4.6 and CS ExtensionBuilder 2 this will only create plugins with one AIHostAdapter.aip. I suppose zxp packages from CS Extension Builder only contain the CS6 version. But strangly the plugin works on CS5.5 on windows. But for mac it does not. If we need as AIHostAdapter5.5.aip, where would we get this from?