Auto restart

Hi,

we tested wyBuild for a while and because it's a really great tool we already bought it. Great job guys!

I have a question about automatic-restart function at the end of the update process. Whenever the update is being installed your application is closed and when the installation finishes it is restarted. This is basically good practice. However we are making a game and sometimes we update only some of our data files that aren't loaded by the application at the beginning. They are loaded at particular level when the user choose to play it and we always check for new updates only once at application start-up and never afterwards. So my question is if it is possible to install such updates without the actual need of restarting the game.

Of course we may run the update process at the very beginning when no window is actually shown and the user wouldn't even notice the game was restarted but we want to show to user there are new update available and we do so by displaying our custom graphics rendered on top of the main menu using our rendering pipeline. This shows to user the whole process of downloading and extracting files together with their progress. Once the update is ready to install application is closed and after installation it is restarted however it is not always necessary to do this restart.

So my question is if it is possible to install such updates without the actual need of restarting the game.

No, wyUpdate makes the assumption that all files of your app are dependent on one another (thus all exes of your app need to be shut down). Your best option is to install the updates immediately on the next start of your application (the default behavior of the AutomaticUpdater).

Of course we may run the update process at the very beginning when no window is actually shown and the user wouldn't even notice the game was restarted but we want to show to user there are new update available and we do so by displaying our custom graphics rendered on top of the main menu using our rendering pipeline.

Using the AutomaticUpdaterBackend you can implement the custom updating UI for the checking, download, and patching steps. However, to install the update you'll still need to restart your app (or leave it until the next start of your app).

Yes, that's what we are doing right now exactly. We are using AutomaticUpdaterBackend class for all the job and it's working perfectly. We need to install the new updates immediately for various reasons so the end user has always the latest client available and game server actually refuses connections from older versions. So the update is always necessary whenever there is a new release and it is automatically installed. However not always a restart is involved...Neverthless it is not so important for us and we can live the way it is. It was just a question or maybe a feature request for some future version though I know it would be hard to say whether you actually need a restart or not, error prone and close to impossible to automatically determine. Keep up the good work...

I didn't try it, but maybe you can write come .bat file or even a small application that will close the application (kill the process) and then run it. This .bat ( or .exe) can be called by the end of the update process.

You can already automatically close wyUpdate on success. Go to File->Properties->wyUpdate in wyBuild. Then check "Close wyUpdate on successful update".

Hi,

I would also need this feature for my current project: Do not restart the app, but simply replace some "data" files.

Our requirement is provide a program which - available from the start menu for every user (installed by admin)- always updated to the newest version when run (without admin rights)

We have program A - the "launcher" - available for all users. When run, program A will create a new folder in AppData in the users profile, copy there wyUpdate.exe and client.wyc. Then it should execute an update, and with this step have the newest version of prorgam B downloaded. If the folder is already available with some old version of prorgam B of course only the patches need to be applied. Program B is not running at this time, so the files can be changed.Finally, after the update, program A will launch program B, and exit.

The problem we are facing here is that when using the nice .NET API (AutoUpdaterBackend) we can not get the update done without restarting program A.Is the only option to call wyUpdate as a "command line" tool?

I wish one had more flexibility to manually control the update process.

Oliver

Is the only option to call wyUpdate as a "command line" tool?

Yes, for these "no restart" updates. Currently that's the only way to do it.