9

I want an auto updater that detect modified files (by comparing files on the client-side and a server) and only download modified files. I also want it to give me its status lively (To show it on a process bar or something)

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. But, the bandwidth is limited, so it's not very efficient to give them a full installer each time. (Which we do currently)

I searched around a little, and I found IcePatch2. 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. (I have to run it as a separate process, or write a COM or something to interact with the IcePatch2Client)

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?

Aidin
  • 1,271
  • 14
  • 20
  • Fully running an updater inside your application doesn't work well. Windows locks the files of running programs so they can't be replaced. So you either need an outside patcher or a launcher which gets(almost) never patched. – CodesInChaos Dec 01 '10 at 15:45

2 Answers2

3

We use wyBuild.

It produces binary delta patches - even better than file-level. It also has a client auto-update component too: wyUpdate.

Tim Lloyd
  • 37,954
  • 10
  • 100
  • 130
2

We use AppLifeUpdate. You can create update packages that contain only the chnaged files. I'm not sure if it does binary deltas though. It is a .NET component and can optionally use a service that you install to do elevated installer updates (only really needed for changes affecting all users on a system).

Garo Yeriazarian
  • 2,533
  • 18
  • 29