by TimStone » Mon Dec 16, 2013 6:49 pm
AUTO UPDATING: I have posted about this before but will re-state here.
There are 3 parts to my updating system. The first is client tracking and payment processing. My system processes payments, then applies them to clients, and creates an encrypted keyfile. This is then uploaded to my server. The keyfile contains the version they are authorized to, which may be in the future. My version numbering system follows the format v:yq:mu, where v is the Version, y is the last digit of the year, q is the quarter of that year, m is the month in that quarter, and u is the update within that month. Thus 6.32.24 would be the 4th update of May, 2013, for Version 6 of the software. When payments are applied, the maximum version allowed is automatically generated and added to the keyfile.
When I complete updates, the version number is set. My management system automatically uploads the update and a version file.
The customer, on their local server, has a program that runs 24/7. Every 3 hours it check my server and download the key file ( just a few seconds ). It also downloads the version file. It checks their current authorization, compares it to what is available on the server, and if there is new software, it downloads it to a folder on the server.
When the customer starts the program, they actually start a routine that checks the local server to see if a newer version is available. If so, it copies it to the workstation first, then starts the program. Otherwise, it just starts the program.
All aspects of this can be fully automated. Credit card payments can be processed online, and if successful, update the main client file.
The auto updater also does other functions. Some files are created and need to be uploaded to 3rd party vendors. This is done automatically, usually sometime after midnight when the system is not being used. Also, it runs an automatic nightly backup. Thirdly, it does an auto email system that sends out notices and reminders to their clients each night when requested. My customer sets it all up once, and then its all automatic.
Tim