I have developed my own program, but I would like to be able to dynamically tell the user that there is an update available for the program. This program is designed to be cross-platform, and is written in python. There will be two types of updates:
1) data updates (an xml file that includes the information required to run the program was updates) - This type of update will occur much more often
2) System updates (the actual executable [a python program compiled] is updated - This type of update will not occur as often
I need to be able to connect to an online database and compare the version posted there to the current program version to see if there is any update. If there is an update from the server, the program needs to be able to download and install that update with minimal user input. My question is how would I tell my program to systematically check for the update and then download and install it without crashing the program or asking the user to manually download and install it?