office-gobmx/onlineupdate
Andrea Gelmini 86b8c063a4 Fix typos
Change-Id: I964528cf4f3b81230c683011e1878b28378b0014
Reviewed-on: https://gerrit.libreoffice.org/44915
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-19 21:57:17 +01:00
..
inc chmod 0755 -> 0644 for some source files 2017-10-23 20:52:41 +02:00
qa updater: get the signature verification working on Windows 2017-07-31 23:56:19 +02:00
source Fix typos 2017-11-19 21:57:17 +01:00
workben updater: get the updater GUI working on Linux 2017-08-22 20:01:56 +02:00
astyle.options add the astyle script used to format the files 2017-05-19 03:43:28 +02:00
CustomTarget_generated.mk the custom target needs to depend on python 2017-06-08 05:23:30 +02:00
Executable_mar.mk updater: get the signature verification working on Windows 2017-07-31 23:56:19 +02:00
Executable_mbsdiff.mk add mbsdiff as build executable 2017-05-19 03:43:31 +02:00
Executable_test_updater_dialog.mk updater: add a way to test the dialog code of the updater 2017-08-21 09:37:13 +02:00
Executable_update_service.mk updater: reference the correct new static library name 2017-08-14 15:19:27 +02:00
Executable_updater.mk updater: get the updater GUI working on Linux 2017-08-22 20:01:56 +02:00
Makefile
Module_onlineupdate.mk updater: get the updater GUI working on Linux 2017-08-22 20:01:56 +02:00
README updater: get the signature verification working on Windows 2017-07-31 23:56:19 +02:00
StaticLibrary_libmar.mk updater: get the signature verification working on Windows 2017-07-31 23:56:19 +02:00
StaticLibrary_libmarverify.mk updater: fix error in linux part of updater makefiles 2017-08-22 00:20:12 +02:00
StaticLibrary_updatehelper.mk extract the common updater code to an own static library 2017-05-19 03:43:26 +02:00
WinResTarget_updater.mk add the resource to the updater 2017-05-19 03:43:27 +02:00

Online update implementation based on Mozilla's MAR format + update mechanism

Parts of this code are copied from the mozilla repository, and adapted to
LibreOffice needs:

firefox/modules/libmar -> onlineupdate/source/libmar
firefox/toolkit/mozapps/update -> onlineupdate/source/update

The source/service directory contains the code for the silent windows updater that avoids the repeated administrator check for an update.

== NOTE ==
The updater executable should not depend on any other dynamic library in the LibreOffice installation as we would need to copy that one also to a temporary directory during update. We can't update any library or executable that is currently in use. For the updater executable we solve this problem by copying the updater before using it to a temporary directory.

On Windows we use the system to provide us with a crypto library whereas on Linux we use NSS.

== Update procedure ==

The updater executable is run two times. In a first run, the current installation is copied to a "update" directory and the update is applied in this "update" directory. During the next run, a replacement request is executed. The replacement request removes the old installation directory and replaces it with the content of the "update" directory.

=== User profile in the installation directory ===

The archive based installations have the user profile by default inside of the installation directory. During the update process this causes some problems that need special handling in the updater.

* The "update" directory is inside of the user profile resulting in recursive copying.
* During the replacement request the updater log is in the user profile, which changes location from the actual location to a backup location.