Update-Installer/TODO

70 lines
2.7 KiB
Plaintext

General Updater Tasks:
* Elevation for Linux [done]
* Set file permissions for Unix [done]
* Elevation for Mac [done]
* Basic functionality for Mac [done]
* Unit test working under Mac [done]
* Set file permissions for Windows [skipped for now]
* Basic functionality for Windows [done]
* Elevation for Windows [done]
* Win32 UI for Windows [done]
* Cocoa UI for Mac [done]
* Gtk or Qt UI for Linux [done - GTK UI]
* Unit test working under Windows [done]
* Start new application once installation is finished [done]
* Use message box for errors [done]
* Newly installed binary needs to be launched un-elevated [done]
* See if it is possible to overwrite application files that are in use on Windows [done - it is possible]
* Fix package dir cleanup failing on Win32 due to executable being in use [done]
* Test installing update if Microsoft Word with Mendeley plugin is active
* Write log file entries to an actual log file [done]
* Test updater on an old Windows system without Visual Studio installed and statically
link C++ runtime libraries if necessary
Mendeley-specific Updater Tasks:
* Use the Mendeley icon for the window on Windows [done]
* Use the Mendeley icon for the binary on Windows [done]
* Use the Mendeley icon for the window on Mac (N/A? - No icon in window decorations on Mac)
* Use the Mendeley icon for the window on Linux
* Advise the user to download Mendeley Desktop afresh from http://www.mendeley.com/download-mendeley-desktop
in the event of an updater problem
* Exclude Uninstall.exe from updates on Windows - see comments in utilities/autoupdate-setup/main.cpp in
the desktop source tree.
* Updater binary needs to be signed under Windows
Mendeley Desktop <= 1.0 auto-update system compatibility:
* Support for MD <= 1.0 updater command-line syntax [done]
* Backwards compatible structure for XML file [done]
Auto-update preparation tools:
* Tool to create .zip packages for a release and
upload them to S3 [done]
* Tool to generate backwards-compatible structure for XML file [done]
* Tool to generate new structure for XML file [done]
Nice To Have
============
Update size:
* Support for applying binary patches (eg. with bspatch/bsdiff)
* Try using bzip2 compression instead of standard zip compression
(requires recent version of zip/unzip tools)
Telemetry:
* Call a project-specific URL to report successful/failed update installation
and starting of new app after update
Source:
* Ensure no Mendeley branding in standalone project and publish code
Reliability:
* Create a lock to prevent Mendeley being started whilst updates are
in progress and to prevent multiple updates being run at once.
* Consider using file system transactions on Windows to make update installation atomic