When --installer type is not specified, we try to build all the available installer types for a given platform. If any fail, we stop and throw an exception and jpackage fails.
In the case where the a configuration exception exists for one installer type (such as not having candle or light installed on windows) we will instead try building all installer types, report the success of any that succeed (in the above example EXE), and then throw the exception for the first one that failed (in this case MSI).
The problem was first encountered when we were still supporting mac-app-store as type on Mac platform. Developer specified create-installer without --installer type. "mac-app-store" type failed, so "pkg" and "dmg" types were not built. Developer would prefer both "pkg" and "dmg" were created before exception is thrown.
We have now removed the mac-app-store installer type on mac, but the underlying problem should also be addressed.
It should not matter the order we build them when there are multiple installers to build.
We should complete the build of any we can build before throwing exception thrown by one of them.
In the case where the a configuration exception exists for one installer type (such as not having candle or light installed on windows) we will instead try building all installer types, report the success of any that succeed (in the above example EXE), and then throw the exception for the first one that failed (in this case MSI).
The problem was first encountered when we were still supporting mac-app-store as type on Mac platform. Developer specified create-installer without --installer type. "mac-app-store" type failed, so "pkg" and "dmg" types were not built. Developer would prefer both "pkg" and "dmg" were created before exception is thrown.
We have now removed the mac-app-store installer type on mac, but the underlying problem should also be addressed.
It should not matter the order we build them when there are multiple installers to build.
We should complete the build of any we can build before throwing exception thrown by one of them.