TotemArts / Rx_Launcher

Renegade X Launcher
12 stars 9 forks source link

Replaced batch script in SelfUpdater.cs with SelfUpdateExecutor #29

Closed JAJames closed 6 years ago

JAJames commented 6 years ago

This change moves the responsibility of self-update installation from the launcher being replaced to the launcher being installed. Additionally, this moves self-update application logic out of a batch script and into a standalone C# program which should be easier to debug and improve.

The new self updater should also be slightly more resilient against any out-of-disk-memory issues, because it no longer copies the extracted files. Instead, it moves them into place. Error messages should also be significantly clearer to the end user since the error code passed to the launcher is now a string rather than a number.

This has been tested locally by compiling this branch, setting the version file to point to beta.json, and then allowing it to update.

AlienXAXS commented 6 years ago

Hey Jess, Is it worth adding an Application Manifest File to force the Updater to run as an admin to ensure permissions are always met?

Application Manifest File should include: <requestedExecutionLevel` level="requireAdministrator" uiAccess="false" />