1 Reply Latest reply on Jun 20, 2011 9:22 AM by AndrewGorman

    Digitally Signing Flex/AIR Application

    AndrewGorman

      I am looking for some help with updating an AIR application with a renewed certificate.

       

      The way that Adobe AIR handles digitally signed certificates is fairly confusing. I think it has changed with the release of AIR 1.5.3 and this change has caught us off guard and has resulted in some problems.

       

      According to the Adobe website: Prior to AIR 1.5.3, signing an AIR application with a renewed certificate did not always require a migration signature. Starting with AIR 1.5.3, a migration signature is always required for renewed certificates.

       

      Furthermore: The certificate must be changed before the original certificate expires. If you do not create an update signed with a migration signature before your certificate expires, users will have to uninstall their existing version of your application before installing a new version. As of AIR 1.5.3, an expired certificate can be used to apply a migration signature within a 180 day grace period after the certificate has expired. (You cannot use the expired certificate to apply the main application signature.).

       

      See:

      http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7ff0. html#WS5b3ccc516d4fbf351e63e3d118666ade46-7cca

      http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS13ACB483-1711-43c0-9049-0A7251630A7D.htm l

       

      BOTTOM LINE:

      We did not create a "migration signature" within the 180 grace period because we had no updates (bug fixes or enhancements) to our application during this time. When I finally did prepare a new release of our application and signed it with our new certificate, the Adobe installer is not recognizing the new application as an UPDATE of the old application so when you try to install it, the user gets an error message that an application that the same name is already installed. In the past, the installer recognizes the new application as an update and it replaces the old app. I think there may be a way for me to handle this properly, but all of my attempts so far have not produced the results I am looking for.

       

      The issues may be related to specifying a Publisher ID. We may need to specify the publisherId in the descriptor.xml file, which we have never had to do in the past. However, the publisherId property may only be available in 1.5.3. I have been having trouble specifying the 1.5.3 name space (<application xmlns="http://ns.adobe.com/air/application/1.5.3">). I think that must only be available for newer versions of the compiler. I am currently using 3.5.

       

      Are there any experts on this topic that can explain How I can package my updated app so that the installer recognizes it as an UPDATE and not a NEW APP with the same name (which doesn't work)?