-2

I want an auto updater that detect modified game files (by comparing files on the client-side and a server) and only download modified files.

The scenario is that there's about one thousand clients in a network, that use same application. If a new version of the application is available, they all have to get the new version.

I see a www.aldera.to game if you install the files their Aelra_patcher application auto patch the files from the server side. It do the exact thing I want:Getting the newest files from server when the patcher is run. But the problem is that clients wrote in C#, and I can't use IcePatch2 inside my application.

So far, the best solution I found is to get .NET Application Updater Component and customize it to fit my needs. But I prefer a solution that dose not require me to maintain another application.

Any idea?

1 Answers1

0

Managing file locks is fairly simple. The process should go something like this:

  1. The game application downloads the installer, if there is any
  2. The game application runs the installer and exits
  3. The installer starts doing the work of updating files as needed. If any files are locked it may wait a short while and try again, or ask the user if it is ok to close the application that have locked the files.

But the topic of minimizing update time and bandwith is a fairly complex. You might want to read Raymon Chens articles on Windows Update Formats to get some appreciation for the various issues.

I'm not familiar with IcePatch2, but it seems to be a fairly generic file synchronization tool. This may be appropriate for your specific use case, but I would expect some use cases to benefit from a more specialized approach. You could for example use knowledge of things like file or resource versions to avoid much of the work a more generic tool has to do.

JonasH
  • 28,608
  • 2
  • 10
  • 23