*this is a technical post, so you might not care.
After many many many moons of frustration, I’ve been FINALLY able to get my Adobe AIR 2.5 application to trigger installed clients, causing them to auto update. I am writing this post, so that it is crawled by web bots, and hopefully it helps someone else solve a similar problem.
In trying to find a solution, I googled: “Adobe AIR application not autoupdating”, “Adobe AIR application not auto updating”, “Adobe AIR HTML JS application fails to update”, “Adobe AIR 2.5 auto install”, “Adobe AIR updater framework not working fails to update” and so on.
I’ve cautiously upgraded this app through the different AIR framework versions, starting at 1.0 to 1.5 to 2.0 and then to 2.5.
oh… if you don’t know what Adobe AIR is, then this post is not for you. You can check it out here: http://www.adobe.com/products/air/
debug steps:
0. Read countless numbers of blog and forum posts and documentation.
1.Verify that the application is indeed making a call to retrieve the update descriptor xml. I used a program called Little Snitch: http://www.obdev.at/products/littlesnitch/index.html to explicitly identify the network call. This showed the call being made. I had initially used tcpdump to inspect traffic, and little snitch confirmed my finding.
2. Inspect and trace the currentState property of runtime.air.update.ApplicationUpdaterUI this document was very helpful: http://help.adobe.com/en_US/air/reference/html/air/update/ApplicationUpdater.html but as you can see, it is seriously out of date. If there is an updated version for the 2.5 framework, I have difficulty finding it.
[the fix:]
I did yet another google search, in the same vain as those listed above, but this time it came up with this article: Update AIR 2 or earlier to AIR 2.5 Application Updater framework. I had seen this one before, but for some reason, I missed this sentence:
The application descriptor file schema for applications that use AIR 2.5 is not compatible with earlier versions of the Application Updater framework.
[and this was the root of my problem!]
Specifically:
The version element is replaced with a new field, versionNumber. This field must contain one to three dot-separated numbers; no non-numeric characters are allowed.
At the end of the day, the solution was that I needed to:
replace: <version>4.0.1</version> with: <versionNumber>4.0.1</versionNumber>
[ridiculous right? I understand why they are doing this, but it is still ridiculous that such a trivial change caused me so much grief!]
I would also advice you to exercise caution and map out the different upgrade paths, the last thing you need are clients gone dark.
I found this update referenced in the release notes for 2.5: http://kb2.adobe.com/cps/868/cpsid_86822.html and I would highly recommend that if you are having update issues, read the section on: Application versioning changes
[suggestion for Adobe]
1. They need to update their documentation highlighting the differences in between framework versions, specifically: http://help.adobe.com/en_US/air/reference/html/air/update/ApplicationUpdater.html
as of this writing, the documentation is lacking. Please Adobe, help us out!
If you are having issues and you need another set of eyes, send me a note, I’d be glad to help.
RSS feed for comments on this post. / TrackBack URI