An installer crashes when it contains components that replace other components in the installer.
In the attached example project the installer contains components componentA and componentB and configuration file componentB/meta/package.xml contains element <Replaces>componentA</Replaces>. After generating the installer and running it with
binarycreator -c config/config.xml -p packages/ installer ./installer -verbose
one only has to click Next and it crashes. The installer prints out the following:
[1505] create Error-Exception: "Exception while loading the component script '://metadata//componentA/installscript.js'. (TypeError: Cannot read property 'name' of null)" [1505] Fatal: Exception thrown: std::exception Exception thrown: std::exception Aborted (core dumped)
The installer does not crash if the configuration file of the replaced component componentA/meta/package.xml does not contain element `<Script>installscript.js</Script>`
The same thing happens using online installers. When one adds a component to a package repository replacing an existing package in the package repository using
repogen --update-new-components -p package-dir existing-repository-dir
When the repository does not contain the replaced package the maintenance tool prints out a warning:
$ ./MaintenanceTool --checkupdates [483] Warning: "componentA" - Does not exist in the repositories anymore. There are currently no updates available.