Hi, I'm building an InDesign extension via Adobe Extension Builder.
The extension should be able to check for updates and, if available, download ZXP file and openWithDefaultApplication. Everything works fine up to the moment of installation itself. The Adobe Extension Manager CS5 tells me that there is a conflict and I need to uninstall previous version of the extension first.
The exact message:
This extension cannot be installed, since it conflicts with an existing one. To install this extension, please remove the extension 'ExtensionName' which has been installed in 'InDesign CS5', then install again.
The only differences beteween the two are:
<Extension Id="ExtensionID" Version="0.5.0"/>
<Extension Id="ExtensionID" Version="0.5.1"/>
And of course, the SWF files are different
Did I forget something or is it impossible to create self-updating CS5 extensions? Of course, I tried googling first but found absolutely nothing on the matter.
it's not clear to me whether you use Adobe Extension Manager to manage the updates (see http://forums.adobe.com/thread/795999?tstart=0 and/or "Packaging Extensions with ADOBE® EXTENSION MANAGER CS5" user guide) or you've written custom code for your extension to update itself (which may lead to the AEM conflict, possibly)
I'm using my own logic to determine whether there is an update available and if so, user cas click a button to download the ZXP file. Once the file is downloaded, it automatically executes, starting installation in Extension Manager. And after agreeing to the terms, EM says there is a conflict.
If I understand the EM update mechanism you sent me correctly, user has to start EM to check for updates. I personally never start EM by myself, only when I need something to install. My idea was that everytime extension starts, it checks for updates.
me too I'm not a big AEM fan, I've slowly been accustomed to it
I see no way to bypass the AEM alert, though - it has its own logic, perhaps: you make the program to install a newer version of an already installed extension, so it alerts a conflict. Yes, I agree, it should be a little bit smarter (it's ok to automatically remove version 1 if you're about to install version 1.1 of the very same panel) maybe it doesn't recognize the process as an update.
As a side note, it doesn't prompt anything strange when you update an extension via AEM, it works as expected.
If you are handling the updating yourself, you can drive Extension Manager using NativeProcess. First remove the old one and then instal the new one.
I created my own updater and IIRC, that's how I did it.
Next time around I might bypass Extension Manager altogether...