Files
SymphonyElectron/installer/mac
Vishwas Shashidhar 3306473f07 ELECTRON-602: fix the pre-install script on macOS installation / upgrade cases (#481)
* ELECTRON-602: fix the pre-install script on macOS installation

Currently, when we try to install a version that is lower than the currently installed version, the pre install script deletes the existing version and the new version is not installed either. This is because of how macOS handles upgrades.

So, we add a version check function that exits the script if we have a new version already installed on the system rather than deleting the existing version installed on the system

* ELECTRON-602: fix the version comparison as per PR comments
2018-08-29 09:48:46 +05:30
..
2017-06-09 08:51:25 -07:00

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