Description
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.