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,
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.
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,
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?