10 Replies Latest reply on Jul 27, 2010 4:26 PM by patelbrijeshn

    Update problem after an install with exe package

    Team-Booster Level 1

      Hello,

       

      I have an other problem with the update of my app.

       

      My app had an auto update and it running perfectly. But today with AIR 2 I want to package my app in .EXE or .DMG file (no problem for do that).

       

      My update system dl the .AIR file of my last version and install it

      automatically. And my problem come from here.

       

      When my app is installed from an .AIR file, no problem with the update. But

      when I install my app from an .EXE file, the update process dl the .AIR

      of my last version but doesn't want to launch the installation of it.

       

      Somebody have a solution or an explication (or both ) ?

       

      Thanks

        • 1. Re: Update problem after an install with exe package
          chris.campbell Adobe Employee

          Hello,

          The native installer mechanism does not have access to the Updater API's.  For further information, please see Application Update Security and Application Installers.

           

          Thanks,

          Chris

          • 2. Re: Update problem after an install with exe package
            Team-Booster Level 1

            Thank you Chris for your answer.

             

            Sorry but have you a link with some documentation or exemple to update a native installer ?

            • 3. Re: Update problem after an install with exe package
              chris.campbell Adobe Employee

              Unfortunately I don't know of any examples, but it should be as simple as opening the downloaded installer with File.openWithDefaultApplication().  Please let me know if this does not work for you.

               

              Chris

              • 4. Re: Update problem after an install with exe package
                Aarti P Level 1

                Hi,

                 

                I have a similar problem too. I have an application which was developed in AIR 1.5. I was able to update it using the ApplicationUpdaterUI Class. I have already deployed the AIR application's version 1.0 on user's machine. Now I have migrated from AIR 1.5 to AIR 2.0 since I found the concept of Native Installers very interesting and wanted to take advantage of the new features available in AIR 2.0. I packaged my AIR application and created a exe to deploy on the user machines. But the problem is with updation. Now the scenario is that the user already has application running on his machine and i want to update it to this new exe created using AIR 2.0 so that the user's application is not affected in any way. It should only be updated. Is there any way i can do that ? Can you provide us with a example or a sample application, if possible ?

                 

                Also once this update succeeds the user will now be having a exe file on his machine. So the next time if any update is enforced, the exe on the user's machine should be updated. Please provide your valuable suggestions.

                 

                Thanks in advance

                • 5. Re: Update problem after an install with exe package
                  Sumit.Bhatia1

                  I am also facing same problems with the installer. I was able to update my .Air file but When I convert my .air file to native application (.exe). I am unable to provide updates for the application.

                  • 6. Re: Update problem after an install with exe package
                    Team-Booster Level 1

                    In fact an installation with a .AIR file can be update with an other .AIR file, but an installation with a .EXE file (or other) can't !!!!

                    It's really incredible, because AIR 2.0 is the third real AIR version and lot of people had deployed their app since 1.0 version and today it's impossible for them (us) to use the new capacity of 2.0 (native installer).

                     

                    Of course Adobe had no documentation or exemples for solve this situation ?

                    Maybe a 2.1 version to correct this mistake Mr Adobe ?

                    • 7. Re: Update problem after an install with exe package
                      chris.campbell Adobe Employee

                      I'm working on getting some documentation/tutorials created to cover the native installer update scenario.  We understand this is a popular request and I'll definitely report back on the forums once our documentation is complete.  If anyone has feedback, examples, or links to posts/blogs detailing this scenario please don't hesitate to let everyone know.

                       

                      From my understanding, updating a native installer-based app to a newer native installer-based app should be straight forward.  Once you've downloaded the app, you should be able to call File.openWithDefaultApplication() on the native installer which should execute it properly.

                       

                      Unfortunately, there is no clean path to upgrade an .air-file based app to a native installer-based app.  There are no internal API's that would allow you to launch the exe (or dmg, etc) from your AIR app so you'll need to have the user manually launch the installer.

                       

                      Chris

                      • 8. Re: Update problem after an install with exe package
                        patelbrijeshn

                        Hi,

                         

                        I did following to get all my existing users upgraded to native installer based app.

                         

                        a) develop a version of the existing air app (new version say 1.05 , same app name, same pub id), which will be installed on 1.0 version using the existing version upgrade f/w which 1.0 version of your app is already configured to do.

                         

                        b) this version on installation and launch would download the exe based setup (new version  say 1.1 ), on prompt the user to save and run the exe, by opening it in a default browser (using navigate_to_url )

                         

                        c) when user runs the exe (new setup) it asks for replacement of existing application, i.e upgrade to new version.

                         

                        d) this new version then takes care of the any further upgrades by downloading the latest exe from server (write code for it), and then runs the exe, either by using openWithDefault() or as a native process.

                         

                        Once you call open with default or call it as a native process, invoke close on the existing app, so that it closes before the version upgrade begins, there by allowing installation.

                         

                        This process is kind of not that good looking, but it seamless from user experience point of view. Just that it prompts for version upgrade twice. But is still an auto process, and I think the best you can do it with all your existing installations without asking the user to do any manual un-install and re-install of new version.

                         

                        Let me know if this helps.

                         

                        Regards,

                        Brijesh

                        • 9. Re: Update problem after an install with exe package
                          Team-Booster Level 1

                          Ok finaly it appears that is the only solution, but if this method is possible (It's really possible to execute a exe file directly from an AIR app ? no restriction ?), it's really not a friendly method. This mistake makes unusable the native installers for a lot of us.  Pending a correction of the update I continu to use the AIR files (but not by choice). Please Mr Adobe an update to correct this error very quickly.

                          • 10. Re: Update problem after an install with exe package
                            patelbrijeshn Level 1

                            I think even if you invoke the exe using native process.. system restrictions will still apply... so if the exe is downloaded from web

                            and is marked blocked (say on Vista), it will throw an error.