mirror of
https://github.com/etlegacy/Update-Installer.git
synced 2024-11-23 04:01:59 +00:00
33 lines
1.4 KiB
Text
33 lines
1.4 KiB
Text
This tool is a component of an auto-update system. It is responsible for performing
|
|
the installation of an update after the necessary files have been downloaded
|
|
to a temporary directory.
|
|
|
|
This tool is responsible for:
|
|
|
|
* Reading an XML file specifying the contents of an update.
|
|
|
|
* Extracting and installing updated files from one or more compressed packages.
|
|
|
|
* Removing any files which are no longer needed in the new version of the application.
|
|
|
|
* Requesting elevated priviledges if required to install the update.
|
|
|
|
* Displaying a simple updater UI and re-launching the main application
|
|
once the update is installed.
|
|
|
|
The tool consists of a single small binary which only has a small number of external
|
|
dependencies that need to be present on the target system.
|
|
|
|
The external dependencies of the updater binary are:
|
|
|
|
* The C++ runtime library (Linux, Mac),
|
|
* pthreads (Linux, Mac),
|
|
* zlib (Linux, Mac)
|
|
* native UI library (Win32 API on Windows, Cocoa on Mac).
|
|
|
|
To perform an update, the application (or another separate tool) needs to download
|
|
the updater binary, an XML file describing the update and one or more zip packages
|
|
containing the files for the update to a temporary directory. It then needs
|
|
to invoke the updater, specifying the installation directory, temporary package
|
|
directory and path to the update script file. The updater then installs the
|
|
update and restarts the application when done.
|