Update Distribution

Hi Guys,

I have a situation were I'd like to be able to allow clients to either update from my server or from their own local server.

I can see in wyBuild I have the option to specify multiple download sites, I'm thinking I could use this but how does the autoupdater pick which site to use?

The above would be ok for the odd client but this will get unpractical if I start doing this for more clients. Is it therefore possible to overide the download location in the autoupdater? What I'd like to do is be able to read the download sites from a file stored at the client which the autoupdater would then use for updates. I would then like my server to provide notification of an update to which the clients would then look locally for the patch files.

Is this possible?

I guess taking it one stage further would it therefore be possible to have the updates automatically download to the client server to be later picked up by my application? In a similar fashion to Windows Update Service. This would mean I wouldnt get loads of clients all trying to download from my server at the same time. I'm guessing this one is a bit beyond the scope of wyBuild but would be great if possible when distubuting apps to clients with multiple seats

Steve

Hey Steve,

I can see in wyBuild I have the option to specify multiple download sites, I'm thinking I could use this but how does the autoupdater pick which site to use?

wyUpdate tries the first download site in the list, then tries the next download site in the list if this previous one failed (and onward until a success or there are no more sites in the list).

Is this possible?

Yes, but it uses a method we don't recommend (the %updatepath% variable and the -updatepath commandline switch). But this is a huge hassle (and there are several problems related to self-updates).

It seems a few of our customers have a need for something more streamlined. We're seriously considering building something like this into wyBuild, wyUpdate, and the AutomaticUpdater.

I guess taking it one stage further would it therefore be possible to have the updates automatically download to the client server to be later picked up by my application?

Can you explain how you would imagine this would work?

Hi Sam,

It would be great if something like that could be built in to wyBuild. As my app gets more popular the hit on my server grows. I have a few clients each with a number of seats, if I could overide the download server for each client that would be great.

Any ideas if and when you might add this?

As for the distributed idea, how about something like this,

wyUpdate installed on a server can be configuered to only download new updates to a specified location on a server rather then update an app. wyUpdate can already do this would just need a switch to stop it installing and a way to specify the download location

The server can then run wyUpdate as a scheduled task each day using the above switch to download any updates. Older updates could be removed with each new update so not to fill up the client server. Maybe instead of problems being displayed to the user they could be written to a log for problem solving

Each client would then look to the location wyUpdate has downloaded too to pick up updates. This could work together with the idea of overiding download locations. I would set a config file at each client with there local download location. I could then still publish as normal to my server. Clients with a config file would look to there local server whereas client without would look to my server

The above would work very well for clients with multiple seats and I dont think its a huge change to wyBuild as it already does most of whats needed

Any ideas if and when you might add this?

Well, if you're looking to do just a separate site for each client (or group them off in some way) then you can use the %updatepath% variable in the download sites and the -updatepath commandline argument for wyUpdate.

For example:

You can add a download site with the %updatepath% variable:

%updatepath%/%file%

Then pass the updatepath to wyUpdate:

wyUpdate.exe -updatepath="http://yoursite.com/updates"

Does this make sense?