# For example, to adjust the maximum memory usage to 512 MB, uncomment the following line:
# -Xmx512m
# To include another file, uncomment the following line:
-# -include-options [path to other .vmoption file]</content>
+# -include-options [path to other .vmoption file]
+
+# Jalview specific options below</content>
</vmOptionsFile>
<infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
<iconImageFiles>
boolean userUpdates = ((JCheckBox) fc_userUpdates.getConfigurationObject()).isSelected();
// get boolean status of "Customise the user-space path" checkbox
- boolean allowUserAppdirPath = ((JCheckBox) fc_allowUserAppdirPath).isSelected();
+ boolean allowUserAppdirPath = ((JCheckBox) fc_allowUserAppdirPath.getConfigurationObject()).isSelected();
// show/hide warning
boolean showInvalidPathWarning = advancedOptions && userUpdates && allowUserAppdirPath && !isUserAppdirPathValid(context, fc_userAppdirPath);
</property>
</serializedBean>
<beans>
- <action name="USERSPACE: Create start menu item" id="2916" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
+ <action name="USERSPACE: Create Start Menu item" id="2916" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="allUsers" type="boolean" value="false" />
<property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
</object>
</property>
</serializedBean>
- <condition>!Util.hasFullAdminRights() && !context.getBooleanVariable("sys.programGroupDisabled")</condition>
+ <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
</action>
<action name="USERSPACE: Add a desktop link" id="2917" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make desktop link">
<serializedBean>
</object>
</property>
</serializedBean>
- <condition>!Util.hasFullAdminRights() && context.getBooleanVariable("createDesktopLinkAction")</condition>
+ <condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
</action>
<action name="USERSPACE: Add an executable to the dock (macOS)" id="2918" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" actionElevationType="none" rollbackBarrierExitCode="0">
<serializedBean>
</object>
</property>
</serializedBean>
- <condition>!Util.hasFullAdminRights()
-&&
-context.getBooleanVariable("addToDockAction")</condition>
+ <condition>context.getBooleanVariable("addToDockAction")</condition>
</action>
<action name="USERSPACE: Add Jalview bin to the user's path (Windows)" id="2919" beanClass="com.install4j.runtime.beans.actions.misc.ModifyEnvironmentVariableAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not add "${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}" to the Path environment variable">
<serializedBean>
<property name="value" type="string">${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}</property>
<property name="variableName" type="string">Path</property>
</serializedBean>
- <condition>!Util.hasFullAdminRights() && context.getBooleanVariable("appendToPathAction")</condition>
+ <condition>context.getBooleanVariable("appendToPathAction")</condition>
</action>
<action name="USERSPACE: Create macOS symbolic link to jalview in user's local bin" id="2920" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixBinDir}">
<serializedBean>
</object>
</property>
</serializedBean>
- <condition>Util.isMacOS() && !Util.hasFullAdminRights() // Admin on macOS will add path to /etc/paths.d
-&&
+ <condition>Util.isMacOS() &&
(
context.getBooleanVariable("makeSymbolicLinkAction")
&& context.getVariable("unixBinDir") != null
</property>
</serializedBean>
<beans>
- <action name="SYSTEMSPACE: Create start menu item" id="2950" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
+ <action name="SYSTEMSPACE: Create Start Menu item" id="2950" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
<property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
<property name="entryName" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
</serializedBean>
<condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
</action>
- <action name="SYSTEMSPACE: Add Jalview bin to the user's path (Windows)" id="2952" beanClass="com.install4j.runtime.beans.actions.misc.ModifyEnvironmentVariableAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not add "${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}" to the Path environment variable">
+ <action name="SYSTEMSPACE: Add Jalview bin to the system path (Windows)" id="2952" beanClass="com.install4j.runtime.beans.actions.misc.ModifyEnvironmentVariableAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not add "${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}" to the Path environment variable">
<serializedBean>
<property name="type" type="enum" class="com.install4j.runtime.beans.actions.misc.ModifyStringType" value="APPEND" />
<property name="userSpecific" type="boolean" value="false" />
</group>
<group name="BOTHSPACE: Actions" id="2956" beanClass="com.install4j.runtime.beans.groups.ActionGroup" actionElevationType="elevated">
<beans>
- <action name="BOTHSPACE: Create Linux/Unix user symbolic link to jalview.sh in system bin" id="2955" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixBinDir}">
+ <action name="BOTHSPACE: Create Linux/Unix user symbolic link to jalview.sh in system/user bin" id="2955" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixBinDir}">
<serializedBean>
<property name="file">
<object class="java.io.File">
<property name="variableName" type="string">disableUpdates</property>
</serializedBean>
</action>
+ <action name="Set installerFilename" id="3043" 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">String file = (String)context.getVariable("sys.mediaFile");
+int i = file.lastIndexOf(File.separator);
+return file.substring(i+1);</property>
+ </object>
+ </property>
+ <property name="variableName" type="string">installerFilename</property>
+ </serializedBean>
+ </action>
+ <action name="Set installDateTime" id="3044" 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">String date = (String)context.getVariable("sys.date");
+String time = (String)context.getVariable("sys.time");
+StringBuilder sb = new StringBuilder();
+sb.append(date.substring(0,4));
+sb.append("-");
+sb.append(date.substring(4,6));
+sb.append("-");
+sb.append(date.substring(6,8));
+sb.append(" ");
+sb.append(time.substring(0,2));
+sb.append(":");
+sb.append(time.substring(2,4));
+sb.append(":");
+sb.append(time.substring(4,6));
+return sb.toString();
+</property>
+ </object>
+ </property>
+ <property name="variableName" type="string">installDateTime</property>
+ </serializedBean>
+ </action>
<action name="Initial comment" id="3010" 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"># </element>
- <element index="1"># Jalview specific options below</element>
+ <property name="vmOptions" type="array" elementType="string" length="1">
+ <element index="0"># Jalview options added by ${installer:installerFilename} at ${installer:installDateTime}</element>
</property>
</serializedBean>
</action>
</property>
<property name="removeOnUninstall" type="boolean" value="false" />
</serializedBean>
- <condition>Util.isLinux() || Util.isMacOS()</condition>
+ <condition>Util.isLinux() || ( Util.isMacOS() && !Util.isUnixInstaller() )</condition>
</action>
<action name="macOS/Linux Jalview Appname->java symlink" id="2943" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
<serializedBean>
</property>
<property name="removeOnUninstall" type="boolean" value="false" />
</serializedBean>
- <condition>(Util.isLinux() || Util.isMacOS())
+ <condition>( Util.isLinux() || ( Util.isMacOS() && !Util.isUnixInstaller() ) )
&& !((String)context.getCompilerVariable("JALVIEW_APPLICATION_NAME")).equals((String)context.getCompilerVariable("JALVIEW_NAME"))</condition>
</action>
</beans>