office-gobmx/onlineupdate
Hossein ea5641baee Updated README.md files to represent current code / use Markdown format
Previously, all of the README files have been renamed to README.md
and now, the contents of these files were changed to use Markdown
format. Other than format inconsistency, some README.md files lacked
information about modules, or were out of date. By using LibreOffice
/ OpenOffice wiki and other documentation websites, these files were
updated. Now every README.md file has a title, and some description.
The top-level README.md file is changed to add links to the modules.
The result of processing the Markdown format README.md files can be
seen at: https://docs.libreoffice.org/

Change-Id: Ic3b0c3c064a2498d6a435253b041df010cd7797a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113424
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-04-07 17:47:16 +02:00
..
inc tdf#123936 Formatting files in module onlineupdate with clang-format 2020-11-19 19:21:39 +01:00
qa
source Replace more deprecated gtk_hbox_new/gtk_vbox_new with gtk_box_new 2020-12-21 09:42:50 +01:00
workben
astyle.options
CustomTarget_generated.mk the custom target needs to depend on python 2017-06-08 05:23:30 +02:00
Executable_mar.mk
Executable_mbsdiff.mk
Executable_test_updater_dialog.mk drop gtk2 support 2019-09-30 16:53:32 +02:00
Executable_update_service.mk Drop UNICODE/_UNICODE defines 2019-04-04 13:57:59 +02:00
Executable_updater.mk drop gtk2 support 2019-09-30 16:53:32 +02:00
Makefile
Module_onlineupdate.mk updater: get the updater GUI working on Linux 2017-08-22 20:01:56 +02:00
README.md Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
StaticLibrary_libmar.mk
StaticLibrary_libmarverify.mk
StaticLibrary_updatehelper.mk
WinResTarget_updater.mk add the resource to the updater 2017-05-19 03:43:27 +02:00

Online Update

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 an 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.