Archive: advice on automatic program upgrades


advice on automatic program upgrades
Since automatic version checks and upgrades are now quite common (and expected), I also would like like to provide automatic upgrades for our program (the software that needs to be automatically upgraded is quite large (16MB) but pretty vanilla otherwise.)

What is the best strategy for providing such upgrades? I guess uninstall and then reinstall is the easiest but our program is quite large and creates many local files for the user that should be reused in the new version.

I guess the patches need to be digitally signed (authenticode?) but how can you verify that the signature is correct (openssl?)?

Also, how do you avoid installers that require sequential patch installations (say we end up having 10 versions, and a user has version#1, do we need to force the user to upgrade to version#2 and then to #3, etc.) If we provide direct upgrade from version#n to version#m, that's a lot of patches to manage.

Then there is the issue of checking if there is a new version.

Then there is the issue of upgrading the module that does automatic program upgrades.

I was 100% sure that there was a cookie cutter solution for this problem but couldnt come up with a relevant link let alone finding a solution within NSIS.

Your advice/experience about this issue will be very welcome.


This might help.
http://forums.winamp.com/showthread.php?threadid=204817

I wrote SwUpdata in NSIS, which is now a dead project (due to the complexity of using ASM like code.)

Stu