Updater
Overview
The updater module allows a project to be updated without the need of grabbing an entirely new release version.
Process
Version Check
The first step of the updater is to grab a remote file from the retro-exo website to see if a new version is available. If the versions are different, the updater assumes that the remote version is newer and prompts to user to begin the update.
Download
Assuming the users chooses to proceed, the updater grabs a link from the the version file which points to the update. By storing the link in the remote file, this allows the updater to dynamically point to different file resources. This protects the updater in the event a dependent resource goes down. Aria2c is used to obtain the file, using a direct get method.
Once downloaded, the update is extracted to the update folder and the version of the local copy is updated to match the version of the downloaded update.
Update Installed Games
Games which have not been installed yet are updated when they are installed. However, games that are already setup require the update files to be applied now. The updater calls a second batch file, update_installed.bat, to check the list of installed games against the list of downloaded updates. For any matches found, that particular game's update is decompressed into the installed games folder.
Changelog
Once the prior processes are complete, the most recent changelog will be displayed on screen. This will include a list of every game updated, what was fixed, and any other additions.