</serializedBean>
<condition>Util.isMacOS() && !context.getBooleanVariable("isAdmin") // Admin on macOS will add path to /etc/paths.d in Create File action</condition>
</action>
+ <action name="BOTHSPACE: Set advancedOptions" id="3040" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
+ <serializedBean>
+ <property name="script">
+ <object class="com.install4j.api.beans.ScriptProperty">
+ <property name="value" type="string">Boolean.FALSE</property>
+ </object>
+ </property>
+ <property name="variableName" type="string">advancedOptions</property>
+ </serializedBean>
+ </action>
<action name="BOTHSPACE: Set allowUserDefaultAppdirUpdates" id="2976" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
<serializedBean>
<property name="script">
<property name="variableName" type="string">allowUserDefaultAppdirUpdates</property>
</serializedBean>
</action>
+ <action name="BOTHSPACE: Set allowSetUserAppdirPath" id="3039" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
+ <serializedBean>
+ <property name="script">
+ <object class="com.install4j.api.beans.ScriptProperty">
+ <property name="value" type="string">Boolean.FALSE</property>
+ </object>
+ </property>
+ <property name="variableName" type="string">allowSetUserAppdirPath</property>
+ </serializedBean>
+ </action>
+ <action name="BOTHSPACE: Set userAppdirPath" id="3038" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
+ <serializedBean>
+ <property name="script">
+ <object class="com.install4j.api.beans.ScriptProperty">
+ <property name="value" type="string">""</property>
+ </object>
+ </property>
+ <property name="variableName" type="string">userAppdirPath</property>
+ </serializedBean>
+ </action>
<action name="BOTHSPACE: Set allowInstallerAppdirUpdates" id="2977" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
<serializedBean>
<property name="script">
// set enabled of userAppdirPath text field
fc_userAppdirPath.setEnabled(advancedOptions && allowUserAppdirPath && fc_allowUserAppdirPath.isEnabled());
+// get String value of userAppdirPath text field
+JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
+String userAppdirPath = jtf_userAppdirPath.getText();
+
// get boolean status of "Allow installation updates" checkbox
-// get String value of userAppdirPath text field
-JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
-String userAppdirPath = jtf_userAppdirPath.getText();
-
// should we show the invalid user-space path warning?
boolean u = userAppdirPath.contains("%u");
boolean h = userAppdirPath.contains("%h");
<pre>${installer:userDefaultAppdirBase}</pre>
unless customised below.
</html></property>
- <property name="initiallySelected" type="boolean" value="true" />
<property name="selectionScript">
<object class="com.install4j.api.beans.ScriptProperty">
<property name="value" type="string">FormComponent fc_advancedOptions = formEnvironment.getFormComponentById("SS_ADVANCED_OPTIONS");
+FormComponent fc_notUsed = formEnvironment.getFormComponentById("SS_NOT_USED");
FormComponent fc_userUpdates = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_UPDATES");
FormComponent fc_installerUpdates = formEnvironment.getFormComponentById("SS_ALLOW_INSTALLER_APPDIR_UPDATES");
FormComponent fc_allowUserAppdirPath = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_PATH");
// set visibility of Advanced options layout group
lg_advancedGroup.setVisible(advancedOptions);
+fc_notUsed.setVisible(!advancedOptions);
if (!advancedOptions) {
return;
// set enabled of userAppdirPath text field
fc_userAppdirPath.setEnabled(advancedOptions && allowUserAppdirPath && fc_allowUserAppdirPath.isEnabled());
+// get String value of userAppdirPath text field
+JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
+String userAppdirPath = jtf_userAppdirPath.getText();
+
// get boolean status of "Allow installation updates" checkbox
-// get String value of userAppdirPath text field
-JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
-String userAppdirPath = jtf_userAppdirPath.getText();
-
// should we show the invalid user-space path warning?
boolean u = userAppdirPath.contains("%u");
boolean h = userAppdirPath.contains("%h");
<property name="selectionScript">
<object class="com.install4j.api.beans.ScriptProperty">
<property name="value" type="string">FormComponent fc_advancedOptions = formEnvironment.getFormComponentById("SS_ADVANCED_OPTIONS");
+FormComponent fc_notUsed = formEnvironment.getFormComponentById("SS_NOT_USED");
FormComponent fc_userUpdates = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_UPDATES");
FormComponent fc_installerUpdates = formEnvironment.getFormComponentById("SS_ALLOW_INSTALLER_APPDIR_UPDATES");
FormComponent fc_allowUserAppdirPath = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_PATH");
// set visibility of Advanced options layout group
lg_advancedGroup.setVisible(advancedOptions);
+fc_notUsed.setVisible(!advancedOptions);
if (!advancedOptions) {
return;
// set enabled of userAppdirPath text field
fc_userAppdirPath.setEnabled(advancedOptions && allowUserAppdirPath && fc_allowUserAppdirPath.isEnabled());
+// get String value of userAppdirPath text field
+JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
+String userAppdirPath = jtf_userAppdirPath.getText();
+
// get boolean status of "Allow installation updates" checkbox
-// get String value of userAppdirPath text field
-JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
-String userAppdirPath = jtf_userAppdirPath.getText();
-
// should we show the invalid user-space path warning?
boolean u = userAppdirPath.contains("%u");
boolean h = userAppdirPath.contains("%h");
<property name="inputVerifier">
<object class="com.install4j.api.beans.ScriptProperty">
<property name="value" type="string">FormComponent fc_advancedOptions = formEnvironment.getFormComponentById("SS_ADVANCED_OPTIONS");
+FormComponent fc_notUsed = formEnvironment.getFormComponentById("SS_NOT_USED");
FormComponent fc_userUpdates = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_UPDATES");
FormComponent fc_installerUpdates = formEnvironment.getFormComponentById("SS_ALLOW_INSTALLER_APPDIR_UPDATES");
FormComponent fc_allowUserAppdirPath = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_PATH");
// set visibility of Advanced options layout group
lg_advancedGroup.setVisible(advancedOptions);
+fc_notUsed.setVisible(!advancedOptions);
if (!advancedOptions) {
return true;
// set enabled of userAppdirPath text field
fc_userAppdirPath.setEnabled(advancedOptions && allowUserAppdirPath && fc_allowUserAppdirPath.isEnabled());
+// get String value of userAppdirPath text field
+JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
+String userAppdirPath = jtf_userAppdirPath.getText();
+
// get boolean status of "Allow installation updates" checkbox
-// get String value of userAppdirPath text field
-JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
-String userAppdirPath = jtf_userAppdirPath.getText();
-
// should we show the invalid user-space path warning?
boolean u = userAppdirPath.contains("%u");
boolean h = userAppdirPath.contains("%h");
</property>
<property name="variableName" type="string">userAppdirPath</property>
</serializedBean>
- <initScript>component.setEnabled( context.getBooleanVariable("allowUserDefaultAppdirUpdates") && context.getBooleanVariable("allowSetUserAppdirPath") )</initScript>
+ <initScript>component.setEnabled( context.getBooleanVariable("allowUserDefaultAppdirUpdates") && context.getBooleanVariable("allowSetUserAppdirPath") );
+</initScript>
</formComponent>
</beans>
</group>
<property name="selectionScript">
<object class="com.install4j.api.beans.ScriptProperty">
<property name="value" type="string">FormComponent fc_advancedOptions = formEnvironment.getFormComponentById("SS_ADVANCED_OPTIONS");
+FormComponent fc_notUsed = formEnvironment.getFormComponentById("SS_NOT_USED");
FormComponent fc_userUpdates = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_UPDATES");
FormComponent fc_installerUpdates = formEnvironment.getFormComponentById("SS_ALLOW_INSTALLER_APPDIR_UPDATES");
FormComponent fc_allowUserAppdirPath = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_PATH");
// set visibility of Advanced options layout group
lg_advancedGroup.setVisible(advancedOptions);
+fc_notUsed.setVisible(!advancedOptions);
if (!advancedOptions) {
return;
// set enabled of userAppdirPath text field
fc_userAppdirPath.setEnabled(advancedOptions && allowUserAppdirPath && fc_allowUserAppdirPath.isEnabled());
+// get String value of userAppdirPath text field
+JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
+String userAppdirPath = jtf_userAppdirPath.getText();
+
// get boolean status of "Allow installation updates" checkbox
-// get String value of userAppdirPath text field
-JTextField jtf_userAppdirPath = (JTextField) fc_userAppdirPath.getConfigurationObject();
-String userAppdirPath = jtf_userAppdirPath.getText();
-
// should we show the invalid user-space path warning?
boolean u = userAppdirPath.contains("%u");
boolean h = userAppdirPath.contains("%h");
<property name="actionScript">
<object class="com.install4j.api.beans.ScriptProperty">
<property name="value" type="string">FormComponent fc_advancedOptions = formEnvironment.getFormComponentById("SS_ADVANCED_OPTIONS");
+FormComponent fc_notUsed = formEnvironment.getFormComponentById("SS_NOT_USED");
FormComponent fc_userUpdates = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_UPDATES");
FormComponent fc_installerUpdates = formEnvironment.getFormComponentById("SS_ALLOW_INSTALLER_APPDIR_UPDATES");
FormComponent fc_allowUserAppdirPath = formEnvironment.getFormComponentById("SS_ALLOW_USER_APPDIR_PATH");
LayoutGroup lg_setUserAppdirPath = formEnvironment.getLayoutGroupById("SS_SET_USER_APPDIR_PATH");
+
// set defaults
JCheckBox jcb_user = (JCheckBox) fc_userUpdates.getConfigurationObject();
jcb_user.setSelected(true);
// set visibility of Advanced options layout group
lg_advancedGroup.setVisible(advancedOptions);
+fc_notUsed.setVisible(!advancedOptions);
if (!advancedOptions) {
return;
// set enabled of userAppdirPath text field
fc_userAppdirPath.setEnabled(advancedOptions && allowUserAppdirPath && fc_allowUserAppdirPath.isEnabled());
+// get String value of userAppdirPath text field
+String userAppdirPath = jtf_userAppdirPath.getText();
+
// get boolean status of "Allow installation updates" checkbox
-// get String value of userAppdirPath text field
-String userAppdirPath = jtf_userAppdirPath.getText();
-
// should we show the invalid user-space path warning?
boolean u = userAppdirPath.contains("%u");
boolean h = userAppdirPath.contains("%h");
<action name="Allow user-space updates" id="2996" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="launcherId" type="string">2823</property>
- <property name="vmOptions" type="array" elementType="string" length="2">
- <element index="0"># Uncomment the following line to disable user-space updates</element>
- <element index="1">#-Dnouserdefaultappdir=true</element>
+ <property name="vmOptions" type="array" elementType="string" length="3">
+ <element index="0">#</element>
+ <element index="1"># Uncomment the following line to disable user-space updates</element>
+ <element index="2">#-Dnouserdefaultappdir=true</element>
</property>
</serializedBean>
<condition>!context.getBooleanVariable("disableUserDefaultAppdirUpdates")</condition>
<action name="Disable user-space updates" id="2997" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="launcherId" type="string">2823</property>
- <property name="vmOptions" type="array" elementType="string" length="2">
- <element index="0"># Comment out the following line to allow user-space updates</element>
- <element index="1">-Dnouserdefaultappdir=true</element>
+ <property name="vmOptions" type="array" elementType="string" length="3">
+ <element index="0">#</element>
+ <element index="1"># Comment out the following line to allow user-space updates</element>
+ <element index="2">-Dnouserdefaultappdir=true</element>
</property>
</serializedBean>
<condition>context.getBooleanVariable("disableUserDefaultAppdirUpdates")</condition>
<action name="Set setUserAppdirPath property" id="3026" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="launcherId" type="string">2823</property>
- <property name="vmOptions" type="array" elementType="string" length="4">
- <element index="0"># The below line sets a custom path for user-space updates -- use with caution.</element>
- <element index="1"># A leading ~/ or %h anywhere will be sustituted with the user's home path, and %u by the username.</element>
- <element index="2"># If unset, the default is ${installer:userDefaultAppdirBase} for ${installer:osName}</element>
- <element index="3">-Dsetuserappdirpath=${installer:setUserAppdirPath}</element>
+ <property name="vmOptions" type="array" elementType="string" length="5">
+ <element index="0">#</element>
+ <element index="1"># The below line sets a custom path for user-space updates -- use with caution.</element>
+ <element index="2"># A leading ~/ or %h anywhere will be sustituted with the user's home path, and %u by the username.</element>
+ <element index="3"># If unset, the default is ${installer:userDefaultAppdirBase} for ${installer:osName}</element>
+ <element index="4">-Dsetuserappdirpath=${installer:setUserAppdirPath}</element>
</property>
</serializedBean>
<condition>(String)context.getVariable("setUserAppdirPath") != null</condition>
<action name="Don't set setUserAppdirPath property" id="3037" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="launcherId" type="string">2823</property>
- <property name="vmOptions" type="array" elementType="string" length="4">
- <element index="0"># Uncomment the below line to set a custom path for user-space updates -- use with caution.</element>
- <element index="1"># A leading ~/ or %h anywhere will be sustituted with the user's home path, and %u by the username.</element>
- <element index="2"># If not set, the default is ${installer:userDefaultAppdirBase} for ${installer:osName}</element>
- <element index="3"># -Dsetuserappdirpath=${installer:setUserAppdirPath}</element>
+ <property name="vmOptions" type="array" elementType="string" length="5">
+ <element index="0">#</element>
+ <element index="1"># Uncomment the below line to set a custom path for user-space updates -- use with caution.</element>
+ <element index="2"># A leading ~/ or %h anywhere will be sustituted with the user's home path, and %u by the username.</element>
+ <element index="3"># If not set, the default is ${installer:userDefaultAppdirBase} for ${installer:osName}</element>
+ <element index="4">#-Dsetuserappdirpath=/tmp/jalview/%u</element>
</property>
</serializedBean>
<condition>(String)context.getVariable("setUserAppdirPath") == null</condition>
<action name="Allow updates" id="2998" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="launcherId" type="string">2823</property>
- <property name="vmOptions" type="array" elementType="string" length="2">
- <element index="0"># Uncomment the following line to also disable all updates</element>
- <element index="1">#-Dsilent=noupdate </element>
+ <property name="vmOptions" type="array" elementType="string" length="3">
+ <element index="0">#</element>
+ <element index="1"># Uncomment the following line to also disable all updates</element>
+ <element index="2">#-Dsilent=noupdate </element>
</property>
</serializedBean>
<condition>!context.getBooleanVariable("disableUpdates")</condition>
<action name="Disable updates" id="2999" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="launcherId" type="string">2823</property>
- <property name="vmOptions" type="array" elementType="string" length="2">
- <element index="0"># Comment out the following line to enable updates</element>
- <element index="1">-Dsilent=noupdate</element>
+ <property name="vmOptions" type="array" elementType="string" length="3">
+ <element index="0">#</element>
+ <element index="1"># Comment out the following line to enable updates</element>
+ <element index="2">-Dsilent=noupdate</element>
</property>
</serializedBean>
<condition>context.getBooleanVariable("disableUpdates")</condition>