Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto update #63

Open
tryashtar opened this issue Jun 18, 2020 · 0 comments
Open

Auto update #63

tryashtar opened this issue Jun 18, 2020 · 0 comments
Assignees
Labels

Comments

@tryashtar
Copy link
Owner

tryashtar commented Jun 18, 2020

Also build and bundle an "update" executable.
When the regular program starts, it runs in the background and looks for new releases here on GitHub. If it finds any, it prompts the user to install (run with "find" argument to look, and "download" + URL to download, replacing all other nearby files and itself).

When run by hand (i.e. no arguments), it finds and then downloads what it finds automatically.

Things I don't want to do:

  • Update a version field somewhere when building a new release
  • Track a list of files that should/shouldn't be downloaded/replaced/deleted
  • Have an installer

Challenges:

  • Store current version to compare against (probably the updater saves the version string of the release it downloaded to the app properties folder -- also when fetching versions, if the EXE hash matches the one on github, silently update the local version number)
  • Only replace necessary files (basically just extract the zip and replace everything that already exists, don't delete anything else)
  • Replace itself (idea: extract new update EXE as "update-new" and make Image Map check for a file with that name on startup, and if there is one, delete the old update and rename the new one)
  • Don't annoy the user (when a new version is detected and declined, save a property for the declined version number. Then the app will suppress notifications about that version or lower, but they can always update by running the EXE, and a new release should notify them again)
@tryashtar tryashtar self-assigned this Jun 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant