About the Launcher’s JVM Selection Behavior at Run‑Time
InstallAnywhere 2024 R2
Individual InstallAnywhere launchers can be customized to dictate how their JVMs are set (or not set) by the installer. Typically, a project's launchers acquire their JVM settings from either the installer's JVM search (using the criteria that are specified in the Advanced Designer: Project page > JVM Settings view > Search Panel Settings tab > General subtab) or, when provided, the choice that the end user makes in the Choose Java VM panel. However, you can configure your InstallAnywhere project such that an individual LaunchAnywhere launcher acquires its JVM setting in one of a variety of ways. And depending on your project settings and the target system environment, the launcher can do any of the following:
|
•
|
Use the JVM that is bundled with the installer. |
|
•
|
Use the JVM that was found by the installer's JVM search. |
|
•
|
Use the JVM that was found by the installer's launcher during the bootstrap search (the same JVM that was used to run the installer when the installer has no bundled JVM). |
|
•
|
Use the JVM that is found by an independent LaunchAnywhere JVM search. |
|
•
|
Use the JVM that is identified by an end user's search in a non-standard path. |
|
•
|
Use the JVM that is selected by an end user after browsing for a specific Java executable. |
Note:The last two options require the inclusion of the Choose Java VM panel action in the Pre-Install sequence. For more information on the use of the Choose Java VM panel, see Using the Choose Java VM Panel.
Advanced Settings of the Create LaunchAnywhere for Java Application Action
By default, LaunchAnywhere launchers follow the behavior indicated by the first of four Advanced Settings options. You can find the Advanced Settings tab on the Create LaunchAnywhere for Java Application action customizer. The Advanced Settings tab shows the following settings:
|
•
|
VM selected by the installer or by the end user via Choose VM Panel |
|
•
|
VM used by the installer |
|
•
|
The first VM found in the system matching the VM Search Settings defined under Project > JVM Settings |
VM Selected by the Installer or by the End User Via Choose VM Panel
This option is the default LaunchAnywhere behavior. If you choose this option on the Advanced Settings tab, the result depends on whether a Choose Java VM panel is included in the project:
Result of Choosing the “VM Selected by the Installer or by the End User” Option
|
|
The Choose Java VM panel is not included
|
If a Choose Java VM panel is not included in the project, one of the following will occur:
|
•
|
If no VM is bundled with the installer, then the launcher uses the same VM that launched the installer. |
|
•
|
If the bundled VM is not installed, the installer does not set a VM for the launcher. In this case, the launcher performs its own VM search when it is invoked (as necessary) and uses the criteria value in its lax.nl.valid.vm.list property to qualify suitable VMs. |
|
•
|
If the bundled VM is configured to be installed, the installer sets the launcher to use the bundled VM. |
|
•
|
If the bundled VM is configured to be installed only when a compatible VM is not found on the system and a compatible VM is found, the installer configures the launcher to use the first VM found by the search. |
|
The Choose Java VM Panel is included
|
If a Choose Java VM panel is included in the project, the installer configures the launcher to use the VM that the end user selects.
Depending on the settings in the Choose Java VM customizer and whether a bundled VM is installed, the end user may do one of the following:
|
•
|
Choose the bundled JVM. |
|
•
|
Choose the JVM that matched the installer's VM search. |
|
•
|
Browse to locate a specific JVM. |
For details, see Using the Choose Java VM Panel.
|
VM Used by the Installer
This option configures the launcher to use the VM that was used to run the installer. Hence the VM that the launcher will use depends on whether a VM is bundled with the installer, whether the bundled VM is installed, and the results of the search that locates a VM to launch the installer (bootstrap):
|
•
|
If no VM is bundled with the installer, the installer configures the launcher to use the first VM that the installer found using the criteria in the installer valid VM list(, which is set in the Advanced Designer: Project page > JVM Settings view > Installer Settings tab > Valid VM list). This is the same VM that was used to run the installer. |
|
•
|
If the bundled VM is installed, the installer configures the launcher to use the bundled VM. |
Note:There are two cases in which this setting, VM Used by the Installer, combined with certain settings on the General subtab of the Search Panel Settings tab (Project page > JVM Settings view) result in a build error:
|
•
|
The bundled VM is not configured to be installed. |
|
•
|
The bundled VM is configured to be installed only when a compatible VM is not found on the system. |
First VM Found in the System Matching the VM Search Settings Defined on the Installer Settings Tab of Project > JVM Settings
This option configures the launcher to use the results of the installer’s VM search. The installer uses the VM Search Settings defined on the General subtab of the Search Panel Settings tab (Project page > JVM Settings view).
|
•
|
If a compatible VM is found on the system, the installer configures the launcher to use the first VM found in the search. |
|
•
|
If no compatible VM is found on the system, the launcher receives no VM configuration. As a result, the launcher performs its own VM search when it is invoked. |
Note:For details on how the VM Search Settings are applied to find a VM, see Customizing the VM Search Settings for Your Launchers.
No Specific VM
This option provides no VM configuration for the launcher from the installer at run time. When you choose this option, the launcher performs its own VM search when it is invoked and uses its lax.nl.valid.vm.list property to establish valid VM criteria.
Note:Consider the following information:
|
•
|
You can customize the default value (11.0+) of a launcher's lax.nl.valid.vm.list property. To do so, click the Edit Properties button on the General Settings tab of the Create LaunchAnywhere for Java Application customizer. This opens the LaunchAnywhere Properties dialog box. Locate lax.nl.valid.vm.list, double-click its value, and edit the text. (For a detailed discussion of VM selection criteria settings, see About Java VM Selection Criteria.) Click OK to close the LaunchAnywhere Properties dialog box. |
|
•
|
Now only the JVMs in a secure location will be allowed to launch the installer as an administrator on the Windows platform. The JVMs in the non-admin user folders will not be permitted to be used and will be restricted with security error message. This behaviour option can be turned off by setting the designer.jvm.securefolder.check property to false in the com.zerog.ia.Designer.properties. |
See Also
Customizing Individual Launcher Settings
Install Actions