JAL-3553 added customized labels for install4j output.txt
[jalview.git] / utils / install4j / install4j9_template.install4j
1 <?xml version="1.0" encoding="UTF-8"?>
2 <install4j version="9.0.5" transformSequenceNumber="9">
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">
5     <searchSequence>
6       <directory location="${compiler:JRE_DIR}" />
7       <registry />
8       <envVar name="JAVA_HOME" />
9     </searchSequence>
10     <variables>
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_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-mac-x64/jre" />
27       <variable name="WINDOWS_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-windows-x64/jre" />
28       <variable name="LINUX_JAVA_VM_DIR" value="${compiler:env.HOME}/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-linux-x64/jre" />
29       <variable name="MACOS_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_mac_x64.tar.gz" />
30       <variable name="WINDOWS_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_windows_x64.tar.gz" />
31       <variable name="LINUX_JAVA_VM_TGZ" value="${compiler:env.HOME}/buildtools/jre/tgz/jre_${compiler:JAVA_INTEGER_VERSION}_linux_x64.tar.gz" />
32       <variable name="COPYRIGHT_MESSAGE" value="..." />
33       <variable name="BUNDLE_ID" value="org.jalview.jalview-desktop" />
34       <variable name="INTERNAL_ID" value="Jalview" />
35       <variable name="WINDOWS_APPLICATION_ID" value="6595-2347-1923-0725" />
36       <variable name="MACOS_DMG_DS_STORE" value="jalview_dmg_DS_Store" />
37       <variable name="MACOS_DMG_BG_IMAGE" value="jalview_dmg_background-72dpi.png" />
38       <variable name="WRAPPER_LINK" value="jalview" />
39       <variable name="BASH_WRAPPER_SCRIPT" value="jalview.sh" />
40       <variable name="WRAPPER_SCRIPT_BIN_DIR" value="bin" />
41       <variable name="INSTALLER_NAME" value="Jalview Installer" />
42       <variable name="INSTALL4J_UTILS_DIR" value="utils/install4j" />
43       <variable name="GETDOWN_WEBSITE_DIR" value="getdown/website" />
44       <variable name="GETDOWN_FILES_DIR" value="getdown/files" />
45       <variable name="GETDOWN_RESOURCE_DIR" value="resource" />
46       <variable name="GETDOWN_DIST_DIR" value="dist" />
47       <variable name="GETDOWN_ALT_DIR" value="alt" />
48       <variable name="GETDOWN_INSTALL_DIR" value="install" />
49       <variable name="INFO_PLIST_FILE_ASSOCIATIONS_FILE" value="file_associations_auto-Info_plist.xml" />
50       <variable name="APPLICATION_CATEGORIES" value="Science;Biology;Java;" />
51       <variable name="APPLICATION_FOLDER" value="Jalview" />
52       <variable name="UNIX_APPLICATION_FOLDER" value="jalview" />
53       <variable name="EXECUTABLE_NAME" value="jalview" />
54       <variable name="EXTRA_SCHEME" value="jalviewx" />
55       <variable name="MAC_ICONS_FILE" value="utils/channels/release/images/jalview_logo.icns" />
56       <variable name="WINDOWS_ICONS_FILE" value="utils/channels/release/images/jalview_logo.ico" />
57       <variable name="PNG_ICON_FILE" value="utils/channels/release/images/jalview_logo.png" />
58       <variable name="BACKGROUND" value="utils/channels/release/images/jalview_logo_background_fade-640x480.png" />
59     </variables>
60     <codeSigning macEnabled="true" macPkcs12File="${compiler:OSX_KEYSTORE}" macNotarize="true" appleId="${compiler:OSX_APPLEID}">
61       <macAdditionalBinaries>
62         <entry>*.dylib</entry>
63         <entry>*.so</entry>
64         <entry>*.jnilib</entry>
65         <entry>unpack200</entry>
66         <entry>tnameserv</entry>
67         <entry>servertool</entry>
68         <entry>rmiregistry</entry>
69         <entry>rmid</entry>
70         <entry>policytool</entry>
71         <entry>pack200</entry>
72         <entry>orbd</entry>
73         <entry>keytool</entry>
74         <entry>jjs</entry>
75         <entry>java</entry>
76         <entry>jspawnhelper</entry>
77         <entry>libfreetype.dylib.6</entry>
78         <entry>applet</entry>
79         <entry>jaotc</entry>
80         <entry>jfr</entry>
81         <entry>jrunscript</entry>
82         <entry>libjli.dylib</entry>
83       </macAdditionalBinaries>
84     </codeSigning>
85   </application>
86   <files defaultUninstallMode="2" preserveSymlinks="false">
87     <filesets>
88       <fileset name="Full file set" id="734" customizedId="FULL_FILE_SET" />
89       <fileset name="Mac OS X JRE" id="880" />
90       <fileset name="Windows JRE" id="882" />
91       <fileset name="Jalview application" id="1873" />
92     </filesets>
93     <roots>
94       <root id="735" fileset="734" />
95       <root id="881" fileset="880" />
96       <root id="883" fileset="882" />
97       <root id="1874" fileset="1873" />
98     </roots>
99     <mountPoints>
100       <mountPoint id="454" />
101       <mountPoint id="736" root="735" />
102       <mountPoint id="884" root="881" />
103       <mountPoint id="885" root="883" />
104       <mountPoint id="1875" root="1874" />
105     </mountPoints>
106     <entries>
107       <dirEntry mountPoint="454" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_FILES_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
108       <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files">
109         <exclude>
110           <entry location="${compiler:WRAPPER_SCRIPT_BIN_DIR}" />
111         </exclude>
112       </dirEntry>
113       <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/examples" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="examples" />
114       <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_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" />
115       <dirEntry mountPoint="884" file="${compiler:MACOS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
116       <dirEntry mountPoint="885" file="${compiler:WINDOWS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
117       <dirEntry mountPoint="1875" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}/${compiler:GETDOWN_DIST_DIR}" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:GETDOWN_DIST_DIR}" overrideDirMode="true" />
118     </entries>
119     <components>
120       <component name="jalview_getdown" id="1031">
121         <include>
122           <entry filesetId="734" />
123         </include>
124       </component>
125       <component name="macos_java_vm" id="1155">
126         <include>
127           <entry filesetId="880" />
128         </include>
129       </component>
130       <component name="windows_java_vm" id="1156">
131         <include>
132           <entry filesetId="882" />
133         </include>
134       </component>
135       <component name="getdown" id="1276">
136         <include>
137           <entry defaultFileset="true" />
138         </include>
139       </component>
140       <component name="jalview" id="1881">
141         <include>
142           <entry filesetId="1873" />
143         </include>
144       </component>
145     </components>
146   </files>
147   <launchers>
148     <launcher name="Jalview Launcher" id="737" 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}">
149       <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">
150         <versionInfo include="true" fileDescription="${compiler:sys.fullName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:INTERNAL_ID}" productName="${compiler:sys.fullName}" />
151       </executable>
152       <splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}" textOverlay="true">
153         <text>
154           <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" />
155           <versionLine x="85" y="109" text="version ${compiler:sys.version}" />
156         </text>
157       </splashScreen>
158       <java mainClass="com.threerings.getdown.launcher.GetdownApp" vmParameters="-Dinstaller_template_version=${compiler:INSTALLER_TEMPLATE_VERSION}" arguments="&quot;${launcher:sys.launcherDirectory}&quot; jalview">
159         <classPath>
160           <archive location="getdown-launcher.jar" />
161           <archive location="${compiler:GETDOWN_INSTALL_DIR}/getdown-launcher.jar" failOnError="false" />
162         </classPath>
163       </java>
164       <macStaticAssociationActions mode="selected">
165         <id>2350</id>
166         <id>2450</id>
167         <id>2641</id>
168       </macStaticAssociationActions>
169       <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
170       <iconImageFiles>
171         <file path="${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}" />
172       </iconImageFiles>
173     </launcher>
174   </launchers>
175   <installerGui autoUpdateDescriptorUrl="https://www.jalview.org/install4j/updates.xml">
176     <applications>
177       <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}">
178         <serializedBean>
179           <property name="useCustomIcon" type="boolean" value="true" />
180         </serializedBean>
181         <styleOverrides>
182           <styleOverride name="Customize banner image" enabled="true">
183             <group id="146" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
184               <serializedBean>
185                 <property name="backgroundColor">
186                   <object class="com.install4j.runtime.beans.LightOrDarkColor">
187                     <object class="java.awt.Color">
188                       <int>255</int>
189                       <int>255</int>
190                       <int>255</int>
191                       <int>255</int>
192                     </object>
193                     <object class="java.awt.Color">
194                       <int>49</int>
195                       <int>52</int>
196                       <int>53</int>
197                       <int>255</int>
198                     </object>
199                   </object>
200                 </property>
201                 <property name="borderSides">
202                   <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
203                     <property name="bottom" type="boolean" value="true" />
204                   </object>
205                 </property>
206                 <property name="imageEdgeBackgroundColor">
207                   <object class="java.awt.Color">
208                     <int>255</int>
209                     <int>255</int>
210                     <int>255</int>
211                     <int>255</int>
212                   </object>
213                 </property>
214                 <property name="imageEdgeBorder" type="boolean" value="true" />
215                 <property name="imageFile">
216                   <object class="com.install4j.api.beans.ExternalFile">
217                     <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
218                   </object>
219                 </property>
220                 <property name="insets">
221                   <object class="java.awt.Insets">
222                     <int>5</int>
223                     <int>10</int>
224                     <int>10</int>
225                     <int>10</int>
226                   </object>
227                 </property>
228               </serializedBean>
229               <externalParametrizationPropertyNames>
230                 <propertyName>imageAnchor</propertyName>
231                 <propertyName>imageEdgeBackgroundColor</propertyName>
232                 <propertyName>imageFile</propertyName>
233               </externalParametrizationPropertyNames>
234             </group>
235           </styleOverride>
236           <styleOverride name="Jalview" enabled="true">
237             <formComponent name="Watermark" id="352" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0" useExternalParametrization="true" externalParametrizationName="Jalview" externalParametrizationMode="include">
238               <serializedBean>
239                 <property name="enabledTitleText" type="boolean" value="false" />
240               </serializedBean>
241               <externalParametrizationPropertyNames>
242                 <propertyName>labelText</propertyName>
243               </externalParametrizationPropertyNames>
244             </formComponent>
245           </styleOverride>
246         </styleOverrides>
247         <startup>
248           <screen id="1" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
249             <actions>
250               <action id="22" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0">
251                 <serializedBean>
252                   <property name="obtainIfAdminWin" type="boolean" value="false" />
253                 </serializedBean>
254               </action>
255               <action name="Set unixUserBinDir (Linux or Unix)" id="2738" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
256                 <serializedBean>
257                   <property name="script">
258                     <object class="com.install4j.api.beans.ScriptProperty">
259                       <property name="value" type="string">String userHome = (String)context.getVariable("sys.userHome");
260
261 ArrayList&lt;String&gt; tryPaths = new ArrayList&lt;&gt; ();
262 tryPaths.add(userHome + File.separator + "bin");
263 tryPaths.add(userHome + File.separator + ".local" + File.separator + "bin");
264 tryPaths.add(userHome + File.separator + "local" + File.separator + "bin");
265 tryPaths.add(userHome + File.separator + "opt" + File.separator + "bin");
266
267 if (Util.isMacOS()) { // &amp;&amp; root permission?
268     tryPaths.add(File.separator + "usr" + File.separator + "local" + File.separator + "bin"); 
269 }
270
271 for (int i = 0; i &lt; tryPaths.size(); i++) {
272     String tryPath = tryPaths.get(i);
273     File unixUserBinDir = new File(tryPath);
274     if (unixUserBinDir.exists()) {
275         return tryPath;
276     }
277 }
278
279 return null;
280 </property>
281                     </object>
282                   </property>
283                   <property name="variableName" type="string">unixUserBinDir</property>
284                 </serializedBean>
285                 <condition>Util.isLinux() || Util.isUnixInstaller() || Util.isMacOS()</condition>
286               </action>
287               <action name="Set macWrapperLinkLocation (macOS)" id="2745" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
288                 <serializedBean>
289                   <property name="script">
290                     <object class="com.install4j.api.beans.ScriptProperty">
291                       <property name="value" type="string">String javaHome = System.getProperty("java.home");
292 String appName = ((String)context.getCompilerVariable("JALVIEW_APPLICATION_NAME")) + ".app";
293 int i = javaHome.indexOf(appName);
294 String wrapperLink = null;
295 if (i &gt; -1) {
296     wrapperLink = javaHome.substring(0, i) + appName + File.separator + "Contents" + File.separator + "MacOS" + File.separator + ((String)context.getCompilerVariable("WRAPPER_LINK"));
297 }
298 return wrapperLink;
299 </property>
300                     </object>
301                   </property>
302                   <property name="variableName" type="string">macWrapperLinkLocation</property>
303                 </serializedBean>
304                 <condition>Util.isMacOS()</condition>
305               </action>
306             </actions>
307           </screen>
308         </startup>
309         <screens>
310           <screen id="2" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" rollbackBarrierExitCode="0">
311             <styleOverrides>
312               <styleOverride name="Customize banner image" enabled="true">
313                 <group id="145" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
314                   <serializedBean>
315                     <property name="backgroundColor">
316                       <object class="com.install4j.runtime.beans.LightOrDarkColor">
317                         <object class="java.awt.Color">
318                           <int>255</int>
319                           <int>255</int>
320                           <int>255</int>
321                           <int>255</int>
322                         </object>
323                         <object class="java.awt.Color">
324                           <int>49</int>
325                           <int>52</int>
326                           <int>53</int>
327                           <int>255</int>
328                         </object>
329                       </object>
330                     </property>
331                     <property name="borderSides">
332                       <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
333                         <property name="bottom" type="boolean" value="true" />
334                       </object>
335                     </property>
336                     <property name="imageEdgeBackgroundColor">
337                       <object class="com.install4j.runtime.beans.LightOrDarkColor">
338                         <object class="java.awt.Color">
339                           <int>25</int>
340                           <int>143</int>
341                           <int>220</int>
342                           <int>255</int>
343                         </object>
344                         <object class="java.awt.Color">
345                           <int>0</int>
346                           <int>74</int>
347                           <int>151</int>
348                           <int>255</int>
349                         </object>
350                       </object>
351                     </property>
352                     <property name="imageEdgeBorder" type="boolean" value="true" />
353                     <property name="imageFile">
354                       <object class="com.install4j.api.beans.ExternalFile">
355                         <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
356                       </object>
357                     </property>
358                     <property name="insets">
359                       <object class="java.awt.Insets">
360                         <int>5</int>
361                         <int>10</int>
362                         <int>10</int>
363                         <int>10</int>
364                       </object>
365                     </property>
366                   </serializedBean>
367                   <externalParametrizationPropertyNames>
368                     <propertyName>imageAnchor</propertyName>
369                     <propertyName>imageEdgeBackgroundColor</propertyName>
370                     <propertyName>imageFile</propertyName>
371                   </externalParametrizationPropertyNames>
372                 </group>
373               </styleOverride>
374             </styleOverrides>
375             <actions>
376               <action id="7" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true">
377                 <serializedBean>
378                   <property name="excludedVariables" type="array" elementType="string" length="1">
379                     <element index="0">sys.installationDir</element>
380                   </property>
381                 </serializedBean>
382                 <condition>context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
383               </action>
384             </actions>
385             <formComponents>
386               <formComponent id="3" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
387                 <serializedBean>
388                   <property name="labelText" type="string">${form:welcomeMessage}</property>
389                 </serializedBean>
390                 <visibilityScript>!context.isConsole()</visibilityScript>
391               </formComponent>
392               <formComponent id="4" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
393                 <serializedBean>
394                   <property name="consoleScript">
395                     <object class="com.install4j.api.beans.ScriptProperty">
396                       <property name="value" type="string">String message = context.getMessage("ConsoleWelcomeLabel", context.getApplicationName());
397 return console.askOkCancel(message, true);
398 </property>
399                     </object>
400                   </property>
401                 </serializedBean>
402               </formComponent>
403               <formComponent id="5" beanClass="com.install4j.runtime.beans.formcomponents.UpdateAlertComponent" useExternalParametrization="true" externalParametrizationName="Update Alert" externalParametrizationMode="include">
404                 <externalParametrizationPropertyNames>
405                   <propertyName>updateCheck</propertyName>
406                 </externalParametrizationPropertyNames>
407               </formComponent>
408               <formComponent id="6" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetTop="20">
409                 <serializedBean>
410                   <property name="labelText" type="string">${i18n:ClickNext}</property>
411                 </serializedBean>
412               </formComponent>
413             </formComponents>
414           </screen>
415           <screen id="8" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" rollbackBarrierExitCode="0">
416             <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
417             <actions>
418               <action id="11" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true">
419                 <serializedBean>
420                   <property name="excludedVariables" type="array" elementType="string" length="1">
421                     <element index="0">sys.installationDir</element>
422                   </property>
423                 </serializedBean>
424                 <condition>context.getVariable("sys.responseFile") == null</condition>
425               </action>
426             </actions>
427             <formComponents>
428               <formComponent id="9" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25">
429                 <serializedBean>
430                   <property name="labelText" type="string">${i18n:SelectDirLabel(${compiler:sys.fullName})}</property>
431                 </serializedBean>
432               </formComponent>
433               <formComponent id="10" beanClass="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent" useExternalParametrization="true" externalParametrizationName="Installation Directory Chooser" externalParametrizationMode="include">
434                 <serializedBean>
435                   <property name="requestFocus" type="boolean" value="true" />
436                 </serializedBean>
437                 <externalParametrizationPropertyNames>
438                   <propertyName>allowSpacesOnUnix</propertyName>
439                   <propertyName>checkFreeSpace</propertyName>
440                   <propertyName>checkWritable</propertyName>
441                   <propertyName>existingDirWarning</propertyName>
442                   <propertyName>manualEntryAllowed</propertyName>
443                   <propertyName>showFreeDiskSpace</propertyName>
444                   <propertyName>showRequiredDiskSpace</propertyName>
445                   <propertyName>standardValidation</propertyName>
446                   <propertyName>suggestAppDir</propertyName>
447                   <propertyName>validateApplicationId</propertyName>
448                   <propertyName>validationScript</propertyName>
449                 </externalParametrizationPropertyNames>
450               </formComponent>
451             </formComponents>
452           </screen>
453           <screen id="12" beanClass="com.install4j.runtime.beans.screens.ComponentsScreen" enabled="false" rollbackBarrierExitCode="0">
454             <formComponents>
455               <formComponent id="13" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
456                 <serializedBean>
457                   <property name="labelText" type="string">${i18n:SelectComponentsLabel2}</property>
458                 </serializedBean>
459                 <visibilityScript>!context.isConsole()</visibilityScript>
460               </formComponent>
461               <formComponent id="14" beanClass="com.install4j.runtime.beans.formcomponents.ComponentSelectorComponent" useExternalParametrization="true" externalParametrizationName="Installation Components" externalParametrizationMode="include">
462                 <serializedBean>
463                   <property name="fillVertical" type="boolean" value="true" />
464                 </serializedBean>
465                 <externalParametrizationPropertyNames>
466                   <propertyName>selectionChangedScript</propertyName>
467                 </externalParametrizationPropertyNames>
468               </formComponent>
469             </formComponents>
470           </screen>
471           <screen id="1692" beanClass="com.install4j.runtime.beans.screens.FileAssociationsScreen" rollbackBarrierExitCode="0">
472             <formComponents>
473               <formComponent id="1693" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
474                 <serializedBean>
475                   <property name="labelText" type="string">${i18n:SelectAssociationsLabel}</property>
476                 </serializedBean>
477               </formComponent>
478               <formComponent id="1694" beanClass="com.install4j.runtime.beans.formcomponents.FileAssociationsComponent" useExternalParametrization="true" externalParametrizationName="File Associations" externalParametrizationMode="include">
479                 <serializedBean>
480                   <property name="fillVertical" type="boolean" value="true" />
481                   <property name="selectionButtonPosition" type="enum" class="com.install4j.runtime.beans.formcomponents.VerticalDockingPosition" value="TOP" />
482                   <property name="showSelectionButtons" type="boolean" value="true" />
483                 </serializedBean>
484                 <externalParametrizationPropertyNames>
485                   <propertyName>showSelectionButtons</propertyName>
486                   <propertyName>selectionButtonPosition</propertyName>
487                 </externalParametrizationPropertyNames>
488               </formComponent>
489             </formComponents>
490           </screen>
491           <screen id="15" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" rollbackBarrier="true" rollbackBarrierExitCode="0">
492             <actions>
493               <action id="17" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" actionElevationType="elevated" rollbackBarrierExitCode="0" failureStrategy="quit" errorMessage="${i18n:FileCorrupted}" />
494               <action name="Create program group (RELEASE)" id="18" customizedId="PROGRAM_GROUP_RELEASE" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
495                 <serializedBean>
496                   <property name="allUsers" type="boolean" value="false" />
497                   <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
498                   <property name="programGroupEntryConfigs">
499                     <add>
500                       <object class="com.install4j.runtime.beans.screens.components.ProgramGroupFileConfig">
501                         <property name="name" type="string">Examples</property>
502                         <property name="target">
503                           <object class="java.io.File">
504                             <string>examples</string>
505                           </object>
506                         </property>
507                       </object>
508                     </add>
509                   </property>
510                   <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
511                   <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
512                 </serializedBean>
513                 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
514               </action>
515               <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">
516                 <serializedBean>
517                   <property name="allUsers" type="boolean" value="false" />
518                   <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
519                   <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
520                   <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
521                 </serializedBean>
522                 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
523               </action>
524               <action id="19" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
525                 <serializedBean>
526                   <property name="itemName" type="string">${compiler:sys.fullName} ${compiler:sys.version}</property>
527                 </serializedBean>
528               </action>
529               <action id="124" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" enabled="false" rollbackBarrierExitCode="0">
530                 <serializedBean>
531                   <property name="script">
532                     <object class="com.install4j.api.beans.ScriptProperty">
533                       <property name="value" type="string" />
534                     </object>
535                   </property>
536                   <property name="variableName" type="string" />
537                 </serializedBean>
538                 <condition>true</condition>
539               </action>
540               <action id="134" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" enabled="false" actionElevationType="elevated" rollbackBarrierExitCode="0">
541                 <serializedBean>
542                   <property name="launcherId" type="string">121</property>
543                   <property name="vmOptions" type="array" elementType="string" length="0" />
544                 </serializedBean>
545               </action>
546               <group name="File Associations" id="2251" beanClass="com.install4j.runtime.beans.groups.ActionGroup">
547                 <beans>
548                   <action id="2253" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
549                     <serializedBean>
550                       <property name="statusMessage" type="string">Creating file associations...</property>
551                       <property name="useDetail" type="boolean" value="true" />
552                       <property name="useStatus" type="boolean" value="true" />
553                     </serializedBean>
554                   </action>
555                   <action id="2254" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
556                     <serializedBean>
557                       <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" />
558                     </serializedBean>
559                   </action>
560                   <group name="File Associations Replacement Group" id="2753" customizedId="EXTENSIONS_REPLACED_BY_GRADLE_PARENT_GROUP" beanClass="com.install4j.runtime.beans.groups.ActionGroup">
561                     <beans>
562                       <action name="EXTENSIONS_REPLACED_BY_GRADLE" id="1691" customizedId="EXTENSIONS" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
563                         <serializedBean>
564                           <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>
565                           <property name="extension" type="string">extensions_to_be_replaced_by_gradle</property>
566                           <property name="launcherId" type="string">737</property>
567                         </serializedBean>
568                       </action>
569                     </beans>
570                   </group>
571                   <action id="2542" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
572                     <serializedBean>
573                       <property name="statusMessage" type="string">Finished creating file associations</property>
574                       <property name="useDetail" type="boolean" value="true" />
575                       <property name="useStatus" type="boolean" value="true" />
576                     </serializedBean>
577                   </action>
578                   <action id="2541" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
579                     <serializedBean>
580                       <property name="percentValue" type="int" value="100" />
581                     </serializedBean>
582                   </action>
583                 </beans>
584               </group>
585               <action id="2350" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
586                 <serializedBean>
587                   <property name="launcherId" type="string">737</property>
588                   <property name="scheme" type="string">jalview</property>
589                 </serializedBean>
590               </action>
591               <action id="2450" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
592                 <serializedBean>
593                   <property name="launcherId" type="string">737</property>
594                   <property name="scheme" type="string">jalviews</property>
595                 </serializedBean>
596               </action>
597               <action id="2641" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
598                 <serializedBean>
599                   <property name="launcherId" type="string">737</property>
600                   <property name="scheme" type="string">${compiler:EXTRA_SCHEME}</property>
601                 </serializedBean>
602               </action>
603             </actions>
604             <formComponents>
605               <formComponent id="16" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
606                 <serializedBean>
607                   <property name="initialStatusMessage" type="string">${i18n:WizardPreparing}</property>
608                 </serializedBean>
609               </formComponent>
610             </formComponents>
611           </screen>
612           <screen id="20" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" rollbackBarrierExitCode="0" finishScreen="true">
613             <actions>
614               <action id="2012" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
615                 <serializedBean>
616                   <property name="allUsers" type="boolean" value="false" />
617                   <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
618                   <property name="entryName" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
619                   <property name="file">
620                     <object class="java.io.File">
621                       <string>${installer:sys.contentDir}/${compiler:EXECUTABLE_NAME}</string>
622                     </object>
623                   </property>
624                   <property name="icon">
625                     <object class="com.install4j.api.beans.ExternalFile">
626                       <string>${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}</string>
627                     </object>
628                   </property>
629                   <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
630                   <property name="unixIconFile">
631                     <object class="com.install4j.api.beans.ExternalFile">
632                       <string>${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}</string>
633                     </object>
634                   </property>
635                 </serializedBean>
636                 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
637               </action>
638               <action id="573" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make desktop link">
639                 <serializedBean>
640                   <property name="allUsers" type="boolean" value="false" />
641                   <property name="description" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
642                   <property name="file">
643                     <object class="java.io.File">
644                       <string>${installer:sys.contentDir}/${compiler:EXECUTABLE_NAME}</string>
645                     </object>
646                   </property>
647                   <property name="name" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
648                   <property name="unixIconFile">
649                     <object class="com.install4j.api.beans.ExternalFile">
650                       <string>${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}</string>
651                     </object>
652                   </property>
653                   <property name="winIconFile">
654                     <object class="com.install4j.api.beans.ExternalFile">
655                       <string>${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}</string>
656                     </object>
657                   </property>
658                 </serializedBean>
659                 <condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
660               </action>
661               <action id="576" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" actionElevationType="none" rollbackBarrierExitCode="0">
662                 <serializedBean>
663                   <property name="executable">
664                     <object class="java.io.File">
665                       <string>${compiler:JALVIEW_APPLICATION_NAME}.app</string>
666                     </object>
667                   </property>
668                 </serializedBean>
669                 <condition>context.getBooleanVariable("addToDockAction")</condition>
670               </action>
671               <action name="Linux/Unix symlink" id="2733" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make symlink to wrapper script">
672                 <serializedBean>
673                   <property name="file">
674                     <object class="java.io.File">
675                       <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BASH_WRAPPER_SCRIPT}</string>
676                     </object>
677                   </property>
678                   <property name="linkFile">
679                     <object class="java.io.File">
680                       <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:WRAPPER_LINK}</string>
681                     </object>
682                   </property>
683                 </serializedBean>
684                 <condition>Util.isLinux() || Util.isUnixInstaller() || Util.isMacOS()</condition>
685               </action>
686               <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 &quot;${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}&quot; to the Path environment variable">
687                 <serializedBean>
688                   <property name="type" type="enum" class="com.install4j.runtime.beans.actions.misc.ModifyStringType" value="APPEND" />
689                   <property name="value" type="string">${installer:sys.contentDir}\${compiler:WRAPPER_SCRIPT_BIN_DIR}</property>
690                   <property name="variableName" type="string">Path</property>
691                 </serializedBean>
692                 <condition>context.getBooleanVariable("appendToPathAction")</condition>
693               </action>
694               <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" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixUserBinDir}">
695                 <serializedBean>
696                   <property name="file">
697                     <object class="java.io.File">
698                       <string>${installer:sys.contentDir}/${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BASH_WRAPPER_SCRIPT}</string>
699                     </object>
700                   </property>
701                   <property name="linkFile">
702                     <object class="java.io.File">
703                       <string>${installer:unixUserBinDir}/${compiler:WRAPPER_LINK}</string>
704                     </object>
705                   </property>
706                 </serializedBean>
707                 <condition>context.getBooleanVariable("makeSymbolicLinkAction") &amp;&amp; ( Util.isLinux() || Util.isUnixInstaller() ) &amp;&amp; ( context.getVariable("unixUserBinDir") != null )</condition>
708               </action>
709               <action name="Create macOS symbolic link to jalview in user's local bin" id="2743" beanClass="com.install4j.runtime.beans.actions.files.CreateSymlinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make a ${compiler:WRAPPER_LINK} symbolic link in ~/${installer:unixUserBinDir}">
710                 <serializedBean>
711                   <property name="file">
712                     <object class="java.io.File">
713                       <string>${installer:macWrapperLinkLocation}</string>
714                     </object>
715                   </property>
716                   <property name="linkFile">
717                     <object class="java.io.File">
718                       <string>${installer:unixUserBinDir}/${compiler:WRAPPER_LINK}</string>
719                     </object>
720                   </property>
721                 </serializedBean>
722                 <condition>context.getBooleanVariable("makeSymbolicLinkAction") &amp;&amp; Util.isMacOS() &amp;&amp; ( context.getVariable("unixUserBinDir") != null ) &amp;&amp; ( context.getVariable("macWrapperLinkLocation") != null )</condition>
723               </action>
724             </actions>
725             <formComponents>
726               <formComponent id="21" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
727                 <serializedBean>
728                   <property name="labelText" type="string">${form:finishedMessage}</property>
729                 </serializedBean>
730               </formComponent>
731               <formComponent name="Add a desktop link" id="574" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
732                 <serializedBean>
733                   <property name="checkboxText" type="string">${i18n:CreateDesktopIcon}</property>
734                   <property name="initiallySelected" type="boolean" value="true" />
735                   <property name="variableName" type="string">createDesktopLinkAction</property>
736                 </serializedBean>
737                 <visibilityScript>!Util.isMacOS()</visibilityScript>
738               </formComponent>
739               <formComponent name="Add an executable to the dock" id="577" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
740                 <serializedBean>
741                   <property name="checkboxText" type="string">${i18n:AddToDock}</property>
742                   <property name="initiallySelected" type="boolean" value="true" />
743                   <property name="variableName" type="string">addToDockAction</property>
744                 </serializedBean>
745                 <visibilityScript>Util.isMacOS()</visibilityScript>
746               </formComponent>
747               <formComponent name="Add jalview bin to the user's Path environment variable (Windows)" id="2734" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
748                 <serializedBean>
749                   <property name="checkboxText" type="string">Add ${compiler:JALVIEW_APPLICATION_NAME}'s bin folder to the Path environment variable</property>
750                   <property name="initiallySelected" type="boolean" value="true" />
751                   <property name="variableName" type="string">appendToPathAction</property>
752                 </serializedBean>
753                 <visibilityScript>Util.isWindows()</visibilityScript>
754               </formComponent>
755               <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">
756                 <serializedBean>
757                   <property name="checkboxText" type="string">Make a ${compiler:WRAPPER_LINK} symbolic link in ${installer:unixUserBinDir}</property>
758                   <property name="initiallySelected" type="boolean" value="true" />
759                   <property name="variableName" type="string">makeSymbolicLinkAction</property>
760                 </serializedBean>
761                 <visibilityScript>( Util.isLinux() || Util.isUnixInstaller() || ( Util.isMacOS() &amp;&amp; ( context.getVariable("macWrapperLinkLocation") != null ) ) ) &amp;&amp; ( context.getVariable("unixUserBinDir") != null )</visibilityScript>
762               </formComponent>
763             </formComponents>
764           </screen>
765         </screens>
766       </application>
767       <application id="uninstaller" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" styleId="35">
768         <serializedBean>
769           <property name="customMacosExecutableName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
770           <property name="useCustomMacosExecutableName" type="boolean" value="true" />
771         </serializedBean>
772         <styleOverrides>
773           <styleOverride name="Customize banner image" enabled="true">
774             <group id="147" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
775               <serializedBean>
776                 <property name="backgroundColor">
777                   <object class="com.install4j.runtime.beans.LightOrDarkColor">
778                     <object class="java.awt.Color">
779                       <int>255</int>
780                       <int>255</int>
781                       <int>255</int>
782                       <int>255</int>
783                     </object>
784                     <object class="java.awt.Color">
785                       <int>49</int>
786                       <int>52</int>
787                       <int>53</int>
788                       <int>255</int>
789                     </object>
790                   </object>
791                 </property>
792                 <property name="borderSides">
793                   <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
794                     <property name="bottom" type="boolean" value="true" />
795                   </object>
796                 </property>
797                 <property name="imageEdgeBackgroundColor">
798                   <object class="java.awt.Color">
799                     <int>192</int>
800                     <int>192</int>
801                     <int>192</int>
802                     <int>255</int>
803                   </object>
804                 </property>
805                 <property name="imageEdgeBorder" type="boolean" value="true" />
806                 <property name="imageFile">
807                   <object class="com.install4j.api.beans.ExternalFile">
808                     <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
809                   </object>
810                 </property>
811                 <property name="insets">
812                   <object class="java.awt.Insets">
813                     <int>5</int>
814                     <int>10</int>
815                     <int>10</int>
816                     <int>10</int>
817                   </object>
818                 </property>
819               </serializedBean>
820               <externalParametrizationPropertyNames>
821                 <propertyName>imageAnchor</propertyName>
822                 <propertyName>imageEdgeBackgroundColor</propertyName>
823                 <propertyName>imageFile</propertyName>
824               </externalParametrizationPropertyNames>
825             </group>
826           </styleOverride>
827         </styleOverrides>
828         <startup>
829           <screen id="23" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
830             <actions>
831               <action id="33" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" />
832               <action id="34" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0" />
833             </actions>
834           </screen>
835         </startup>
836         <screens>
837           <screen id="24" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" rollbackBarrierExitCode="0">
838             <formComponents>
839               <formComponent id="25" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
840                 <serializedBean>
841                   <property name="labelText" type="string">${form:welcomeMessage}</property>
842                 </serializedBean>
843                 <visibilityScript>!context.isConsole()</visibilityScript>
844               </formComponent>
845               <formComponent id="26" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
846                 <serializedBean>
847                   <property name="consoleScript">
848                     <object class="com.install4j.api.beans.ScriptProperty">
849                       <property name="value" type="string">String message = context.getMessage("ConfirmUninstall", context.getApplicationName());
850 return console.askYesNo(message, true);
851 </property>
852                     </object>
853                   </property>
854                 </serializedBean>
855               </formComponent>
856             </formComponents>
857           </screen>
858           <screen id="27" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen" rollbackBarrierExitCode="0">
859             <actions>
860               <action id="659" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
861                 <serializedBean>
862                   <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" />
863                 </serializedBean>
864               </action>
865               <action id="29" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" actionElevationType="elevated" rollbackBarrierExitCode="0" />
866               <action id="660" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" enabled="false" actionElevationType="none" rollbackBarrierExitCode="0">
867                 <serializedBean>
868                   <property name="percentValue" type="int" value="95" />
869                 </serializedBean>
870               </action>
871               <action id="1525" beanClass="com.install4j.runtime.beans.actions.files.DeleteFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
872                 <serializedBean>
873                   <property name="files" type="array" class="java.io.File" length="40">
874                     <element index="0">
875                       <object class="java.io.File">
876                         <string>jre</string>
877                       </object>
878                     </element>
879                     <element index="1">
880                       <object class="java.io.File">
881                         <string>jre.jar</string>
882                       </object>
883                     </element>
884                     <element index="2">
885                       <object class="java.io.File">
886                         <string>.install4j</string>
887                       </object>
888                     </element>
889                     <element index="3">
890                       <object class="java.io.File">
891                         <string>getdown-launcher.jar</string>
892                       </object>
893                     </element>
894                     <element index="4">
895                       <object class="java.io.File">
896                         <string>getdown-launcher-old.jar</string>
897                       </object>
898                     </element>
899                     <element index="5">
900                       <object class="java.io.File">
901                         <string>getdown-launcher-new.jar</string>
902                       </object>
903                     </element>
904                     <element index="6">
905                       <object class="java.io.File">
906                         <string>gettingdown.lock</string>
907                       </object>
908                     </element>
909                     <element index="7">
910                       <object class="java.io.File">
911                         <string>jre.zip</string>
912                       </object>
913                     </element>
914                     <element index="8">
915                       <object class="java.io.File">
916                         <string>digest.txt</string>
917                       </object>
918                     </element>
919                     <element index="9">
920                       <object class="java.io.File">
921                         <string>digest2.txt</string>
922                       </object>
923                     </element>
924                     <element index="10">
925                       <object class="java.io.File">
926                         <string>getdown-launcher.jarv</string>
927                       </object>
928                     </element>
929                     <element index="11">
930                       <object class="java.io.File">
931                         <string>getdown-launcher-new.jarv</string>
932                       </object>
933                     </element>
934                     <element index="12">
935                       <object class="java.io.File">
936                         <string>launcher.log</string>
937                       </object>
938                     </element>
939                     <element index="13">
940                       <object class="java.io.File">
941                         <string>proxy.txt</string>
942                       </object>
943                     </element>
944                     <element index="14">
945                       <object class="java.io.File">
946                         <string>build_properties</string>
947                       </object>
948                     </element>
949                     <element index="15">
950                       <object class="java.io.File">
951                         <string>channel_launch*.jvl</string>
952                       </object>
953                     </element>
954                     <element index="16">
955                       <object class="java.io.File">
956                         <string>jalview*.jvl</string>
957                       </object>
958                     </element>
959                     <element index="17">
960                       <object class="java.io.File">
961                         <string>*.jarv</string>
962                       </object>
963                     </element>
964                     <element index="18">
965                       <object class="java.io.File">
966                         <string>*.log</string>
967                       </object>
968                     </element>
969                     <element index="19">
970                       <object class="java.io.File">
971                         <string>*.txt</string>
972                       </object>
973                     </element>
974                     <element index="20">
975                       <object class="java.io.File">
976                         <string>*_new</string>
977                       </object>
978                     </element>
979                     <element index="21">
980                       <object class="java.io.File">
981                         <string>hs_err_*.*</string>
982                       </object>
983                     </element>
984                     <element index="22">
985                       <object class="java.io.File">
986                         <string>${compiler:GETDOWN_DIST_DIR}</string>
987                       </object>
988                     </element>
989                     <element index="23">
990                       <object class="java.io.File">
991                         <string>${compiler:GETDOWN_ALT_DIR}</string>
992                       </object>
993                     </element>
994                     <element index="24">
995                       <object class="java.io.File">
996                         <string>${compiler:GETDOWN_RESOURCE_DIR}</string>
997                       </object>
998                     </element>
999                     <element index="25">
1000                       <object class="java.io.File">
1001                         <string>META-INF</string>
1002                       </object>
1003                     </element>
1004                     <element index="26">
1005                       <object class="java.io.File">
1006                         <string>install</string>
1007                       </object>
1008                     </element>
1009                     <element index="27">
1010                       <object class="java.io.File">
1011                         <string>resource</string>
1012                       </object>
1013                     </element>
1014                     <element index="28">
1015                       <object class="java.io.File">
1016                         <string>dist</string>
1017                       </object>
1018                     </element>
1019                     <element index="29">
1020                       <object class="java.io.File">
1021                         <string>release</string>
1022                       </object>
1023                     </element>
1024                     <element index="30">
1025                       <object class="java.io.File">
1026                         <string>alt</string>
1027                       </object>
1028                     </element>
1029                     <element index="31">
1030                       <object class="java.io.File">
1031                         <string>dev</string>
1032                       </object>
1033                     </element>
1034                     <element index="32">
1035                       <object class="java.io.File">
1036                         <string>build</string>
1037                       </object>
1038                     </element>
1039                     <element index="33">
1040                       <object class="java.io.File">
1041                         <string>alt_*</string>
1042                       </object>
1043                     </element>
1044                     <element index="34">
1045                       <object class="java.io.File">
1046                         <string>dev_*</string>
1047                       </object>
1048                     </element>
1049                     <element index="35">
1050                       <object class="java.io.File">
1051                         <string>build_*</string>
1052                       </object>
1053                     </element>
1054                     <element index="36">
1055                       <object class="java.io.File">
1056                         <string>${compiler:WRAPPER_SCRIPT_BIN_DIR}</string>
1057                       </object>
1058                     </element>
1059                     <element index="37">
1060                       <object class="java.io.File">
1061                         <string>bin</string>
1062                       </object>
1063                     </element>
1064                     <element index="38">
1065                       <object class="java.io.File">
1066                         <string>channel.props</string>
1067                       </object>
1068                     </element>
1069                     <element index="39">
1070                       <object class="java.io.File">
1071                         <string>channel.propsv</string>
1072                       </object>
1073                     </element>
1074                   </property>
1075                   <property name="recursive" type="boolean" value="true" />
1076                 </serializedBean>
1077               </action>
1078               <action id="1791" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
1079                 <serializedBean>
1080                   <property name="percentValue" type="int" value="100" />
1081                 </serializedBean>
1082               </action>
1083             </actions>
1084             <formComponents>
1085               <formComponent id="28" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
1086                 <serializedBean>
1087                   <property name="initialStatusMessage" type="string">${i18n:UninstallerPreparing}</property>
1088                 </serializedBean>
1089               </formComponent>
1090             </formComponents>
1091           </screen>
1092           <screen id="32" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" rollbackBarrierExitCode="0" finishScreen="true" />
1093           <screen id="30" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" styleId="41" rollbackBarrierExitCode="0" finishScreen="true">
1094             <formComponents>
1095               <formComponent id="31" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
1096                 <serializedBean>
1097                   <property name="labelText" type="string">${form:successMessage}</property>
1098                 </serializedBean>
1099               </formComponent>
1100             </formComponents>
1101           </screen>
1102         </screens>
1103       </application>
1104       <application name="MacOS Setup" id="2746" beanClass="com.install4j.runtime.beans.applications.CustomApplication" fileset="734">
1105         <serializedBean>
1106           <property name="executableDirectory">
1107             <object class="java.io.File">
1108               <string>.</string>
1109             </object>
1110           </property>
1111           <property name="executableName" type="string">${compiler:WRAPPER_LINK}_setup</property>
1112           <property name="windowTitle" type="string">${compiler:sys.fullName}</property>
1113         </serializedBean>
1114         <startup>
1115           <screen id="2747" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
1116             <actions>
1117               <link id="2749" targetId="22" />
1118               <link id="2750" targetId="2738" />
1119               <link id="2751" targetId="2745" />
1120             </actions>
1121           </screen>
1122         </startup>
1123         <screens>
1124           <screen id="2772" beanClass="com.install4j.runtime.beans.screens.FormScreen" rollbackBarrierExitCode="0" backButton="hidden" finishScreen="true">
1125             <serializedBean>
1126               <property name="title" type="string">Running ${i18n:SetupAppTitle}</property>
1127             </serializedBean>
1128             <actions>
1129               <link id="2778" targetId="576" />
1130               <link id="2779" targetId="2743" />
1131             </actions>
1132             <formComponents>
1133               <formComponent id="2773" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
1134                 <serializedBean>
1135                   <property name="labelText" type="string">${i18n:FinishedLabel(${compiler:JALVIEW_APPLICATION_NAME})}</property>
1136                 </serializedBean>
1137               </formComponent>
1138               <formComponent name="Add an executable to the dock" id="2775" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
1139                 <serializedBean>
1140                   <property name="checkboxText" type="string">${i18n:AddToDock}</property>
1141                   <property name="initiallySelected" type="boolean" value="true" />
1142                   <property name="variableName" type="string">addToDockAction</property>
1143                 </serializedBean>
1144                 <visibilityScript>Util.isMacOS()</visibilityScript>
1145               </formComponent>
1146               <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">
1147                 <serializedBean>
1148                   <property name="checkboxText" type="string">Make a ${compiler:WRAPPER_LINK} symbolic link in ${installer:unixUserBinDir}</property>
1149                   <property name="initiallySelected" type="boolean" value="true" />
1150                   <property name="variableName" type="string">makeSymbolicLinkAction</property>
1151                 </serializedBean>
1152                 <visibilityScript>( Util.isLinux() || Util.isUnixInstaller() || ( Util.isMacOS() &amp;&amp; ( context.getVariable("macWrapperLinkLocation") != null ) ) ) &amp;&amp; ( context.getVariable("unixUserBinDir") != null )</visibilityScript>
1153               </formComponent>
1154               <formComponent id="2780" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
1155                 <serializedBean>
1156                   <property name="labelText" type="string">
1157 ${i18n:ClickFinish}
1158
1159 ${compiler:JALVIEW_APPLICATION_NAME} will now launch.</property>
1160                 </serializedBean>
1161               </formComponent>
1162             </formComponents>
1163           </screen>
1164         </screens>
1165       </application>
1166     </applications>
1167     <styles defaultStyleId="35">
1168       <style name="Standard" id="35" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1169         <formComponents>
1170           <formComponent name="Header" id="36" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
1171             <serializedBean>
1172               <property name="styleId" type="string">48</property>
1173             </serializedBean>
1174           </formComponent>
1175           <group name="Main" id="37" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
1176             <serializedBean>
1177               <property name="imageEdgeAxisType" type="enum" class="com.install4j.runtime.beans.formcomponents.AxisType" value="HORIZONTAL" />
1178               <property name="imageEdgeBackgroundColor">
1179                 <object class="java.awt.Color">
1180                   <int>255</int>
1181                   <int>255</int>
1182                   <int>255</int>
1183                   <int>255</int>
1184                 </object>
1185               </property>
1186               <property name="imageFile">
1187                 <object class="com.install4j.api.beans.ExternalFile">
1188                   <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
1189                 </object>
1190               </property>
1191               <property name="imageOverlap" type="boolean" value="true" />
1192             </serializedBean>
1193             <beans>
1194               <formComponent id="38" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" />
1195               <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">
1196                 <serializedBean>
1197                   <property name="enabledTitleText" type="boolean" value="false" />
1198                 </serializedBean>
1199                 <externalParametrizationPropertyNames>
1200                   <propertyName>labelText</propertyName>
1201                 </externalParametrizationPropertyNames>
1202               </formComponent>
1203               <formComponent name="Footer" id="40" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
1204                 <serializedBean>
1205                   <property name="styleId" type="string">52</property>
1206                 </serializedBean>
1207               </formComponent>
1208             </beans>
1209           </group>
1210         </formComponents>
1211       </style>
1212       <style name="Banner" id="41" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1213         <formComponents>
1214           <group id="42" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
1215             <serializedBean>
1216               <property name="backgroundColor">
1217                 <object class="com.install4j.runtime.beans.LightOrDarkColor">
1218                   <object class="java.awt.Color">
1219                     <int>255</int>
1220                     <int>255</int>
1221                     <int>255</int>
1222                     <int>255</int>
1223                   </object>
1224                   <object class="java.awt.Color">
1225                     <int>49</int>
1226                     <int>52</int>
1227                     <int>53</int>
1228                     <int>255</int>
1229                   </object>
1230                 </object>
1231               </property>
1232               <property name="borderSides">
1233                 <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
1234                   <property name="bottom" type="boolean" value="true" />
1235                 </object>
1236               </property>
1237               <property name="imageEdgeBackgroundColor">
1238                 <object class="com.install4j.runtime.beans.LightOrDarkColor">
1239                   <object class="java.awt.Color">
1240                     <int>25</int>
1241                     <int>143</int>
1242                     <int>220</int>
1243                     <int>255</int>
1244                   </object>
1245                   <object class="java.awt.Color">
1246                     <int>0</int>
1247                     <int>74</int>
1248                     <int>151</int>
1249                     <int>255</int>
1250                   </object>
1251                 </object>
1252               </property>
1253               <property name="imageEdgeBorder" type="boolean" value="true" />
1254               <property name="imageFile">
1255                 <object class="com.install4j.api.beans.ExternalFile">
1256                   <string>${compiler:sys.install4jHome}/resource/styles/wizard.png</string>
1257                 </object>
1258               </property>
1259               <property name="insets">
1260                 <object class="java.awt.Insets">
1261                   <int>5</int>
1262                   <int>10</int>
1263                   <int>10</int>
1264                   <int>10</int>
1265                 </object>
1266               </property>
1267             </serializedBean>
1268             <beans>
1269               <formComponent id="43" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetTop="0">
1270                 <serializedBean>
1271                   <property name="labelFontSizePercent" type="int" value="130" />
1272                   <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
1273                   <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
1274                 </serializedBean>
1275               </formComponent>
1276               <formComponent id="44" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
1277               <formComponent id="45" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetBottom="0" />
1278             </beans>
1279             <externalParametrizationPropertyNames>
1280               <propertyName>imageAnchor</propertyName>
1281               <propertyName>imageEdgeBackgroundColor</propertyName>
1282               <propertyName>imageFile</propertyName>
1283             </externalParametrizationPropertyNames>
1284           </group>
1285           <formComponent id="46" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetBottom="0">
1286             <serializedBean>
1287               <property name="styleId" type="string">52</property>
1288             </serializedBean>
1289           </formComponent>
1290         </formComponents>
1291       </style>
1292       <group name="Style components" id="47" beanClass="com.install4j.runtime.beans.groups.StyleGroup">
1293         <beans>
1294           <style name="Standard header" id="48" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1295             <serializedBean>
1296               <property name="fillVertical" type="boolean" value="false" />
1297               <property name="standalone" type="boolean" value="false" />
1298               <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" />
1299             </serializedBean>
1300             <formComponents>
1301               <group id="49" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include">
1302                 <serializedBean>
1303                   <property name="backgroundColor">
1304                     <object class="com.install4j.runtime.beans.LightOrDarkColor">
1305                       <object class="java.awt.Color">
1306                         <int>255</int>
1307                         <int>255</int>
1308                         <int>255</int>
1309                         <int>255</int>
1310                       </object>
1311                       <object class="java.awt.Color">
1312                         <int>49</int>
1313                         <int>52</int>
1314                         <int>53</int>
1315                         <int>255</int>
1316                       </object>
1317                     </object>
1318                   </property>
1319                   <property name="borderSides">
1320                     <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
1321                       <property name="bottom" type="boolean" value="true" />
1322                     </object>
1323                   </property>
1324                   <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
1325                   <property name="imageEdgeBorderWidth" type="int" value="2" />
1326                   <property name="imageFile">
1327                     <object class="com.install4j.api.beans.ExternalFile">
1328                       <string>icon:${installer:sys.installerApplicationMode}_header.png</string>
1329                     </object>
1330                   </property>
1331                   <property name="imageInsets">
1332                     <object class="java.awt.Insets">
1333                       <int>0</int>
1334                       <int>5</int>
1335                       <int>1</int>
1336                       <int>1</int>
1337                     </object>
1338                   </property>
1339                   <property name="insets">
1340                     <object class="java.awt.Insets">
1341                       <int>0</int>
1342                       <int>20</int>
1343                       <int>0</int>
1344                       <int>10</int>
1345                     </object>
1346                   </property>
1347                 </serializedBean>
1348                 <beans>
1349                   <formComponent name="Title" id="50" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent">
1350                     <serializedBean>
1351                       <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
1352                       <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
1353                     </serializedBean>
1354                   </formComponent>
1355                   <formComponent name="Subtitle" id="51" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetLeft="8">
1356                     <serializedBean>
1357                       <property name="titleType" type="enum" class="com.install4j.runtime.beans.styles.TitleType" value="SUB_TITLE" />
1358                     </serializedBean>
1359                   </formComponent>
1360                 </beans>
1361                 <externalParametrizationPropertyNames>
1362                   <propertyName>backgroundColor</propertyName>
1363                   <propertyName>foregroundColor</propertyName>
1364                   <propertyName>imageAnchor</propertyName>
1365                   <propertyName>imageFile</propertyName>
1366                   <propertyName>imageOverlap</propertyName>
1367                 </externalParametrizationPropertyNames>
1368               </group>
1369             </formComponents>
1370           </style>
1371           <style name="Standard footer" id="52" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1372             <serializedBean>
1373               <property name="fillVertical" type="boolean" value="false" />
1374               <property name="standalone" type="boolean" value="false" />
1375               <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="SOUTH" />
1376             </serializedBean>
1377             <formComponents>
1378               <group id="53" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup">
1379                 <serializedBean>
1380                   <property name="alignFirstLabel" type="boolean" value="false" />
1381                   <property name="insets">
1382                     <object class="java.awt.Insets">
1383                       <int>3</int>
1384                       <int>5</int>
1385                       <int>8</int>
1386                       <int>5</int>
1387                     </object>
1388                   </property>
1389                 </serializedBean>
1390                 <beans>
1391                   <formComponent id="54" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" />
1392                   <formComponent name="Back button" id="55" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
1393                     <serializedBean>
1394                       <property name="buttonText" type="string">&lt; ${i18n:ButtonBack}</property>
1395                       <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="PREVIOUS" />
1396                     </serializedBean>
1397                   </formComponent>
1398                   <formComponent name="Next button" id="56" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
1399                     <serializedBean>
1400                       <property name="buttonText" type="string">${i18n:ButtonNext} &gt;</property>
1401                       <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="NEXT" />
1402                     </serializedBean>
1403                   </formComponent>
1404                   <formComponent name="Cancel button" id="57" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" insetLeft="5">
1405                     <serializedBean>
1406                       <property name="buttonText" type="string">${i18n:ButtonCancel}</property>
1407                       <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="CANCEL" />
1408                     </serializedBean>
1409                   </formComponent>
1410                 </beans>
1411               </group>
1412             </formComponents>
1413           </style>
1414         </beans>
1415       </group>
1416     </styles>
1417   </installerGui>
1418   <mediaSets>
1419     <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">
1420       <excludedComponents>
1421         <component id="1155" />
1422         <component id="1156" />
1423         <component id="1276" />
1424         <component id="1881" />
1425       </excludedComponents>
1426       <exclude>
1427         <entry defaultFileset="true" />
1428         <entry filesetId="880" />
1429         <entry filesetId="882" />
1430         <entry filesetId="1873" />
1431         <entry filesetId="2105" />
1432       </exclude>
1433       <jreBundle jreBundleSource="preCreated" includedJre="${compiler:WINDOWS_JAVA_VM_TGZ}" manualJreEntry="true" />
1434     </windows>
1435     <macosArchive name="macOS Disk Image" id="878" customizedId="MACOS-X64-DMG" mediaFileName="${compiler:APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" volumeName="${compiler:INSTALLER_NAME}" launcherId="737" executeSetupApp="true" setupAppId="2746">
1436       <excludedComponents>
1437         <component id="1156" />
1438         <component id="1276" />
1439         <component id="1881" />
1440       </excludedComponents>
1441       <exclude>
1442         <entry defaultFileset="true" />
1443         <entry filesetId="882" />
1444         <entry filesetId="1873" />
1445       </exclude>
1446       <jreBundle jreBundleSource="none" />
1447       <topLevelFiles>
1448         <symlink name="&quot; &quot;" target="/Applications" />
1449         <file name=".background/jalview_dmg_background.png" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_BG_IMAGE}" />
1450         <file name=".DS_Store" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_DS_STORE}" />
1451         <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-File.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-File.icns" />
1452         <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-Launch.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-Launch.icns" />
1453         <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/MacOS/${compiler:WRAPPER_LINK}" target="../Resources/app/${compiler:WRAPPER_SCRIPT_BIN_DIR}/${compiler:BASH_WRAPPER_SCRIPT}" />
1454       </topLevelFiles>
1455     </macosArchive>
1456     <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/">
1457       <excludedComponents>
1458         <component id="1155" />
1459         <component id="1156" />
1460         <component id="1276" />
1461         <component id="1881" />
1462       </excludedComponents>
1463       <exclude>
1464         <entry defaultFileset="true" />
1465         <entry filesetId="880" />
1466         <entry filesetId="882" />
1467         <entry filesetId="1873" />
1468         <entry filesetId="2105" />
1469       </exclude>
1470       <jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
1471     </unixInstaller>
1472     <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}">
1473       <excludedComponents>
1474         <component id="1155" />
1475         <component id="1156" />
1476         <component id="1276" />
1477         <component id="1881" />
1478       </excludedComponents>
1479       <exclude>
1480         <entry defaultFileset="true" />
1481         <entry filesetId="880" />
1482         <entry filesetId="882" />
1483         <entry filesetId="1873" />
1484         <entry filesetId="2105" />
1485       </exclude>
1486       <jreBundle jreBundleSource="none" includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
1487     </unixArchive>
1488     <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/">
1489       <excludedComponents>
1490         <component id="1155" />
1491         <component id="1156" />
1492         <component id="1276" />
1493         <component id="1881" />
1494       </excludedComponents>
1495       <exclude>
1496         <entry defaultFileset="true" />
1497         <entry filesetId="880" />
1498         <entry filesetId="882" />
1499         <entry filesetId="1873" />
1500         <entry filesetId="2105" />
1501       </exclude>
1502       <jreBundle jreBundleSource="none" includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
1503     </unixInstaller>
1504   </mediaSets>
1505   <buildIds>
1506     <mediaSet refId="743" />
1507     <mediaSet refId="878" />
1508     <mediaSet refId="1595" />
1509     <mediaSet refId="1596" />
1510     <mediaSet refId="2639" />
1511   </buildIds>
1512 </install4j>