1 <?xml version="1.0" encoding="UTF-8"?>
2 <install4j version="10.0.8" transformSequenceNumber="10">
3 <directoryPresets config="bin/Jalview" />
4 <application name="${compiler:JALVIEW_APPLICATION_NAME}" applicationId="${compiler:WINDOWS_APPLICATION_ID}" mediaDir="${compiler:BUILD_DIR}" lzmaCompression="true" shortName="${compiler:INTERNAL_ID}" publisher="University of Dundee" publisherWeb="https://www.jalview.org/" version="${compiler:JALVIEW_VERSION}" allPathsRelative="true" macVolumeId="5aac4968c304f65" javaMinVersion="${compiler:JAVA_MIN_VERSION}" javaMaxVersion="${compiler:JAVA_MAX_VERSION}" allowBetaVM="true" jdkMode="jdk" jdkName="JDK 11.0">
6 <directory location="${compiler:JRE_DIR}" />
8 <envVar name="JAVA_HOME" />
11 <variable name="JALVIEW_NAME" value="Jalview" />
12 <variable name="JALVIEW_APPLICATION_NAME" value="Jalview" />
13 <variable name="JALVIEW_DIR" value="../.." />
14 <variable name="BUILD_DIR" value="${compiler:JALVIEW_DIR}/build/install4j" />
15 <variable name="OSX_KEYSTORE" />
16 <variable name="OSX_APPLEID" />
17 <variable name="JSIGN_SH" value="echo" />
18 <variable name="JRE_DIR" value="jre" description="The folder under the app folder that the JRE will be either copied or unpacked into" />
19 <variable name="INSTALLER_TEMPLATE_VERSION" value="DEVELOPMENT_default" />
20 <variable name="JALVIEW_VERSION" value="DEVELOPMENT" />
21 <variable name="JAVA_MIN_VERSION" value="11" />
22 <variable name="JAVA_MAX_VERSION" value="11" />
23 <variable name="JAVA_VERSION" value="11" />
24 <variable name="JAVA_INTEGER_VERSION" value="11" />
25 <variable name="VERSION" value="DEVELOPMENT" />
26 <variable name="MACOS_X64_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-mac-x/jre" />
27 <variable name="MACOS_AARCH64_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-mac-aarch64/jre" />
28 <variable name="WINDOWS_X64_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-windows-x64/jre" />
29 <variable name="LINUX_X64_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-linux-x64/jre" />
30 <variable name="LINUX_AARCH64_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-linux-aarch64/jre" />
31 <variable name="MACOS_X64_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_mac_x64.tar.gz" />
32 <variable name="MACOS_AARCH64_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_mac_aarch64.tar.gz" />
33 <variable name="WINDOWS_X64_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_windows_x64.tar.gz" />
34 <variable name="LINUX_X64_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_linux_x64.tar.gz" />
35 <variable name="LINUX_AARCH64_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_linux_aarch64.tar.gz" />
36 <variable name="COPYRIGHT_MESSAGE" value="..." />
37 <variable name="BUNDLE_ID" value="org.jalview.jalview-desktop" />
38 <variable name="INTERNAL_ID" value="Jalview" />
39 <variable name="WINDOWS_APPLICATION_ID" value="6595-2347-1923-0725" />
40 <variable name="MACOS_X64_DMG_DS_STORE" value="utils/channels/default/images/jalview_default_dmg_DS_Store" />
41 <variable name="MACOS_AARCH64_DMG_DS_STORE" value="utils/channels/default/images/jalview_default_dmg_DS_Store" />
42 <variable name="MACOS_DMG_DS_STORE" value="utils/channels/default/images/jalview_default_dmg_DS_Store" />
43 <variable name="MACOS_DMG_BG_IMAGE" value="utils/channels/default/images/jalview_default_dmg_background-72dpi.png" />
44 <variable name="MACOS_DMG_BG_FILENAME" value="background.png" />
45 <variable name="MACOSARCHIVE_VOLUMEICON" />
46 <variable name="WRAPPER_LINK" value="jalview" />
47 <variable name="BASH_WRAPPER_SCRIPT" value="jalview.sh" />
48 <variable name="WRAPPER_SCRIPT_BIN_DIR" value="bin" />
49 <variable name="MACOSARCHIVE_X64_NAME" value="Install Jalview (Intel)" />
50 <variable name="MACOSARCHIVE_AARCH64_NAME" value="Install Jalview (Apple Silicon)" />
51 <variable name="INSTALL4J_UTILS_DIR" value="utils/install4j" />
52 <variable name="GETDOWN_CHANNEL_DIR" value="build/website/docroot/getdown/default" />
53 <variable name="GETDOWN_FILES_DIR" value="getdown/files" />
54 <variable name="GETDOWN_RESOURCE_DIR" value="resource" />
55 <variable name="GETDOWN_DIST_DIR" value="dist" />
56 <variable name="GETDOWN_ALT_DIR" value="alt" />
57 <variable name="GETDOWN_INSTALL_DIR" value="install" />
58 <variable name="INFO_PLIST_FILE_ASSOCIATIONS_FILE" value="file_associations_auto-Info_plist.xml" />
59 <variable name="APPLICATION_CATEGORIES" value="Science;Biology;Java;" />
60 <variable name="APPLICATION_FOLDER" value="Jalview" />
61 <variable name="UNIX_APPLICATION_FOLDER" value="jalview" />
62 <variable name="EXECUTABLE_NAME" value="jalviewg" />
63 <variable name="EXTRA_SCHEME" value="jalviewx" />
64 <variable name="MAC_ICONS_FILE" value="utils/channels/release/images/jalview_logo.icns" />
65 <variable name="WINDOWS_ICONS_FILE" value="utils/channels/release/images/jalview_logo.ico" />
66 <variable name="PNG_ICON_FILE" value="utils/channels/release/images/jalview_logo.png" />
67 <variable name="BACKGROUND" value="utils/channels/release/images/jalview_logo_background_fade-640x480.png" />
68 <variable name="BATCH_WRAPPER_SCRIPT" value="jalview.bat" />
69 <variable name="POWERSHELL_WRAPPER_SCRIPT" value="jalview.ps1" />
70 <variable name="WIZARD_WIDTH" value="640" description="Default/initial width of installer wizard window. Linux media types adapt this.
NOT USED" />
71 <variable name="WIZARD_HEIGHT" value="480" description="Default/initial width of installer wizard window. Linux media types adapt this.
NOT USED" />
72 <variable name="MACOSARCHIVE_X64_DMG_FILENAME" value="${compiler:APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-x64-java_${compiler:JAVA_INTEGER_VERSION}" />
73 <variable name="MACOSARCHIVE_AARCH64_DMG_FILENAME" value="${compiler:APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-aarch64-java_${compiler:JAVA_INTEGER_VERSION}" />
75 <codeSigning macEnabled="true" macPkcs12File="${compiler:OSX_KEYSTORE}" macNotarize="true" appleId="${compiler:OSX_APPLEID}">
76 <macAdditionalBinaries>
77 <entry>*.dylib</entry>
79 <entry>*.jnilib</entry>
80 <entry>unpack200</entry>
81 <entry>tnameserv</entry>
82 <entry>servertool</entry>
83 <entry>rmiregistry</entry>
85 <entry>policytool</entry>
86 <entry>pack200</entry>
88 <entry>keytool</entry>
91 <entry>jspawnhelper</entry>
92 <entry>libfreetype.dylib.6</entry>
96 <entry>jrunscript</entry>
97 <entry>libjli.dylib</entry>
98 </macAdditionalBinaries>
101 <files defaultUninstallMode="2">
103 <fileset name="Full file set" id="734" customizedId="FULL_FILE_SET" />
104 <fileset name="macOS x64 JVM" id="2801" customizedId="MACOS_X64_JVM" />
105 <fileset name="macOS aarch64 JVM" id="2803" customizedId="MACOS_AARCH64_JVM" />
108 <root id="735" fileset="734" />
109 <root id="2802" fileset="2801" />
110 <root id="2804" fileset="2803" />
113 <mountPoint id="736" root="735" />
114 <mountPoint id="2805" root="2802" />
115 <mountPoint id="2806" root="2804" />
118 <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_CHANNEL_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files">
120 <entry location="${compiler:WRAPPER_SCRIPT_BIN_DIR}" />
123 <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/examples" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="examples" />
124 <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_CHANNEL_DIR}/${compiler:JAVA_VERSION}/${compiler:WRAPPER_SCRIPT_BIN_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:WRAPPER_SCRIPT_BIN_DIR}" overrideDirMode="true" />
125 <dirEntry mountPoint="2805" file="${compiler:MACOS_X64_JAVA_VM_DIR}" overwriteMode="1" fileMode="755" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
126 <dirEntry mountPoint="2806" file="${compiler:MACOS_AARCH64_JAVA_VM_DIR}" overwriteMode="1" fileMode="755" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
129 <component name="jalview_getdown" id="1031">
131 <entry filesetId="734" />
137 <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}">
138 <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">
139 <versionInfo include="true" fileDescription="${compiler:sys.fullName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:INTERNAL_ID}" productName="${compiler:sys.fullName}" />
141 <splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}" textOverlay="true">
143 <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" />
144 <versionLine x="85" y="109" text="version ${compiler:sys.version}" />
147 <java mainClass="com.threerings.getdown.launcher.GetdownApp" vmParameters="-Dinstaller_template_version=${compiler:INSTALLER_TEMPLATE_VERSION} -Dchannel.app_name="${compiler:JALVIEW_APPLICATION_NAME}"" arguments=""${launcher:sys.launcherDirectory}" jalview">
149 <archive location="getdown-launcher.jar" />
150 <archive location="${compiler:GETDOWN_INSTALL_DIR}/getdown-launcher.jar" failOnError="false" />
152 <nativeLibraryDirectories>
153 <directory name="${compiler:JRE_DIR}/bin" />
154 <directory name="${compiler:GETDOWN_DIST_DIR}" />
155 </nativeLibraryDirectories>
157 <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
159 <file path="${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}" />
161 <macStaticAssociations>
162 <urlHandler scheme="jalview" />
163 <urlHandler scheme="jalviews" />
164 <urlHandler scheme="jalviewhttp" />
165 <urlHandler scheme="jalviewhttps" />
166 <urlHandler scheme="${compiler:EXTRA_SCHEME}" />
167 </macStaticAssociations>
170 <installerGui autoUpdateDescriptorUrl="https://www.jalview.org/install4j/updates.xml">
172 <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" styleId="35" customIcnsFile="${compiler:JALVIEW_DIR}/${compiler:MAC_ICONS_FILE}" customIcoFile="${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}">
174 <property name="frameHeight" type="int" value="480" />
175 <property name="frameWidth" type="int" value="640" />
176 <property name="useCustomIcon" type="boolean" value="true" />
179 <styleOverride name="Customize banner image" enabled="true">
180 <group id="146" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
182 <property name="backgroundColor">
183 <object class="com.install4j.runtime.beans.LightOrDarkColor">
184 <object class="java.awt.Color">
190 <object class="java.awt.Color">
198 <property name="borderSides">
199 <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
200 <property name="bottom" type="boolean" value="true" />
203 <property name="imageEdgeBackgroundColor">
204 <object class="java.awt.Color">
211 <property name="imageEdgeBorder" type="boolean" value="true" />
212 <property name="imageFile">
213 <object class="com.install4j.api.beans.ExternalFile">
214 <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
217 <property name="insets">
218 <object class="java.awt.Insets">
226 <externalParametrizationPropertyNames>
227 <propertyName>imageAnchor</propertyName>
228 <propertyName>imageEdgeBackgroundColor</propertyName>
229 <propertyName>imageFile</propertyName>
230 </externalParametrizationPropertyNames>
233 <styleOverride name="Jalview" enabled="true">
234 <formComponent name="Watermark" id="352" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0" useExternalParametrization="true" externalParametrizationName="Jalview" externalParametrizationMode="include">
236 <property name="enabledTitleText" type="boolean" value="false" />
238 <externalParametrizationPropertyNames>
239 <propertyName>labelText</propertyName>
240 </externalParametrizationPropertyNames>
245 <screen id="1" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
247 <action id="22" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0">
249 <property name="obtainIfAdminWin" type="boolean" value="false" />
252 <action name="Set unixUserBinDir (Linux or Unix)" id="2738" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
254 <property name="script">
255 <object class="com.install4j.api.beans.ScriptProperty">
256 <property name="value" type="string">String userHome = (String)context.getVariable("sys.userHome");
258 ArrayList<String> tryPaths = new ArrayList<> ();
259 tryPaths.add(userHome + File.separator + "bin");
260 tryPaths.add(userHome + File.separator + ".local" + File.separator + "bin");
261 tryPaths.add(userHome + File.separator + "local" + File.separator + "bin");
262 tryPaths.add(userHome + File.separator + "opt" + File.separator + "bin");
264 if (Util.isMacOS()) { // && root permission?
265 tryPaths.add(File.separator + "usr" + File.separator + "local" + File.separator + "bin");
268 for (int i = 0; i < tryPaths.size(); i++) {
269 String tryPath = tryPaths.get(i);
270 File unixUserBinDir = new File(tryPath);
271 if (unixUserBinDir.exists()) {
280 <property name="variableName" type="string">unixUserBinDir</property>
282 <condition>Util.isLinux() || Util.isUnixInstaller() || Util.isMacOS()</condition>
284 <action name="Set macWrapperLinkLocation (macOS)" id="2745" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
286 <property name="script">
287 <object class="com.install4j.api.beans.ScriptProperty">
288 <property name="value" type="string">String javaHome = System.getProperty("java.home");
289 String appName = ((String)context.getCompilerVariable("JALVIEW_APPLICATION_NAME")) + ".app";
290 int i = javaHome.indexOf(appName);
291 String wrapperLink = null;
293 wrapperLink = javaHome.substring(0, i) + appName + File.separator + "Contents" + File.separator + "MacOS" + File.separator + ((String)context.getCompilerVariable("WRAPPER_LINK"));
299 <property name="variableName" type="string">macWrapperLinkLocation</property>
301 <condition>Util.isMacOS()</condition>
307 <screen id="2" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" rollbackBarrierExitCode="0">
309 <styleOverride name="Customize banner image" enabled="true">
310 <group id="145" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
312 <property name="backgroundColor">
313 <object class="com.install4j.runtime.beans.LightOrDarkColor">
314 <object class="java.awt.Color">
320 <object class="java.awt.Color">
328 <property name="borderSides">
329 <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
330 <property name="bottom" type="boolean" value="true" />
333 <property name="imageEdgeBackgroundColor">
334 <object class="com.install4j.runtime.beans.LightOrDarkColor">
335 <object class="java.awt.Color">
341 <object class="java.awt.Color">
349 <property name="imageEdgeBorder" type="boolean" value="true" />
350 <property name="imageFile">
351 <object class="com.install4j.api.beans.ExternalFile">
352 <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
355 <property name="insets">
356 <object class="java.awt.Insets">
364 <externalParametrizationPropertyNames>
365 <propertyName>imageAnchor</propertyName>
366 <propertyName>imageEdgeBackgroundColor</propertyName>
367 <propertyName>imageFile</propertyName>
368 </externalParametrizationPropertyNames>
373 <action id="7" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true">
375 <property name="excludedVariables" type="array" elementType="string" length="1">
376 <element index="0">sys.installationDir</element>
379 <condition>context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
383 <formComponent id="3" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
385 <property name="labelText" type="string">${form:welcomeMessage}</property>
387 <visibilityScript>!context.isConsole()</visibilityScript>
389 <formComponent id="4" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
391 <property name="consoleScript">
392 <object class="com.install4j.api.beans.ScriptProperty">
393 <property name="value" type="string">String message = context.getMessage("ConsoleWelcomeLabel", context.getApplicationName());
394 return console.askOkCancel(message, true);
400 <formComponent id="5" beanClass="com.install4j.runtime.beans.formcomponents.UpdateAlertComponent" useExternalParametrization="true" externalParametrizationName="Update Alert" externalParametrizationMode="include">
401 <externalParametrizationPropertyNames>
402 <propertyName>updateCheck</propertyName>
403 </externalParametrizationPropertyNames>
405 <formComponent id="6" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetTop="20">
407 <property name="labelText" type="string">${i18n:ClickNext}</property>
412 <screen id="8" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" rollbackBarrierExitCode="0">
413 <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
415 <action id="11" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true">
417 <property name="excludedVariables" type="array" elementType="string" length="1">
418 <element index="0">sys.installationDir</element>
421 <condition>context.getVariable("sys.responseFile") == null</condition>
425 <formComponent id="9" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25">
427 <property name="labelText" type="string">${i18n:SelectDirLabel(${compiler:sys.fullName})}</property>
430 <formComponent id="10" beanClass="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent" useExternalParametrization="true" externalParametrizationName="Installation Directory Chooser" externalParametrizationMode="include">
432 <property name="requestFocus" type="boolean" value="true" />
434 <externalParametrizationPropertyNames>
435 <propertyName>allowSpacesOnUnix</propertyName>
436 <propertyName>checkFreeSpace</propertyName>
437 <propertyName>checkWritable</propertyName>
438 <propertyName>existingDirWarning</propertyName>
439 <propertyName>manualEntryAllowed</propertyName>
440 <propertyName>showFreeDiskSpace</propertyName>
441 <propertyName>showRequiredDiskSpace</propertyName>
442 <propertyName>standardValidation</propertyName>
443 <propertyName>suggestAppDir</propertyName>
444 <propertyName>validateApplicationId</propertyName>
445 <propertyName>validationScript</propertyName>
446 </externalParametrizationPropertyNames>
450 <screen id="12" beanClass="com.install4j.runtime.beans.screens.ComponentsScreen" enabled="false" rollbackBarrierExitCode="0">
452 <formComponent id="13" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
454 <property name="labelText" type="string">${i18n:SelectComponentsLabel2}</property>
456 <visibilityScript>!context.isConsole()</visibilityScript>
458 <formComponent id="14" beanClass="com.install4j.runtime.beans.formcomponents.ComponentSelectorComponent" useExternalParametrization="true" externalParametrizationName="Installation Components" externalParametrizationMode="include">
460 <property name="fillVertical" type="boolean" value="true" />
462 <externalParametrizationPropertyNames>
463 <propertyName>selectionChangedScript</propertyName>
464 </externalParametrizationPropertyNames>
468 <screen id="1692" beanClass="com.install4j.runtime.beans.screens.FileAssociationsScreen" rollbackBarrierExitCode="0">
470 <formComponent id="1693" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
472 <property name="labelText" type="string">${i18n:SelectAssociationsLabel}</property>
475 <formComponent id="1694" beanClass="com.install4j.runtime.beans.formcomponents.FileAssociationsComponent" useExternalParametrization="true" externalParametrizationName="File Associations" externalParametrizationMode="include">
477 <property name="fillVertical" type="boolean" value="true" />
478 <property name="selectionButtonPosition" type="enum" class="com.install4j.runtime.beans.formcomponents.VerticalDockingPosition" value="TOP" />
479 <property name="showSelectionButtons" type="boolean" value="true" />
481 <externalParametrizationPropertyNames>
482 <propertyName>showSelectionButtons</propertyName>
483 <propertyName>selectionButtonPosition</propertyName>
484 </externalParametrizationPropertyNames>
488 <screen id="15" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" rollbackBarrier="true" rollbackBarrierExitCode="0">
490 <action id="17" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" rollbackBarrierExitCode="0" failureStrategy="quit" errorMessage="${i18n:FileCorrupted}" />
491 <action name="Create program group (RELEASE)" id="18" customizedId="PROGRAM_GROUP_RELEASE" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
493 <property name="allUsers" type="boolean" value="false" />
494 <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
495 <property name="programGroupEntryConfigs">
497 <object class="com.install4j.runtime.beans.screens.components.ProgramGroupFileConfig">
498 <property name="name" type="string">Examples</property>
499 <property name="target">
500 <object class="java.io.File">
501 <string>examples</string>
507 <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
508 <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
510 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
512 <action name="Create program group (NON-RELEASE)" id="2730" customizedId="PROGRAM_GROUP_NON_RELEASE" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
514 <property name="allUsers" type="boolean" value="false" />
515 <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
516 <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
517 <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
519 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
521 <action id="19" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
523 <property name="itemName" type="string">${compiler:sys.fullName} ${compiler:sys.version}</property>
526 <action id="124" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" enabled="false" rollbackBarrierExitCode="0">
528 <property name="script">
529 <object class="com.install4j.api.beans.ScriptProperty">
530 <property name="value" type="string" />
533 <property name="variableName" type="string" />
535 <condition>true</condition>
537 <action id="134" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" enabled="false" actionElevationType="elevated" rollbackBarrierExitCode="0">
539 <property name="launcherId" type="string">121</property>
540 <property name="vmOptions" type="array" elementType="string" length="0" />
543 <group name="File Associations" id="2251" beanClass="com.install4j.runtime.beans.groups.ActionGroup">
545 <action id="2253" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
547 <property name="statusMessage" type="string">Creating file associations...</property>
548 <property name="useDetail" type="boolean" value="true" />
549 <property name="useStatus" type="boolean" value="true" />
552 <action id="2254" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
554 <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" />
557 <group name="File Associations Replacement Group" id="2753" customizedId="EXTENSIONS_REPLACED_BY_GRADLE_PARENT_GROUP" beanClass="com.install4j.runtime.beans.groups.ActionGroup">
559 <action name="EXTENSIONS_REPLACED_BY_GRADLE" id="1691" customizedId="EXTENSIONS" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
561 <property name="description" type="string">This action, identified by its name "EXTENSIONS_REPLACED_BY_GRADLE", will be replaced by gradle with the contents of file 'file_associations_auto_install4j.xml'.</property>
562 <property name="extension" type="string">extensions_to_be_replaced_by_gradle</property>
563 <property name="launcherId" type="string">JALVIEW</property>
568 <action id="2542" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
570 <property name="statusMessage" type="string">Finished creating file associations</property>
571 <property name="useDetail" type="boolean" value="true" />
572 <property name="useStatus" type="boolean" value="true" />
575 <action id="2541" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
577 <property name="percentValue" type="int" value="100" />
582 <action id="2350" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
584 <property name="launcherId" type="string">737</property>
585 <property name="scheme" type="string">jalview</property>
588 <action id="2822" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
590 <property name="launcherId" type="string">737</property>
591 <property name="scheme" type="string">jalviews</property>
594 <action id="2819" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
596 <property name="launcherId" type="string">737</property>
597 <property name="scheme" type="string">jalviewhttp</property>
600 <action id="2820" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
602 <property name="launcherId" type="string">737</property>
603 <property name="scheme" type="string">jalviewhttps</property>
606 <action id="2641" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
608 <property name="launcherId" type="string">JALVIEW</property>
609 <property name="scheme" type="string">${compiler:EXTRA_SCHEME}</property>
614 <formComponent id="16" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
616 <property name="initialStatusMessage" type="string">${i18n:WizardPreparing}</property>
621 <screen id="20" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" rollbackBarrierExitCode="0" finishScreen="true">
623 <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">
625 <property name="file">
626 <object class="java.io.File">
627 <string>${compiler:JRE_DIR}/bin/java</string>
630 <property name="linkFile">
631 <object class="java.io.File">
632 <string>${compiler:JRE_DIR}/bin/${compiler:JALVIEW_APPLICATION_NAME}</string>
635 <property name="removeOnUninstall" type="boolean" value="false" />
637 <condition>Util.isLinux()</condition>
639 <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">
641 <property name="file">
642 <object class="java.io.File">
643 <string>${compiler:JRE_DIR}/bin/java</string>
646 <property name="linkFile">
647 <object class="java.io.File">
648 <string>${compiler:JRE_DIR}/bin/${compiler:JALVIEW_NAME}</string>
651 <property name="removeOnUninstall" type="boolean" value="false" />
653 <condition>Util.isLinux()</condition>
655 <action id="2012" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
657 <property name="allUsers" type="boolean" value="false" />
658 <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
659 <property name="entryName" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
660 <property name="file">
661 <object class="java.io.File">
662 <string>${installer:sys.contentDir}/${compiler:EXECUTABLE_NAME}</string>
665 <property name="icon">
666 <object class="com.install4j.api.beans.ExternalFile">
667 <string>${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}</string>
670 <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
671 <property name="unixIconFile">
672 <object class="com.install4j.api.beans.ExternalFile">
673 <string>${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}</string>
677 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
679 <action id="573" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make desktop link">
681 <property name="allUsers" type="boolean" value="false" />
682 <property name="description" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
683 <property name="file">
684 <object class="java.io.File">
685 <string>${installer:sys.contentDir}/${compiler:EXECUTABLE_NAME}</string>
688 <property name="name" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
689 <property name="unixIconFile">
690 <object class="com.install4j.api.beans.ExternalFile">
691 <string>${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}</string>
694 <property name="winIconFile">
695 <object class="com.install4j.api.beans.ExternalFile">
696 <string>${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}</string>
700 <condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
702 <action id="576" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" actionElevationType="none" rollbackBarrierExitCode="0">
704 <property name="executable">
705 <object class="java.io.File">
706 <string>${compiler:JALVIEW_APPLICATION_NAME}.app</string>
710 <condition>context.getBooleanVariable("addToDockAction")</condition>
712 <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">
714 <property name="file">
715 <object class="java.io.File">
716 <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BASH_WRAPPER_SCRIPT}</string>
719 <property name="linkFile">
720 <object class="java.io.File">
721 <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:WRAPPER_LINK}</string>
725 <condition>Util.isLinux() || Util.isUnixInstaller() || Util.isMacOS()</condition>
727 <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">
729 <property name="type" type="enum" class="com.install4j.runtime.beans.actions.misc.ModifyStringType" value="APPEND" />
730 <property name="value" type="string">${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}</property>
731 <property name="variableName" type="string">Path</property>
733 <condition>context.getBooleanVariable("appendToPathAction")</condition>
735 <action name="Create Linux/Unix 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}">
737 <property name="file">
738 <object class="java.io.File">
739 <string>${installer:sys.contentDir}/${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BASH_WRAPPER_SCRIPT}</string>
742 <property name="linkFile">
743 <object class="java.io.File">
744 <string>${installer:unixUserBinDir}/${compiler:WRAPPER_LINK}</string>
748 <condition>context.getBooleanVariable("makeSymbolicLinkAction") && ( Util.isLinux() || Util.isUnixInstaller() ) && ( context.getVariable("unixUserBinDir") != null )</condition>
750 <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}">
752 <property name="file">
753 <object class="java.io.File">
754 <string>${installer:macWrapperLinkLocation}</string>
757 <property name="linkFile">
758 <object class="java.io.File">
759 <string>${installer:unixUserBinDir}/${compiler:WRAPPER_LINK}</string>
763 <condition>context.getBooleanVariable("makeSymbolicLinkAction") && Util.isMacOS() && ( context.getVariable("unixUserBinDir") != null ) && ( context.getVariable("macWrapperLinkLocation") != null )</condition>
765 <action name="Windows copy BAT file" id="2817" beanClass="com.install4j.runtime.beans.actions.files.CopyFileAction" rollbackBarrierExitCode="0">
767 <property name="destinationFile">
768 <object class="java.io.File">
769 <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:WRAPPER_LINK}.bat</string>
772 <property name="files" type="array" class="java.io.File" length="1">
774 <object class="java.io.File">
775 <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BATCH_WRAPPER_SCRIPT}</string>
780 <condition>Util.isWindows() && !(((String)context.getCompilerVariable("WRAPPER_LINK")+".bat").equals((String)context.getCompilerVariable("BATCH_WRAPPER_SCRIPT")))</condition>
782 <action name="Windows copy PS1 file" id="2818" beanClass="com.install4j.runtime.beans.actions.files.CopyFileAction" rollbackBarrierExitCode="0">
784 <property name="destinationFile">
785 <object class="java.io.File">
786 <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:WRAPPER_LINK}.ps1</string>
789 <property name="files" type="array" class="java.io.File" length="1">
791 <object class="java.io.File">
792 <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:POWERSHELL_WRAPPER_SCRIPT}</string>
797 <condition>Util.isWindows() && !(((String)context.getCompilerVariable("WRAPPER_LINK")+".ps1").equals((String)context.getCompilerVariable("POWERSHELL_WRAPPER_SCRIPT")))</condition>
801 <formComponent id="21" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
803 <property name="labelText" type="string">${form:finishedMessage}</property>
806 <formComponent name="Add a desktop link" id="574" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
808 <property name="checkboxText" type="string">${i18n:CreateDesktopIcon}</property>
809 <property name="initiallySelected" type="boolean" value="true" />
810 <property name="variableName" type="string">createDesktopLinkAction</property>
812 <visibilityScript>!Util.isMacOS()</visibilityScript>
814 <formComponent name="Add an executable to the dock" id="577" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
816 <property name="checkboxText" type="string">${i18n:AddToDock}</property>
817 <property name="initiallySelected" type="boolean" value="true" />
818 <property name="variableName" type="string">addToDockAction</property>
820 <visibilityScript>Util.isMacOS()</visibilityScript>
822 <formComponent name="Add jalview bin to the user's Path environment variable (Windows)" id="2734" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
824 <property name="checkboxText" type="string">Add ${compiler:JALVIEW_APPLICATION_NAME}'s bin folder to the Path environment variable</property>
825 <property name="initiallySelected" type="boolean" value="true" />
826 <property name="variableName" type="string">appendToPathAction</property>
828 <visibilityScript>Util.isWindows()</visibilityScript>
830 <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">
832 <property name="checkboxText" type="string">Make a ${compiler:WRAPPER_LINK} symbolic link in ${installer:unixUserBinDir}</property>
833 <property name="initiallySelected" type="boolean" value="true" />
834 <property name="variableName" type="string">makeSymbolicLinkAction</property>
836 <visibilityScript>( Util.isLinux() || Util.isUnixInstaller() || ( Util.isMacOS() && ( context.getVariable("macWrapperLinkLocation") != null ) ) ) && ( context.getVariable("unixUserBinDir") != null )</visibilityScript>
842 <application id="uninstaller" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" styleId="35">
844 <property name="customMacosExecutableName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
845 <property name="useCustomMacosExecutableName" type="boolean" value="true" />
848 <styleOverride name="Customize banner image" enabled="true">
849 <group id="147" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
851 <property name="backgroundColor">
852 <object class="com.install4j.runtime.beans.LightOrDarkColor">
853 <object class="java.awt.Color">
859 <object class="java.awt.Color">
867 <property name="borderSides">
868 <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
869 <property name="bottom" type="boolean" value="true" />
872 <property name="imageEdgeBackgroundColor">
873 <object class="java.awt.Color">
880 <property name="imageEdgeBorder" type="boolean" value="true" />
881 <property name="imageFile">
882 <object class="com.install4j.api.beans.ExternalFile">
883 <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
886 <property name="insets">
887 <object class="java.awt.Insets">
895 <externalParametrizationPropertyNames>
896 <propertyName>imageAnchor</propertyName>
897 <propertyName>imageEdgeBackgroundColor</propertyName>
898 <propertyName>imageFile</propertyName>
899 </externalParametrizationPropertyNames>
904 <screen id="23" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
906 <action id="33" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" />
907 <action id="34" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0" />
912 <screen id="24" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" rollbackBarrierExitCode="0">
914 <formComponent id="25" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
916 <property name="labelText" type="string">${form:welcomeMessage}</property>
918 <visibilityScript>!context.isConsole()</visibilityScript>
920 <formComponent id="26" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
922 <property name="consoleScript">
923 <object class="com.install4j.api.beans.ScriptProperty">
924 <property name="value" type="string">String message = context.getMessage("ConfirmUninstall", context.getApplicationName());
925 return console.askYesNo(message, true);
933 <screen id="27" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen" rollbackBarrierExitCode="0">
935 <action id="659" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
937 <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" />
940 <action id="29" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" rollbackBarrierExitCode="0" />
941 <action id="660" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" enabled="false" actionElevationType="none" rollbackBarrierExitCode="0">
943 <property name="percentValue" type="int" value="95" />
946 <action id="1525" beanClass="com.install4j.runtime.beans.actions.files.DeleteFileAction" rollbackBarrierExitCode="0">
948 <property name="files" type="array" class="java.io.File" length="40">
950 <object class="java.io.File">
955 <object class="java.io.File">
956 <string>jre.jar</string>
960 <object class="java.io.File">
961 <string>.install4j</string>
965 <object class="java.io.File">
966 <string>getdown-launcher.jar</string>
970 <object class="java.io.File">
971 <string>getdown-launcher-old.jar</string>
975 <object class="java.io.File">
976 <string>getdown-launcher-new.jar</string>
980 <object class="java.io.File">
981 <string>gettingdown.lock</string>
985 <object class="java.io.File">
986 <string>jre.zip</string>
990 <object class="java.io.File">
991 <string>digest.txt</string>
995 <object class="java.io.File">
996 <string>digest2.txt</string>
1000 <object class="java.io.File">
1001 <string>getdown-launcher.jarv</string>
1004 <element index="11">
1005 <object class="java.io.File">
1006 <string>getdown-launcher-new.jarv</string>
1009 <element index="12">
1010 <object class="java.io.File">
1011 <string>launcher.log</string>
1014 <element index="13">
1015 <object class="java.io.File">
1016 <string>proxy.txt</string>
1019 <element index="14">
1020 <object class="java.io.File">
1021 <string>build_properties</string>
1024 <element index="15">
1025 <object class="java.io.File">
1026 <string>channel_launch*.jvl</string>
1029 <element index="16">
1030 <object class="java.io.File">
1031 <string>jalview*.jvl</string>
1034 <element index="17">
1035 <object class="java.io.File">
1036 <string>*.jarv</string>
1039 <element index="18">
1040 <object class="java.io.File">
1041 <string>*.log</string>
1044 <element index="19">
1045 <object class="java.io.File">
1046 <string>*.txt</string>
1049 <element index="20">
1050 <object class="java.io.File">
1051 <string>*_new</string>
1054 <element index="21">
1055 <object class="java.io.File">
1056 <string>hs_err_*.*</string>
1059 <element index="22">
1060 <object class="java.io.File">
1061 <string>${compiler:GETDOWN_DIST_DIR}</string>
1064 <element index="23">
1065 <object class="java.io.File">
1066 <string>${compiler:GETDOWN_ALT_DIR}</string>
1069 <element index="24">
1070 <object class="java.io.File">
1071 <string>${compiler:GETDOWN_RESOURCE_DIR}</string>
1074 <element index="25">
1075 <object class="java.io.File">
1076 <string>META-INF</string>
1079 <element index="26">
1080 <object class="java.io.File">
1081 <string>install</string>
1084 <element index="27">
1085 <object class="java.io.File">
1086 <string>resource</string>
1089 <element index="28">
1090 <object class="java.io.File">
1091 <string>dist</string>
1094 <element index="29">
1095 <object class="java.io.File">
1096 <string>release</string>
1099 <element index="30">
1100 <object class="java.io.File">
1101 <string>alt</string>
1104 <element index="31">
1105 <object class="java.io.File">
1106 <string>dev</string>
1109 <element index="32">
1110 <object class="java.io.File">
1111 <string>build</string>
1114 <element index="33">
1115 <object class="java.io.File">
1116 <string>alt_*</string>
1119 <element index="34">
1120 <object class="java.io.File">
1121 <string>dev_*</string>
1124 <element index="35">
1125 <object class="java.io.File">
1126 <string>build_*</string>
1129 <element index="36">
1130 <object class="java.io.File">
1131 <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}</string>
1134 <element index="37">
1135 <object class="java.io.File">
1136 <string>bin</string>
1139 <element index="38">
1140 <object class="java.io.File">
1141 <string>channel.props</string>
1144 <element index="39">
1145 <object class="java.io.File">
1146 <string>channel.propsv</string>
1150 <property name="recursive" type="boolean" value="true" />
1153 <action id="1791" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
1155 <property name="percentValue" type="int" value="100" />
1160 <formComponent id="28" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
1162 <property name="initialStatusMessage" type="string">${i18n:UninstallerPreparing}</property>
1167 <screen id="32" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" rollbackBarrierExitCode="0" finishScreen="true" />
1168 <screen id="30" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" styleId="41" rollbackBarrierExitCode="0" finishScreen="true">
1170 <formComponent id="31" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
1172 <property name="labelText" type="string">${form:successMessage}</property>
1179 <application name="MacOS Setup" id="2746" beanClass="com.install4j.runtime.beans.applications.CustomApplication" fileset="734" macEntitlementsFile="${compiler:JALVIEW_DIR}/utils/osx_signing/entitlements.txt">
1181 <property name="executableDirectory">
1182 <object class="java.io.File">
1186 <property name="executableName" type="string">${compiler:WRAPPER_LINK}_setup</property>
1187 <property name="windowTitle" type="string">${compiler:sys.fullName}</property>
1190 <screen id="2747" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
1192 <link id="2749" targetId="22" />
1193 <link id="2750" targetId="2738" />
1194 <link id="2751" targetId="2745" />
1199 <screen id="2772" beanClass="com.install4j.runtime.beans.screens.FormScreen" rollbackBarrierExitCode="0" backButton="hidden" finishScreen="true">
1201 <property name="title" type="string">Running ${i18n:SetupAppTitle}</property>
1204 <link id="2778" targetId="576" />
1205 <link id="2779" targetId="2743" />
1208 <formComponent id="2773" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
1210 <property name="labelText" type="string">${i18n:FinishedLabel(${compiler:JALVIEW_APPLICATION_NAME})}</property>
1213 <formComponent name="Add an executable to the dock" id="2775" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
1215 <property name="checkboxText" type="string">${i18n:AddToDock}</property>
1216 <property name="initiallySelected" type="boolean" value="true" />
1217 <property name="variableName" type="string">addToDockAction</property>
1219 <visibilityScript>Util.isMacOS()</visibilityScript>
1221 <formComponent name="Make a symbolic link to jalview.sh bash script in the user's local bin (Linux or Unix)" id="2777" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
1223 <property name="checkboxText" type="string">Make a ${compiler:WRAPPER_LINK} symbolic link in ${installer:unixUserBinDir}</property>
1224 <property name="initiallySelected" type="boolean" value="true" />
1225 <property name="variableName" type="string">makeSymbolicLinkAction</property>
1227 <visibilityScript>( Util.isLinux() || Util.isUnixInstaller() || ( Util.isMacOS() && ( context.getVariable("macWrapperLinkLocation") != null ) ) ) && ( context.getVariable("unixUserBinDir") != null )</visibilityScript>
1229 <formComponent id="2780" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
1231 <property name="labelText" type="string">
1234 ${compiler:JALVIEW_APPLICATION_NAME} will now launch.</property>
1242 <styles defaultStyleId="35">
1243 <style name="Standard" id="35" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1245 <formComponent name="Header" id="36" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
1247 <property name="styleId" type="string">48</property>
1250 <group name="Main" id="37" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
1252 <property name="imageEdgeAxisType" type="enum" class="com.install4j.runtime.beans.formcomponents.AxisType" value="HORIZONTAL" />
1253 <property name="imageEdgeBackgroundColor">
1254 <object class="java.awt.Color">
1261 <property name="imageFile">
1262 <object class="com.install4j.api.beans.ExternalFile">
1263 <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
1266 <property name="imageOverlap" type="boolean" value="true" />
1269 <formComponent id="38" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" />
1270 <formComponent name="Watermark" id="39" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0" useExternalParametrization="true" externalParametrizationName="${compiler:JALVIEW_APPLICATION_NAME}" externalParametrizationMode="include">
1272 <property name="enabledTitleText" type="boolean" value="false" />
1274 <externalParametrizationPropertyNames>
1275 <propertyName>labelText</propertyName>
1276 </externalParametrizationPropertyNames>
1278 <formComponent name="Footer" id="40" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
1280 <property name="styleId" type="string">52</property>
1287 <style name="Banner" id="41" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1289 <group id="42" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
1291 <property name="backgroundColor">
1292 <object class="com.install4j.runtime.beans.LightOrDarkColor">
1293 <object class="java.awt.Color">
1299 <object class="java.awt.Color">
1307 <property name="borderSides">
1308 <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
1309 <property name="bottom" type="boolean" value="true" />
1312 <property name="imageEdgeBackgroundColor">
1313 <object class="com.install4j.runtime.beans.LightOrDarkColor">
1314 <object class="java.awt.Color">
1320 <object class="java.awt.Color">
1328 <property name="imageEdgeBorder" type="boolean" value="true" />
1329 <property name="imageFile">
1330 <object class="com.install4j.api.beans.ExternalFile">
1331 <string>${compiler:sys.install4jHome}/resource/styles/wizard.png</string>
1334 <property name="insets">
1335 <object class="java.awt.Insets">
1344 <formComponent id="43" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetTop="0">
1346 <property name="labelFontSizePercent" type="int" value="130" />
1347 <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
1348 <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
1351 <formComponent id="44" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
1352 <formComponent id="45" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetBottom="0" />
1354 <externalParametrizationPropertyNames>
1355 <propertyName>imageAnchor</propertyName>
1356 <propertyName>imageEdgeBackgroundColor</propertyName>
1357 <propertyName>imageFile</propertyName>
1358 </externalParametrizationPropertyNames>
1360 <formComponent id="46" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetBottom="0">
1362 <property name="styleId" type="string">52</property>
1367 <group name="Style components" id="47" beanClass="com.install4j.runtime.beans.groups.StyleGroup">
1369 <style name="Standard header" id="48" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1371 <property name="fillVertical" type="boolean" value="false" />
1372 <property name="standalone" type="boolean" value="false" />
1373 <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" />
1376 <group id="49" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include">
1378 <property name="backgroundColor">
1379 <object class="com.install4j.runtime.beans.LightOrDarkColor">
1380 <object class="java.awt.Color">
1386 <object class="java.awt.Color">
1394 <property name="borderSides">
1395 <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
1396 <property name="bottom" type="boolean" value="true" />
1399 <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
1400 <property name="imageEdgeBorderWidth" type="int" value="2" />
1401 <property name="imageFile">
1402 <object class="com.install4j.api.beans.ExternalFile">
1403 <string>icon:${installer:sys.installerApplicationMode}_header.png</string>
1406 <property name="imageInsets">
1407 <object class="java.awt.Insets">
1414 <property name="insets">
1415 <object class="java.awt.Insets">
1424 <formComponent name="Title" id="50" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent">
1426 <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
1427 <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
1430 <formComponent name="Subtitle" id="51" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetLeft="8">
1432 <property name="titleType" type="enum" class="com.install4j.runtime.beans.styles.TitleType" value="SUB_TITLE" />
1436 <externalParametrizationPropertyNames>
1437 <propertyName>backgroundColor</propertyName>
1438 <propertyName>foregroundColor</propertyName>
1439 <propertyName>imageAnchor</propertyName>
1440 <propertyName>imageFile</propertyName>
1441 <propertyName>imageOverlap</propertyName>
1442 </externalParametrizationPropertyNames>
1446 <style name="Standard footer" id="52" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1448 <property name="fillVertical" type="boolean" value="false" />
1449 <property name="standalone" type="boolean" value="false" />
1450 <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="SOUTH" />
1453 <group id="53" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup">
1455 <property name="alignFirstLabel" type="boolean" value="false" />
1456 <property name="insets">
1457 <object class="java.awt.Insets">
1466 <formComponent id="54" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" />
1467 <formComponent name="Back button" id="55" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
1469 <property name="buttonText" type="string">< ${i18n:ButtonBack}</property>
1470 <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="PREVIOUS" />
1473 <formComponent name="Next button" id="56" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
1475 <property name="buttonText" type="string">${i18n:ButtonNext} ></property>
1476 <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="NEXT" />
1479 <formComponent name="Cancel button" id="57" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" insetLeft="5">
1481 <property name="buttonText" type="string">${i18n:ButtonCancel}</property>
1482 <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="CANCEL" />
1494 <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" customInstallBaseDir="~/AppData/Local" architecture="64">
1496 <bean refId="2746" />
1499 <entry defaultFileset="true" />
1500 <entry filesetId="2801" />
1501 <entry filesetId="2803" />
1503 <jreBundle jreBundleSource="preCreated" includedJre="${compiler:WINDOWS_X64_JAVA_VM_TGZ}" manualJreEntry="true" />
1505 <macosArchive name="macOS (Intel) Disk Image" id="878" customizedId="MACOS-X64-DMG" mediaFileName="${compiler:MACOSARCHIVE_X64_DMG_FILENAME}" volumeName="${compiler:MACOSARCHIVE_X64_NAME}" launcherId="737" setupAppId="2746">
1507 <entry defaultFileset="true" />
1508 <entry filesetId="2803" />
1510 <jreBundle jreBundleSource="none" includedJre="${compiler:MACOS_X64_JAVA_VM_TGZ}" manualJreEntry="true" />
1512 <symlink name="" "" target="/Applications" />
1513 <file name=".background/${compiler:MACOS_DMG_BG_FILENAME}" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_BG_IMAGE}" />
1514 <file name=".DS_Store" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_X64_DMG_DS_STORE}" />
1515 <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-File.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-File.icns" />
1516 <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/jvl_file.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/jvl_file.icns" />
1517 <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/MacOS/${compiler:WRAPPER_LINK}" target="../Resources/app/${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BASH_WRAPPER_SCRIPT}" />
1518 <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/app/jre/Contents/Home/bin/${compiler:JALVIEW_APPLICATION_NAME}" target="java" />
1519 <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/app/jre/Contents/Home/bin/${compiler:JALVIEW_NAME}" target="java" />
1520 <file name=".VolumeIcon.icns" file="${compiler:JALVIEW_DIR}/${compiler:MACOSARCHIVE_VOLUMEICON}" />
1523 <macosArchive name="macOS (Apple Silicon) Disk Image" id="2796" customizedId="MACOS-AARCH64-DMG" mediaFileName="${compiler:MACOSARCHIVE_AARCH64_DMG_FILENAME}" volumeName="${compiler:MACOSARCHIVE_AARCH64_NAME}" architecture="aarch64" launcherId="737" setupAppId="2746">
1525 <entry defaultFileset="true" />
1526 <entry filesetId="2801" />
1528 <jreBundle jreBundleSource="none" />
1530 <symlink name="" "" target="/Applications" />
1531 <file name=".background/${compiler:MACOS_DMG_BG_FILENAME}" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_BG_IMAGE}" />
1532 <file name=".DS_Store" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_AARCH64_DMG_DS_STORE}" />
1533 <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-File.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-File.icns" />
1534 <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/jvl_file.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/jvl_file.icns" />
1535 <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/MacOS/${compiler:WRAPPER_LINK}" target="../Resources/app/${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BASH_WRAPPER_SCRIPT}" />
1536 <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/app/jre/Contents/Home/bin/${compiler:JALVIEW_APPLICATION_NAME}" target="java" />
1537 <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/app/jre/Contents/Home/bin/${compiler:JALVIEW_NAME}" target="java" />
1538 <file name=".VolumeIcon.icns" file="${compiler:JALVIEW_DIR}/${compiler:MACOSARCHIVE_VOLUMEICON}" />
1541 <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/">
1543 <bean refId="2746" />
1546 <entry defaultFileset="true" />
1547 <entry filesetId="2801" />
1548 <entry filesetId="2803" />
1551 <variable name="variable" value="720" />
1552 <variable name="WIZARD_HEIGHT" value="540" />
1554 <jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_X64_JAVA_VM_TGZ}" manualJreEntry="true" />
1556 <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/">
1558 <bean refId="2746" />
1561 <entry defaultFileset="true" />
1562 <entry filesetId="2801" />
1563 <entry filesetId="2803" />
1566 <variable name="variable" value="720" />
1567 <variable name="WIZARD_HEIGHT" value="540" />
1569 <jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_AARCH64_JAVA_VM_TGZ}" manualJreEntry="true" />
1571 <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}">
1573 <bean refId="2746" />
1576 <entry defaultFileset="true" />
1577 <entry filesetId="2801" />
1578 <entry filesetId="2803" />
1580 <jreBundle jreBundleSource="none" includedJre="${compiler:LINUX_X64_JAVA_VM_TGZ}" manualJreEntry="true" />
1582 <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/">
1584 <bean refId="2746" />
1587 <entry defaultFileset="true" />
1588 <entry filesetId="2801" />
1589 <entry filesetId="2803" />
1591 <jreBundle jreBundleSource="none" includedJre="${compiler:LINUX_X64_JAVA_VM_TGZ}" manualJreEntry="true" />
1595 <mediaSet refId="743" />
1596 <mediaSet refId="878" />
1597 <mediaSet refId="2796" />
1598 <mediaSet refId="1595" />
1599 <mediaSet refId="2782" />
1600 <mediaSet refId="1596" />
1601 <mediaSet refId="2639" />