Just a quick question: Wouldn't it be possible to save the version number in the exe file. I mean windows has saved the version in their exe files. How do Mac & Linux handle it?
This would only work for Windows. Linux executables don't contain that metadata. OS X I'm not entirely sure about as again, I don't own a Mac.
Anyways Wohlstand mentioned something about an editor built in update function. At least for checking. I'm not sure how you guys want to handle this on the server end but the simplest way that I do is..
-I have a publicly exposed version.txt file that has the latest version. The programs version is checked against this
-I also have the necessary files named, in the example of my episode manager, "SMBXEpisodeManager_Latest.exe". My build is set to upload this to the ftp and I manually add the version.txt
Again, I'm totally inexperienced on the server end but this is how I did it with my Episode Manager.
The editor could have a check for updates button or it could do it on startup but we'd still need an external utility to pull down the necessary files and replace them, no matter what OS you're on you can't replace a running EXE :P
When an update is found, the program could launch this external updater app. I suppose we could make it so that if a normal user were to execute it, it would act like a force update type thing.
From there, necessary configs and such can be pulled down and replaced.
Now, I just have to work on learning cURL since C++ doesn't exactly have a simplistic "download files" library like C# and Java do..