1 Reply Latest reply on Nov 28, 2011 8:04 AM by efieleke

    Backward compatibility for installers when switching to bundled (aka captive) Air runtime


      The non-bundled versions of the installers for desktop Air applications on Mac have the nice feature of ensuring that multiple versions of the same app cannot exist on the system. When a new version of the app comes along, the installer removes the old one as part of the upgrade. I've also noticed that if you attempt to install the same version of the same Air application, Air offers the option of simply uninstalling the existing version (a roundabout way of exposing an uninstall of an Air app).


      We are thinking about switching over to using a bundled Air runtime for our product, which means that we have to write our own installer for Mac. However, we need to be able to detect if a previous, non-bundled version of our Air app exists on the system, and if so, uninstall it before placing the new version down.


      How does Air keep track of what's been installed on the Mac? Does it expose an API that we could call from within our custom installer to uninstall a specific non-bundled desktop Air application? If not, does Air maintain installed app location data in a way that an outsider could possibly consume?


      On Windows, I see that Air just makes use of the MSI database, so we're all set there. But on Mac, I don't know how to proceed.


      Thanks for your help.