</components>
</files>
<launchers>
- <launcher name="Jalview Launcher" id="737" customizedId="JALVIEW" menuName="${compiler:JALVIEW_APPLICATION_NAME}" icnsFile="${compiler:JALVIEW_DIR}/${compiler:MAC_ICONS_FILE}" customMacBundleIdentifier="true" macBundleIdentifier="${compiler:BUNDLE_ID}" fileset="734" useCustomMacosExecutableName="true" customMacosExecutableName="${compiler:JALVIEW_APPLICATION_NAME}">
- <executable name="${compiler:EXECUTABLE_NAME}" iconSet="true" iconFile="${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}" redirectStdout="true" executableMode="gui" changeWorkingDirectory="false" singleInstance="true" checkConsoleParameter="true">
- <versionInfo include="true" fileDescription="${compiler:sys.fullName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:INTERNAL_ID}" productName="${compiler:sys.fullName}" />
- </executable>
- <splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}" textOverlay="true">
- <text>
- <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" />
- <versionLine x="85" y="109" text="version ${compiler:sys.version}" />
- </text>
- </splashScreen>
- <java mainClass="com.threerings.getdown.launcher.GetdownApp" vmParameters="-Dinstaller.template_version=${compiler:INSTALLER_TEMPLATE_VERSION} -Dchannel.app_name="${compiler:JALVIEW_APPLICATION_NAME}" -Dinstaller.appdir="${launcher:sys.launcherDirectory}" -Dinstaller.application_folder="${compiler:APPLICATION_FOLDER}"" arguments=""${launcher:sys.launcherDirectory}" jalview">
- <classPath>
- <archive location="getdown-launcher.jar" />
- <archive location="${compiler:GETDOWN_INSTALL_DIR}/getdown-launcher.jar" failOnError="false" />
- </classPath>
- <nativeLibraryDirectories>
- <directory name="${compiler:JRE_DIR}/bin" />
- <directory name="${compiler:GETDOWN_DIST_DIR}" />
- </nativeLibraryDirectories>
- </java>
- <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
- <iconImageFiles>
- <file path="${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}" />
- </iconImageFiles>
- <macStaticAssociations>
- <urlHandler scheme="jalview" />
- <urlHandler scheme="jalviews" />
- <urlHandler scheme="jalviewhttp" />
- <urlHandler scheme="jalviewhttps" />
- <urlHandler scheme="${compiler:EXTRA_SCHEME}" />
- </macStaticAssociations>
- </launcher>
- <launcher name="Jalview User Launcher" id="2823" menuName="${compiler:JALVIEW_APPLICATION_NAME}" icnsFile="${compiler:JALVIEW_DIR}/${compiler:MAC_ICONS_FILE}" customMacBundleIdentifier="true" macBundleIdentifier="${compiler:BUNDLE_ID}" fileset="734" addMacApplicationCategory="true" macApplicationCategory="public.app-category.education" useCustomMacosExecutableName="true" customMacosExecutableName="${compiler:JALVIEW_APPLICATION_NAME}">
- <executable name="${compiler:USER_EXECUTABLE_NAME}" iconSet="true" iconFile="${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}" redirectStdout="true" executableMode="gui" changeWorkingDirectory="false" singleInstance="true" executionLevel="highestAvailable" checkConsoleParameter="true">
+ <launcher name="Jalview User Launcher" id="2823" customizedId="JALVIEW" menuName="${compiler:JALVIEW_APPLICATION_NAME}" icnsFile="${compiler:JALVIEW_DIR}/${compiler:MAC_ICONS_FILE}" customMacBundleIdentifier="true" macBundleIdentifier="${compiler:BUNDLE_ID}" fileset="734" addMacApplicationCategory="true" macApplicationCategory="public.app-category.education" useCustomMacosExecutableName="true" customMacosExecutableName="${compiler:JALVIEW_APPLICATION_NAME}">
+ <executable name="${compiler:USER_EXECUTABLE_NAME}" iconSet="true" iconFile="${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}" stderrFile="~/.${compiler:UNIX_APPLICATION_FOLDER}-launcher.log" redirectStdout="true" stdoutFile="~/${compiler:UNIX_APPLICATION_FOLDER}-launcher.log" executableMode="gui" changeWorkingDirectory="false" singleInstance="true" executionLevel="highestAvailable" checkConsoleParameter="true">
<versionInfo include="true" fileDescription="${compiler:sys.fullName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:INTERNAL_ID}" productName="${compiler:sys.fullName}" />
</executable>
<splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}" textOverlay="true">
<directory name="${compiler:GETDOWN_DIST_DIR}" />
</nativeLibraryDirectories>
</java>
+ <vmOptionsFile mode="content">
+ <content># Enter one VM parameter per line
+# 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]
+
+# Uncomment these two lines to disable user-space automatic updates.
+#-Dnousedefaultappdir=true
+#-Dsilent=noupdate</content>
+ </vmOptionsFile>
<infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
<iconImageFiles>
<file path="${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}" />
<property name="failIfNotObtainedMac" type="boolean" value="false" />
<property name="failIfNotObtainedWin" type="boolean" value="false" />
<property name="linuxPrivilegeRequirement" type="enum" class="com.install4j.runtime.beans.actions.misc.PrivilegeRequirement" value="OBTAIN" />
- <property name="obtainIfAdminWin" type="boolean" value="false" />
+ <property name="obtainIfNormalWin" type="boolean" value="true" />
</serializedBean>
</action>
- <action name="Set unixUserBinDir (Linux or Unix)" id="2738" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
+ <action name="USERSPACE: Set unixUserBinDir (Linux or Unix)" id="2738" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
<serializedBean>
<property name="script">
<object class="com.install4j.api.beans.ScriptProperty">
ArrayList<String> tryPaths = new ArrayList<> ();
tryPaths.add(userHome + File.separator + "bin");
-tryPaths.add(userHome + File.separator + ".local" + File.separator + "bin");
tryPaths.add(userHome + File.separator + "local" + File.separator + "bin");
+tryPaths.add(userHome + File.separator + ".local" + File.separator + "bin");
tryPaths.add(userHome + File.separator + "opt" + File.separator + "bin");
if (Util.isMacOS()) { // && root permission?
</property>
<property name="variableName" type="string">unixUserBinDir</property>
</serializedBean>
- <condition>Util.isLinux() || Util.isUnixInstaller() || Util.isMacOS()</condition>
+ <condition>!Util.hasFullAdminRights()
+&&
+(
+ Util.isLinux()
+ || Util.isUnixInstaller()
+ || Util.isMacOS()
+)</condition>
</action>
<action name="Set macWrapperLinkLocation (macOS)" id="2745" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
<serializedBean>
</group>
<action id="2350" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
- <property name="launcherId" type="string">737</property>
+ <property name="launcherId" type="string">2823</property>
<property name="scheme" type="string">jalview</property>
</serializedBean>
</action>
<action id="2822" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
- <property name="launcherId" type="string">737</property>
+ <property name="launcherId" type="string">2823</property>
<property name="scheme" type="string">jalviews</property>
</serializedBean>
</action>
<action id="2819" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
- <property name="launcherId" type="string">737</property>
+ <property name="launcherId" type="string">2823</property>
<property name="scheme" type="string">jalviewhttp</property>
</serializedBean>
</action>
<action id="2820" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
- <property name="launcherId" type="string">737</property>
+ <property name="launcherId" type="string">2823</property>
<property name="scheme" type="string">jalviewhttps</property>
</serializedBean>
</action>
<action id="2641" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
<serializedBean>
- <property name="launcherId" type="string">JALVIEW</property>
+ <property name="launcherId" type="string">2823</property>
<property name="scheme" type="string">${compiler:EXTRA_SCHEME}</property>
</serializedBean>
</action>
</screen>
<screen id="20" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" rollbackBarrierExitCode="0" finishScreen="true">
<actions>
- <action name="Linux Jalview Appname->java symlink" id="2813" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
+ <action name="macOS/Linux Jalview Appname->java symlink" id="2813" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
<serializedBean>
<property name="file">
<object class="java.io.File">
</serializedBean>
<condition>Util.isLinux()</condition>
</action>
- <action name="Linux Jalview->java symlink" id="2814" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
+ <action name="macOS/Linux Jalview->java symlink" id="2814" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
<serializedBean>
<property name="file">
<object class="java.io.File">
</serializedBean>
<condition>Util.isLinux()</condition>
</action>
- <action id="2012" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
+ <action name="USERSPACE: Create start menu item" id="2012" 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>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
+ <condition>!Util.hasFullAdminRights()
+&&
+!context.getBooleanVariable("sys.programGroupDisabled")</condition>
</action>
- <action id="573" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make desktop link">
+ <action name="USERSPACE: Add a desktop link" id="573" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make desktop link">
<serializedBean>
<property name="allUsers" type="boolean" value="false" />
<property name="description" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
</object>
</property>
</serializedBean>
- <condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
+ <condition>!Util.hasFullAdminRights()
+&&
+context.getBooleanVariable("createDesktopLinkAction")</condition>
</action>
- <action id="576" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" actionElevationType="none" rollbackBarrierExitCode="0">
+ <action name="USERSPACE: Add an executable to the dock (macOS)" id="576" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" actionElevationType="none" rollbackBarrierExitCode="0">
<serializedBean>
<property name="executable">
<object class="java.io.File">
</object>
</property>
</serializedBean>
- <condition>context.getBooleanVariable("addToDockAction")</condition>
+ <condition>!Util.hasFullAdminRights()
+&&
+context.getBooleanVariable("addToDockAction")</condition>
</action>
- <action name="Linux/Unix user symlink" id="2733" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
+ <action name="USERSPACE: Add Jalview bin to the user's path (Windows)" id="2740" 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="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>
+ </action>
+ <action name="Linux/Unix symlink" id="2733" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
<serializedBean>
<property name="file">
<object class="java.io.File">
</object>
</property>
</serializedBean>
- <condition>Util.isLinux() || Util.isUnixInstaller() || Util.isMacOS()</condition>
- </action>
- <action name="Add Jalview bin to the user's path (Windows)" id="2740" 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="value" type="string">${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}</property>
- <property name="variableName" type="string">Path</property>
- </serializedBean>
- <condition>context.getBooleanVariable("appendToPathAction")</condition>
+ <condition>(
+ Util.isLinux()
+ || Util.isUnixInstaller()
+ || Util.isMacOS()
+)</condition>
</action>
- <action name="Create Linux/Unix user symbolic link to jalview.sh in user's local bin" id="2739" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixUserBinDir}">
+ <action name="USERSPACE: Create Linux/Unix user symbolic link to jalview.sh in user's local bin" id="2739" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixUserBinDir}">
<serializedBean>
<property name="file">
<object class="java.io.File">
</object>
</property>
</serializedBean>
- <condition>context.getBooleanVariable("makeUserSymbolicLinkAction") && ( Util.isLinux() || Util.isUnixInstaller() ) && ( context.getVariable("unixUserBinDir") != null )</condition>
+ <condition>!Util.hasFullAdminRights()
+&&
+(
+ context.getBooleanVariable("makeUserSymbolicLinkAction")
+ && (
+ Util.isLinux()
+ || Util.isUnixInstaller()
+ )
+ && context.getVariable("unixUserBinDir") != null
+)</condition>
</action>
- <action name="Create macOS symbolic link to jalview in user's local bin" id="2743" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixUserBinDir}">
+ <action name="USERSPACE: Create macOS symbolic link to jalview in user's local bin" id="2743" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixUserBinDir}">
<serializedBean>
<property name="file">
<object class="java.io.File">
</object>
</property>
</serializedBean>
- <condition>context.getBooleanVariable("makeUserSymbolicLinkAction") && Util.isMacOS() && ( context.getVariable("unixUserBinDir") != null ) && ( context.getVariable("macWrapperLinkLocation") != null )</condition>
+ <condition>!Util.hasFullAdminRights()
+&&
+(
+ Util.isMacOS()
+ && context.getBooleanVariable("makeUserSymbolicLinkAction")
+ && context.getVariable("unixUserBinDir") != null
+ && context.getVariable("macWrapperLinkLocation") != null
+)</condition>
</action>
<action name="Windows copy BAT file" id="2817" beanClass="com.install4j.runtime.beans.actions.files.CopyFileAction" rollbackBarrierExitCode="0">
<serializedBean>
<formComponent name="Add a desktop link" id="574" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
<serializedBean>
<property name="checkboxText" type="string">${i18n:CreateDesktopIcon}</property>
- <property name="initiallySelected" type="boolean" value="true" />
<property name="variableName" type="string">createDesktopLinkAction</property>
</serializedBean>
<visibilityScript>!Util.isMacOS()</visibilityScript>
</serializedBean>
<visibilityScript>Util.isWindows()</visibilityScript>
</formComponent>
- <formComponent name="Make a symbolic link to jalview.sh bash script in the user's local bin (Linux or Unix)" id="2736" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
+ <formComponent name="USERSPACE: Make a symbolic link to jalview.sh bash script in the user's local bin (Linux or Unix)" id="2736" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
<serializedBean>
<property name="checkboxText" type="string">Make a ${compiler:WRAPPER_LINK} symbolic link in ${installer:unixUserBinDir}</property>
<property name="initiallySelected" type="boolean" value="true" />
<property name="variableName" type="string">makeUserSymbolicLinkAction</property>
</serializedBean>
- <visibilityScript>( Util.isLinux() || Util.isUnixInstaller() || ( Util.isMacOS() && ( context.getVariable("macWrapperLinkLocation") != null ) ) ) && ( context.getVariable("unixUserBinDir") != null )</visibilityScript>
+ <visibilityScript>!Util.hasFullAdminRights()
+&&
+(
+ Util.isLinux()
+ || Util.isUnixInstaller()
+ || (
+ Util.isMacOS()
+ && context.getVariable("macWrapperLinkLocation") != null
+ )
+ )
+ && context.getVariable("unixUserBinDir") != null</visibilityScript>
</formComponent>
</formComponents>
</screen>
</installerGui>
<mediaSets>
<windows name="Windows x64 EXE Installer" id="743" customizedId="WINDOWS-X64-EXE" mediaFileName="${compiler:APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:APPLICATION_FOLDER}" runPostProcessor="true" postProcessor="${compiler:JSIGN_SH} $EXECUTABLE" architecture="64">
- <excludedLaunchers>
- <launcher id="737" />
- </excludedLaunchers>
<excludedBeans>
<bean refId="2746" />
</excludedBeans>
</topLevelFiles>
</macosArchive>
<unixInstaller name="Linux x64 Shell Installer" id="1595" customizedId="LINUX-X64-SH" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-linux-x64-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}" customInstallBaseDir="~/opt/">
- <excludedLaunchers>
- <launcher id="737" />
- </excludedLaunchers>
<excludedBeans>
<bean refId="2746" />
</excludedBeans>
<jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_X64_JAVA_VM_TGZ}" manualJreEntry="true" />
</unixInstaller>
<unixInstaller name="Linux aarch64 Shell Installer" id="2782" customizedId="LINUX-AARCH64-SH" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-linux-aarch64-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}" customInstallBaseDir="~/opt/">
- <excludedLaunchers>
- <launcher id="737" />
- </excludedLaunchers>
<excludedBeans>
<bean refId="2746" />
</excludedBeans>
<jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_AARCH64_JAVA_VM_TGZ}" manualJreEntry="true" />
</unixInstaller>
<unixArchive name="Unix .tar.gz Archive" id="1596" customizedId="UNIX--TGZ" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}">
- <excludedLaunchers>
- <launcher id="737" />
- </excludedLaunchers>
<excludedBeans>
<bean refId="2746" />
</excludedBeans>
<jreBundle jreBundleSource="none" includedJre="${compiler:LINUX_X64_JAVA_VM_TGZ}" manualJreEntry="true" />
</unixArchive>
<unixInstaller name="Unix Shell Installer" id="2639" customizedId="UNIX--SH" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}" customInstallBaseDir="~/opt/">
- <excludedLaunchers>
- <launcher id="737" />
- </excludedLaunchers>
<excludedBeans>
<bean refId="2746" />
</excludedBeans>