Is there any way that you can live update an application so that it connects to a web server and automatically replaces files?
Is there any way that you can live update an application so that it connects to a web server and automatically replaces files?
Yes there is, make a ftp connection, connect and download a encrypted filelist that contains filename, filepath, md5. Application checks all md5 files and downloads from the ftp all the files that failed at the md5 test. Easy as pie.
I suggest before you download, check if its already up to date first.
FTP connection? Why would you bother? It's going to be anonymous or public so HTTP is more efficient for the task.
Compare FTP and HTTP.
For an auto-updater, there are a lot of ways to go.
There is the single-file-index method that cypher suggests that a lot of software use (which requires you to parse a file amongst other things). You could alternatively use a package method which would require you parse through some kind of manifest to update individual files. If all of your files are loose, you could simply store files with a name like "somefile.dll.ver" on the server, download it (for each file in the current directory or on a manifest file), read the version and compare to the one you've got, and if it's newer, download the file it references.
More simple is just a version system for the entire application. Anytime a change is made you update a minor version, so you have a file on the webserver like appname_version.txt, download it, compare against the one running, if it's greater, download a self-extracting archive of some sort (or an actual patcher), then run it (with notification to the end-user, preferably...).
It can be a lot more complex (flexible, dynamic, modular, scalable, etc), but it depends on what you need and what you're trying to do.