SymphonyElectron/installer/mac
Vishwas Shashidhar a145e56369
SDA-1062: warn users before closing running app (#972)
- On macOS, currently, when trying to install new version of SDA, we simply kill the app before asking user if they'd like to quit and proceed.
- This fixes the issue and provides a better user experience.

Signed-off-by: Vishwas Shashidhar <vishwas.shashidhar@symphony.com>
2020-04-21 11:18:27 +05:30
..
SymphonySettingsPlugin SDA-1636: revert auto layout settings (#836) 2019-12-20 11:41:14 +05:30
SymphonySettingsPlugin.bundle/Contents fix: SDA-1749: Enable code signing for third party binaries (#874) 2020-02-13 23:41:16 +05:30
background.png fix: ELECTRON-1426 (Update custom title bar icon and fix Symphony icons) (#749) 2019-07-24 00:18:49 +05:30
intro.html Electron-391 (Redesigned Windows & macOS installer) (#346) 2018-04-30 17:02:51 +05:30
postinstall.sh fix: SDA-1859 & SDA-1857 (Add cloud config installer changes for MacOS & fix ZoomIn shortcut menu item) (#917) 2020-03-15 17:17:49 +05:30
preinstall.sh SDA-1062: warn users before closing running app (#972) 2020-04-21 11:18:27 +05:30
README.md electron-37: updated readme (#136) 2017-06-09 08:51:25 -07:00
symphony-mac-packager.pkgproj SDA-1062: warn users before closing running app (#972) 2020-04-21 11:18:27 +05:30

Advanced Mac Installer

Overview

Using Packages, we can build a .pkg file for an existing app (.app). The tool allows us to customise the installation procedure so as to capture the user entered pod url amongst other settings.

Pre-requisites

Build Process

Once we have Packages installed, we'll just need to run the following command which should take care of creating the .pkg build for us.

packagesbuild -v installer/mac/symphony-mac-packager.pkgproj

The above command creates the build 'Symphony.pkg' and places it into the directory installer/mac/build relative to the project root.

Also note that the packages project file 'symphony-mac-packager.pkgproj' contains link to the plugin bundle and the post install script both of which are relative to 'symphony-mac-packager.pkgproj'.

More command line documentation here

Notes

Currently, both the plugin source code and the plugin bundle are in the installer/mac directory. This helps us create builds in a quicker way than having to maintain another repo and building the plugin every time we build the pkg.

Implementation Details

  • The plugin captures data entered by the user and copied it to a temp file
  • The post installation script then reads data from the temp file and replaces the values in the 'Symphony.config' file in the installed app

Known Issues

  • During installation, there is a section called "Destination Select" which is skipped based on the OS and it's settings. This is a known bug.
  • Only macOS 10.7+ versions are supported with the installer plugin