HTTPS SSH

ExpressUpdater

ExpressUpdater is automatic app updater/installer for desktop apps. Although now working only for Windows, it's should be easily portable to 3 main desktop platforms (Windows, Linux, Mac). It consists out of two components, web service in node.js which serves the latest version of the app, and desktop launcher in written C++ using CEF (https://bitbucket.org/chromiumembedded/cef/src/master/). Launcher updates the app by contacting the web service, downloading only the files which had been changed, and launches the app afterwards.

Screenshot

Setup

Launcher

Windows

  • VS 2017 is required (Community edition is enough).
  • Just checkout the code, open the solution and you should be able to compile and run updater.
  • In the file render_process.cpp you can find all the constants which you need to edit to setup the launcher for your app. Like URL of the web service, destination folder for the app, binary name and command line paramenters, and so on.

Linux/Mac

  • Linux/Mac support is still work in progress.
  • A build system should be setup (eg Makefiles, CMake).
  • Parts of the code should be ported. Eg starting the updated app in another proccess.

Service

  • Requirement is node.js with express.js module.
  • You should place your app binaries in the sub-folder of the folder where expressapp.js is placed. For Windows folder should be named "appwin" (alhtough that can be changed).
  • Running expressapp.js with node (node expressapp.js) should start the web service for serving your app.

License

ExpressUpdater is licensed under BSD license.