During installation, we must confirm that the target system meets our minimum requirements. One of these checks is performed by a Java program, which of course requires a JRE. Our installer includes a component that bundles a JRE, as our application itself requires one.
Still, we find ourselves in a pickle. While the JRE component is referenced early in our project, its postInstallationActionList (where our check is performed) isn't executed until all other components' file copy operations are completed (per https://clients.bitrock.com/installbuilder/docs/installbuilder-userguide.html#_main_project_and_components_execution_order). And by then, the user has waited a long time only to be told their system does not meet our minimum requirements.
So, some questions:
- Given that our prerequisite check itself depends on a bundled JRE that we install, what can we do to ensure that check happens as early as possible in the installation process?
- When our prerequisite check fails, how do we ensure that the installation is aborted and rolled back? As I understand it, rollback won't be triggered by an error in postInstallationActionList. I'm also unclear on the rollback behavior for a clean install (i.e. project.installationType == normal). Should I expect InstallBuilder to remove anything in this case?
Please sign in to leave a comment.