I need some pointers. I'm developing a program for an oil and gas company. Currently they're using the program as I'm coding it. By that I mean I release an alpha version, they play with it, find bugs, create a wishlist, etc. I update the program. They play with it find bugs, etc. etc. etc. Anyway, I want to have my program auto-update if there's an update available. It's running on an SQL Server, and currently I've got a [Version] table that has 3 fields, [CurrentVersion], [UpdatePath], and [LockDB].

[CurrentVersion] = the version the client .exe should be at
[UpdatePath] = the path to the new .exe
[LockDB] = a way for me to lock the database for maintenance, etc.

When the program starts, it checks the value of [CurrentVersion] against the version of the app, and if it's not the same, it makes a backup copy of the .exe, copies the new .exe from [UpdatePath], and exits the program.

Problems so far is the .exe is the only file that gets updated. There could possibly be .dlls, images, and reporting files that need to be updated as well.

If anyone has done this sort of thing before or has any suggestions I'd appreciate it.

Thank you,

Leecher