Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Design and Architecture
  4. Distribution of deliverables over the air.

Distribution of deliverables over the air.

Scheduled Pinned Locked Moved Design and Architecture
announcementquestiondesignadobesysadmin
12 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    CodingLover
    wrote on last edited by
    #1

    I hope this is the right forum to ask my question, so I'm posting here. At the moment for all the software deliverables I used msi packaging (using Flexera InstallShield). So that for each new release I've create a new InstallShield and distribute. Looking for a possibility of distribution over the air. To do that I've do some changes to the software logic in-order to poll a server may be and download the latest binaries. What I've in my mind is similar design of Windows update, where my application will shows when a new version is available. My question is, what's the best way to archive new binaries to download. I mean on a single server for example, and what if server down in case? Feedback and comments really appreciates. Thanks in advance.

    If you've never failed... You've never lived...

    N Richard DeemingR D L 4 Replies Last reply
    0
    • C CodingLover

      I hope this is the right forum to ask my question, so I'm posting here. At the moment for all the software deliverables I used msi packaging (using Flexera InstallShield). So that for each new release I've create a new InstallShield and distribute. Looking for a possibility of distribution over the air. To do that I've do some changes to the software logic in-order to poll a server may be and download the latest binaries. What I've in my mind is similar design of Windows update, where my application will shows when a new version is available. My question is, what's the best way to archive new binaries to download. I mean on a single server for example, and what if server down in case? Feedback and comments really appreciates. Thanks in advance.

      If you've never failed... You've never lived...

      N Offline
      N Offline
      Nathan Minier
      wrote on last edited by
      #2

      Honestly, it depends entirely on the criticality of the updates. How severe of a negative impact will users suffer from not being able to update immediately on update release? Will an update server uptime of less than 100% drive consumers away from your product to alternatives? That said, static space is very cheap, and by setting up a mirror or two that your update service can point at wouldn't hurt, it would just cost a little money. Versioning for a single application can be pretty easy, just make sure that you have a "current" folder that is consistent across mirrors.

      mirror1.myapp.com

      -/myAppDataComponent
      -/current
      -/1
      -/1/1 //version 1.1
      -/1/2 //version 1.2
      -...
      -2

      ...
      |-/myAppBusinessComponent
      |-/current
      ...

      "There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli

      C 1 Reply Last reply
      0
      • C CodingLover

        I hope this is the right forum to ask my question, so I'm posting here. At the moment for all the software deliverables I used msi packaging (using Flexera InstallShield). So that for each new release I've create a new InstallShield and distribute. Looking for a possibility of distribution over the air. To do that I've do some changes to the software logic in-order to poll a server may be and download the latest binaries. What I've in my mind is similar design of Windows update, where my application will shows when a new version is available. My question is, what's the best way to archive new binaries to download. I mean on a single server for example, and what if server down in case? Feedback and comments really appreciates. Thanks in advance.

        If you've never failed... You've never lived...

        Richard DeemingR Offline
        Richard DeemingR Offline
        Richard Deeming
        wrote on last edited by
        #3

        You might want to look at Squirrel[^] - "It's like ClickOnce but Works". :)


        "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

        "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

        M C 2 Replies Last reply
        0
        • C CodingLover

          I hope this is the right forum to ask my question, so I'm posting here. At the moment for all the software deliverables I used msi packaging (using Flexera InstallShield). So that for each new release I've create a new InstallShield and distribute. Looking for a possibility of distribution over the air. To do that I've do some changes to the software logic in-order to poll a server may be and download the latest binaries. What I've in my mind is similar design of Windows update, where my application will shows when a new version is available. My question is, what's the best way to archive new binaries to download. I mean on a single server for example, and what if server down in case? Feedback and comments really appreciates. Thanks in advance.

          If you've never failed... You've never lived...

          D Offline
          D Offline
          Daniel Pfeffer
          wrote on last edited by
          #4

          IIRC, there is an option within the (paid version of) InstallShield to generate code that will check for an update when you run a program, and notify the user. Have you looked into that?

          If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack. --Winston Churchill

          C 1 Reply Last reply
          0
          • C CodingLover

            I hope this is the right forum to ask my question, so I'm posting here. At the moment for all the software deliverables I used msi packaging (using Flexera InstallShield). So that for each new release I've create a new InstallShield and distribute. Looking for a possibility of distribution over the air. To do that I've do some changes to the software logic in-order to poll a server may be and download the latest binaries. What I've in my mind is similar design of Windows update, where my application will shows when a new version is available. My question is, what's the best way to archive new binaries to download. I mean on a single server for example, and what if server down in case? Feedback and comments really appreciates. Thanks in advance.

            If you've never failed... You've never lived...

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #5

            I use a separate service to monitor the "health" of the main app (kiosk) and communicate with a server for "checking in", downloading updates (new installs), restarting / communicating (shutdown) with the main app. (Service can email that the server is down; and vise-versa). Adding this logic to the "main app" itself gets a little mind-mending for someone not familiar with the app.

            C 1 Reply Last reply
            0
            • Richard DeemingR Richard Deeming

              You might want to look at Squirrel[^] - "It's like ClickOnce but Works". :)


              "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

              M Offline
              M Offline
              Mycroft Holmes
              wrote on last edited by
              #6

              We use clickonce behind the firewall and it works reasonably well.

              Never underestimate the power of human stupidity RAH

              1 Reply Last reply
              0
              • N Nathan Minier

                Honestly, it depends entirely on the criticality of the updates. How severe of a negative impact will users suffer from not being able to update immediately on update release? Will an update server uptime of less than 100% drive consumers away from your product to alternatives? That said, static space is very cheap, and by setting up a mirror or two that your update service can point at wouldn't hurt, it would just cost a little money. Versioning for a single application can be pretty easy, just make sure that you have a "current" folder that is consistent across mirrors.

                mirror1.myapp.com

                -/myAppDataComponent
                -/current
                -/1
                -/1/1 //version 1.1
                -/1/2 //version 1.2
                -...
                -2

                ...
                |-/myAppBusinessComponent
                |-/current
                ...

                "There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli

                C Offline
                C Offline
                CodingLover
                wrote on last edited by
                #7

                Out of all, I've one application which is a core layer of others. So that's critical. There can be a situation application in use, and and the underlying layer has an update. That's a critical situation in my case. My thought of, I need a separate agent to monitor the states of applications and update.

                If you've never failed... You've never lived...

                1 Reply Last reply
                0
                • Richard DeemingR Richard Deeming

                  You might want to look at Squirrel[^] - "It's like ClickOnce but Works". :)


                  "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                  C Offline
                  C Offline
                  CodingLover
                  wrote on last edited by
                  #8

                  That's something new for me. Thanks for the comment, will have a look.

                  If you've never failed... You've never lived...

                  1 Reply Last reply
                  0
                  • D Daniel Pfeffer

                    IIRC, there is an option within the (paid version of) InstallShield to generate code that will check for an update when you run a program, and notify the user. Have you looked into that?

                    If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack. --Winston Churchill

                    C Offline
                    C Offline
                    CodingLover
                    wrote on last edited by
                    #9

                    I've licensed version of InstallShield 2011. Hope that feature support in their. I didn't knew that and never tried. Isn't it GUI maker for the installer?

                    If you've never failed... You've never lived...

                    D 1 Reply Last reply
                    0
                    • L Lost User

                      I use a separate service to monitor the "health" of the main app (kiosk) and communicate with a server for "checking in", downloading updates (new installs), restarting / communicating (shutdown) with the main app. (Service can email that the server is down; and vise-versa). Adding this logic to the "main app" itself gets a little mind-mending for someone not familiar with the app.

                      C Offline
                      C Offline
                      CodingLover
                      wrote on last edited by
                      #10

                      That's what I exactly thought of. Develop a separate agent to monitor all the applications as well as the new updates on the server. It'll download/copy new binaries to relevant locations and manage the applications accordingly.

                      If you've never failed... You've never lived...

                      1 Reply Last reply
                      0
                      • C CodingLover

                        I've licensed version of InstallShield 2011. Hope that feature support in their. I didn't knew that and never tried. Isn't it GUI maker for the installer?

                        If you've never failed... You've never lived...

                        D Offline
                        D Offline
                        Daniel Pfeffer
                        wrote on last edited by
                        #11

                        I've never had to use it myself, but I seem to remember seeing something about it in the documentation of the 2013 release.

                        If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack. --Winston Churchill

                        C 1 Reply Last reply
                        0
                        • D Daniel Pfeffer

                          I've never had to use it myself, but I seem to remember seeing something about it in the documentation of the 2013 release.

                          If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack. --Winston Churchill

                          C Offline
                          C Offline
                          CodingLover
                          wrote on last edited by
                          #12

                          Seems my version not supporting that. For the moment I'm working on a software solution to evaluate. Third agent running all the time to manage all the updates, interacting with serves.

                          If you've never failed... You've never lived...

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups