2.3 KiB
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