I once had to make a "version updater" for a VB application. The summary of the work would be, the user clicks on the updater (he doesn’t even know that there is another executable besides this one) which, in turn, searches the FTP repository for a newer version, if it downloads, unzips, copies the files to the correct folders, runs sql scripts in the database, updates operating system records and at the end executes the application.
Advantages of this format - no cost
Disadvantages of this format - too much code written for a simple task
Another way, much more interesting, is to use a continuous integration server, like Hudson, this way you would still need an "updater" but could package your libraries separately and decrease the amount of code, so maintenance, on your updater.
A third, I thought about it now but I think even more cool, would distribute the Maven with your application, use existing plugins or create yours for the purpose of recovering releases (SCM, ftp or continuous integration server), update database (scripts or Hibernate).
Anyway, since you will not be able to overwrite a running file the simplest way is to have an updater (today it is very common, such lauchers) and that your client only "know" him, being his responsibility to update and/or run what today is his file "main".
I don’t know a solution ready for this case, I hope I’ve shed light on your search.
Hello Felipe, welcome to [en.so]! I marked your question as duplicate because it already exists. Unfortunately, the other reply was also suspended because it is not clear. As it stands, your question has many possibilities of answer, as it has no clear requirements of what exactly you need. For example, will this involve database updating? Would it just overwrite the current files? Will this be automatic or depends on the user clicking on something? Your system has installer or is just a jar?
– utluiz
Anyway, a simplistic response would simply make a program that downloads the newer version and puts the files in place of the current system. There are probably many market solutions to automate this, but depending on how each application works there may be some challenges in the process.
– utluiz